Professional Documents
Culture Documents
Nhóm 4 - Phân Tích, Thiết Kế Hệ Thống Website Tìm Kiếm Phòng Trọ
Nhóm 4 - Phân Tích, Thiết Kế Hệ Thống Website Tìm Kiếm Phòng Trọ
Nhóm 4 - Phân Tích, Thiết Kế Hệ Thống Website Tìm Kiếm Phòng Trọ
2
3.2.3. Đặc tả các ca sử dụng 23
3.2.4. Đặc tả bổ sung 39
4. PHÂN TÍCH 40
4.1. Phân tích kiến trúc 40
4.2. Phân tích các ca sử dụng 41
4.2.1. Đăng nhập 41
4.2.2. Tạo tài khoản 42
4.2.3. Cập nhật thông tin cá nhân 43
4.2.4. Duyệt phòng 43
4.2.5. Xóa phòng 45
4.2.6. Sửa phòng 46
4.2.7. Đăng phòng 47
4.2.8. Báo cáo phòng 48
4.2.9. Tìm phòng 49
4.2.10. Xem phòng 50
4.2.11. Đặt phòng 51
4.2.12. Xóa User 52
4.2.13. Xử lý báo cáo từ người dùng 53
5. THIẾT KẾ 53
5.1. Kiến trúc vật lý 54
5.2. Xác định các phần tử thiết kế 54
5.2.1. Các gói thiết kế 54
5.2.2. Các lớp thiết kế 54
5.3. Thiết kế các giao diện 56
5.3.1. Trang chủ 56
5.3.2. Đăng nhập 57
5.3.3. Trang cá nhân 57
5.3.4. Chỉnh sửa trang cá nhân 58
5.3.5. Đăng phòng 58
5.3.6. Danh sách phòng 60
5.3.7. Chi tiết phòng 61
5.4. Thiết kế các lớp 61
5.4.1. Đăng nhập 61
5.4.2. Tạo tài khoản 62
5.4.3. Cập nhật thông tin cá nhân 62
5.4.4. Duyệt phòng 62
5.4.5. Xóa phòng 64
5.4.6. Sửa phòng 65
5.4.7. Đăng phòng 66
5.4.8. Báo cáo phòng 66
3
5.4.9. Tìm phòng 67
5.4.10. Xem phòng 68
5.4.11. Đặt phòng 69
5.4.12. Xóa User 69
5.4.13. Xử lý báo cáo từ người dùng 70
5.5. Thiết kế Database 70
4
1. GIỚI THIỆU
1.1. Mục đích tài liệu
Tài liệu này là để xác định các yêu cầu phi chức năng của hệ thống như độ tin cậy,
khả năng sử dụng, hiệu suất và khả năng hỗ trợ, cũng như các yêu cầu chức năng phổ
biến trong một số trường hợp sử dụng. Từ đó xây dựng các mô hình tạo điều kiện cho
việc nắm bắt hệ thống cũng như trao đổi giữa các bên liên quan
Người có nhiệm vụ phê duyệt các bài viết trước khi chúng được đăng, xóa các bài bị
báo cáo và xóa những người dùng có hành vi lạm dụng nhằm đảm bảo rằng trang web
không có quảng cáo spam hoặc các hành vi lạm dụng.
Account
Một bản ghi về người dùng hoặc quản trị viên chứa những thông tin như họ và tên, e-
mail, địa chỉ, mật khẩu, số điện thoại ... Mỗi tài khoản có một ID người dùng và mật khẩu
riêng, được sử dụng để xác định người dùng hoặc quản trị viên và cấp cho họ truy cập
vào các phần an toàn của hệ thống.
Report
Một thông báo được gửi từ người dùng đã đăng ký đến quản trị viên về việc một bài
đăng đã vi phạm chính sách của trang web.
Room
Một phòng được đăng bởi một người dùng đã đăng ký nhằm mục đích cho thuê
phòng trọ do người dùng đó sở hữu. Một phòng chứa các thông tin về hình ảnh, địa điểm,
giá cả và mô tả của người đăng về những dịch vụ mà căn phòng đó sở hữu.
5
User
Bất kỳ người nào có tài khoản đã đăng ký trên trang web nhưng không phải là quản
trị viên. Người dùng có thể thực hiện nhiều tác vụ với tài khoản và phòng của họ.
Visitor
Một người quan tâm đến việc xem các phòng trên trang web nhưng không có tài
khoản.
Payment System
Một hệ thống cung cấp các dịch vụ thanh toán và xử lý các giao dịch.
Users và Visitors có thể tìm kiếm và xem các bài đăng trong hệ thống. Đồng thời họ
cũng có thể báo cáo các bài đăng sai phạm cho Administrators xử lý. Sau khi đăng ký tài
khoản, Users có thể đăng bài để quảng bá phòng của họ và quản lý bài đăng đó.
6
- Administrators
Administrators có trách nhiệm giám sát tất cả các tài khoản của Users và các bài đăng
của họ. Tất cả các bài đăng của Users khi đăng lên đều phải được Administrators phê
duyệt. Để đảm bảo độ tin cậy của hệ thống, Administrators có thể xem các báo cáo do
Users thực hiện, xóa các bài đăng spam và xóa những Users không chấp thuận theo yêu
cầu của hệ thống và có các hành vi lạm dụng.
Stakeholders
7
3. NẮM BẮT YÊU CẦU
3.1. Quy trình nghiệp vụ
3.1.1. Quy trình đặt phòng
8
3.1.2. Quy trình đăng phòng
9
3.1.3. Quy trình duyệt phòng
10
3.1.4. Quy trình sửa phòng
11
3.1.5. Quy trình cập nhật thông tin cá nhân
12
3.1.6. Quy trình đăng nhập
13
3.1.7. Quy trình xóa người dùng
14
3.1.8. Quy trình báo cáo bài viết
15
3.1.9. Quy trình xử lý báo cáo
16
3.1.10. Quy trình đăng ký tài khoản
17
3.1.11. Mô hình phân cấp chức năng
18
3.2. Mô hình ca sử dụng
3.2.1. Biểu đồ ca sử dụng mức tổng thể của hệ thống
19
3.2.2. Biểu đồ ca sử dụng mức chi tiết
20
3.2.2.4. Tạo tài khoản
21
3.2.2.7. Xóa phòng
22
3.2.2.10. Báo cáo phòng
23
3.2.2.13. Xóa User
Actor User
Brief Description Ca sử dụng này mô tả cách User đăng một phòng lên hệ
thống.
Basic Flows Ca sử dụng bắt đầu khi User yêu cầu đăng một phòng.
1. Hệ thống hiển thị một form và yêu cầu User nhập vào
các thông tin:
- Chủ đề
- Thể loại
- Địa chỉ
24
- Giá
- Mô tả
- Ảnh
Nếu bất kì trường thông tin bắt buộc nào không được nhập,
Alternative Flows hệ thống sẽ hiển thị một thông báo lỗi. User có thể bổ sung
thông tin trong form tạo phòng hoặc dừng việc tạo phòng,
khi đó ca sử dụng kết thúc.
Post-conditions Nếu ca sử dụng thành công, phòng được tạo và chờ được
duyệt. Nếu không, hệ thống giữ nguyên trạng thái.
Actor Administrator
25
Basic Flows Ca sử dụng bắt đầu khi Administrator xem danh sách các
phòng chưa được duyệt.
- Xoá phòng
Post-conditions Nếu ca sử dụng thành công, phòng sẽ được thay đổi trạng
thái và được đăng lên trên hệ thống hoặc bị xóa. Nếu
26
không, trạng thái của phòng không đổi
Brief Description Ca sử dụng này mô tả cách User thực hiện đặt một phòng
phù hợp với nhu cầu của họ.
Basic Flows - Ca sử dụng sẽ bắt đầu khi User bấm vào nút “Đặt
phòng” khi đang xem thông tin về phòng:
1. Hệ thống yêu cầu User lựa chọn phương thức thanh
toán,
2. User lựa chọn phương thức thanh toán, hệ thống sẽ
chuyển hướng giao diện thanh toán do Payment
System cung cấp tùy vào phương thức thanh toán đã
lựa chọn.
3. User tiến hành quá trình thanh toán.
4. Payment System xử lý việc thanh toán.
5. Nếu quá trình thanh toán thành công, hệ thống sẽ
cập nhật trạng thái của phòng thành đã được đặt.
27
- Việc thanh toán bị hủy:
Alternative Flows Trong quá trình thanh toán, User quyết định “Hủy”
bất cứ thời điểm nào, hệ thống sẽ ngừng quá trình,
ca sử dụng kết thúc.
- Xử lý việc thanh toán gặp lỗi:
Nếu Payment System gặp bất cứ lỗi nào trong quá
trình xử lý thanh toán, hệ thống sẽ hiển thị thông báo
lỗi, ca sử dụng bắt đầu lại từ đầu.
- Việc cập nhật thông tin lỗi:
Nếu việc cập nhật thông tin bị lỗi, hệ thống sẽ gửi
yêu cầu hoàn trả tiền đến Payment System. Payment
System sẽ xử lý việc hoàn trả tiền cho User.
Post-conditions Nếu ca sử dụng thành công, trạng thái của phòng trên hệ
thống sẽ thay đổi.
Special Requirements User có tài khoản thanh toán online tại các ngân hàng
Brief Description Ca sử dụng này mô tả cách User hoặc Visitor tìm kiếm
phòng phù hợp với nhu cầu của họ.
Pre-conditions Không có
28
Basic Flows Ca sử dụng bắt đầu khi User/Visitor muốn tìm kiếm phòng.
- Chủ đề
- Thể loại
- Địa chỉ
- Giá
- Mô tả
- ID người đăng
Nếu bất kì trường thông tin bắt buộc nào không được nhập,
Alternative Flows hệ thống sẽ hiển thị một thông báo lỗi. User/Visitor có thể
tùy chỉnh các thuộc tính mong muốn trong form tìm kiếm
hoặc dừng việc tìm kiếm phòng, khi đó ca sử dụng kết thúc.
Post-conditions Nếu ca sử dụng thành công, danh sách những phòng đáp
ứng được những thuộc tính đã đề ra sẽ được hiển thị.
29
Actor User, Visitor.
Pre-conditions Không có
Basic Flows - Ca sử dụng bắt đầu khi User/Visitor truy cập vào
đường link của phòng hoặc lựa chọn một phòng từ
trong danh sách các phòng đã tìm kiếm:
Hệ thống sẽ hiển thị các thông tin chi tiết về phòng
cũng như thông tin về User đã đăng phòng đó như
tên, địa chỉ, các thông tin liên lạc, …
Không có
Alternative Flows
Post-conditions Không có
30
Brief Description Ca sử dụng này mô tả cách User/Administrator đăng nhập
vào hệ thống.
Pre-conditions Hệ thống ở trạng thái cần đăng nhập và có màn hình đăng
nhập hiển thị.
Alternative Flows - Nếu nhập vào tên tài khoản và mật khẩu không hợp
lệ (thông tin sai hoặc vi phạm các ràng buộc), hệ
thống sẽ hiển thị một thông báo lỗi.
User/Administrator có thể lựa chọn bắt đầu lại quá
trình đăng nhập hoặc hủy đăng nhập, khi đó ca sử
dụng kết thúc.
- Nếu bất kì trường thông tin bắt buộc nào không
được nhập, hệ thống sẽ hiển thị một thông báo lỗi.
User/Administrator có thể tiếp tục nhập thông tin
hoặc dừng việc đăng nhập, khi đó ca sử dụng kết
thúc.
31
Special Requirements Không có
3.
Actor Visitor
Brief Description Ca sử dụng này mô tả cách Visitor tạo tài khoản trên hệ
thống.
Pre-conditions Không có
Basic Flows Ca sử dụng bắt đầu khi Visitor yêu cầu tạo tài khoản trên
website.
1. Hệ thống sẽ hiển thị một form yêu cầu người dùng nhập
vào các thông tin
- Mật khẩu.
- Họ và tên.
- Số điện thoại.
2. Khi Visitor đã cung cấp đầy đủ các thông tin được yêu
cầu, hệ thống sẽ kiểm tra để đảm bảo tên tài khoản chưa
32
được sử dụng và các trường bắt buộc được nhập đầy đủ
cũng như các ràng buộc dữ liệu đi kèm. Sau đó, hệ thống sẽ
tiến hành tạo và thêm tài khoản mới với những thông tin
trên vào trong user database
Alternative Flows - Nếu bất kì trường thông tin bắt buộc nào không
được nhập, hệ thống sẽ hiển thị một thông báo lỗi.
Visitor có thể bổ sung thông tin trong form tạo tài
khoản hoặc dừng việc tạo tài khoản, khi đó ca sử
dụng kết thúc
- Nếu như tên tài khoản người dùng nhập vào đã tồn
tại, hệ thống sẽ hiển thị một thông báo lỗi. Visitor có
thể nhập lại một tên tài khoản khác hoặc dừng việc
tạo tài khoản, khi đó ca sử dụng kết thúc
Post-conditions Nếu ca sử dụng thành công, một account mới được thêm
vào hệ thống. Nếu không, trạng thái của hệ thống sẽ giữ
nguyên.
Actor User
Brief Description Ca sử dụng này mô tả cách User cập nhật thông tin về tài
khoản của họ trong hệ thống.
33
Pre-conditions User cần phải đăng nhập vào hệ thống.
Basic Flows Ca sử dụng bắt đầu khi User yêu cầu cập nhật thông tin tài
khoản.
- Mật khẩu
- Họ và tên
- Số điện thoại
2. Khi người dùng đã cung cấp các thông tin yêu cầu, hệ
thống tiến hành kiểm tra các ràng buộc đi kèm sau đó cập
nhật thông tin về tài khoản trong user database.
Post-conditions Nếu ca sử dụng thành công, thông tin tài khoản sẽ được cập
nhật. Nếu không, trạng thái của hệ thống sẽ giữ nguyên.
34
Use Case Xóa phòng
Actor Administrator
Brief Description Ca sử dụng này cho phép Administrator xoá một phòng
khỏi hệ thống.
Pre-conditions Hệ thống ở trạng thái cần đăng nhập và có màn hình đăng
nhập hiển thị.
Basic Flows Ca sử dụng bắt đầu khi Administrator muốn xoá một phòng
trên hệ thống.
35
Special Requirements Không có
Actor User
Basic Flows Ca sử dụng bắt đầu khi User muốn chỉnh sửa phòng mà họ
đã đăng.
- Gỡ phòng
36
- Cập nhật phòng
1. User thực hiện các thay đổi thông tin của phòng.
Trong luồng phụ "Cập nhật phòng", nếu User không nhập
đủ những trường bắt buộc hoặc giá trị nhập vào không hợp
lệ, hệ thống sẽ hiển thị thông báo lỗi. Ca sử dụng tiếp tục.
Trong luồng phụ "Gỡ phòng", User quyết định hủy việc gỡ
phòng, hệ thống sẽ không xoá phòng và ca sử dụng tiếp tục.
Post-conditions Nếu ca sử dụng thành công, phòng sẽ được cập nhật thông
tin hoặc gỡ khỏi hệ thống. Nếu không, phòng sẽ không bị
thay đổi
37
Actor User
Brief Description Ca sử dụng này mô tả cách User báo cáo một phòng được
đăng trên hệ thống.
Pre-conditions User đang xem một phòng không do họ đăng và bấm vào
nút “Report".
Basic Flows Ca sử dụng bắt đầu khi User bấm vào nút "Báo cáo" khi
đang xem thông tin về phòng.
1. Hệ thống hiển thị một form và yêu cầu User giải thích lý
do cho việc báo cáo phòng ( thông tin trùng lặp, sai lệch,
…).
2. Khi User cung cấp những thông tin được yêu cầu, hệ
thống sẽ sinh 1 ngẫu nhiên 1 ID duy nhất để gán cho báo
cáo và lưu báo cáo đã tạo vào trong report database
Nếu bất kì trường thông tin bắt buộc nào không được nhập,
Alternative Flows hệ thống sẽ hiển thị một thông báo lỗi. User có thể bổ sung
thông tin trong form báo cáo hoặc dừng việc báo cáo
phòng, khi đó ca sử dụng kết thúc.
Post-conditions Nếu ca sử dụng thành công, một báo cáo được tạo ra chứa
thông tin được cung cấp bởi User, kèm theo một ID duy
nhất và ID của phòng bị báo cáo. Nếu không, hệ thống sẽ
giữ nguyên trạng thái
38
Use Case Xóa người dùng
Actor Administrator
39
Use Case Xử lý báo cáo từ người dùng
Actor Administrator
- Xóa phòng:
1. Hệ thống yêu cầu Administrator xác nhận quyết định
2. Admin xác nhận việc xóa phòng.
3. Hệ thống xóa phòng.
40
- Việc xử lý báo cáo bị hủy:
Alternative Flows Nếu trong hai luồng phụ, Administrator chọn “Hủy”,
quá trình xóa bị hủy và ca sử dụng quay lại từ đầu
Post-conditions Nếu ca sử dụng thành công, phòng hoặc báo cáo sẽ được
xóa khỏi hệ thống. Nếu không hệ thống sẽ giữ nguyên trạng
thái.
Chức năng
Những người dùng trong hệ thống phải có khả năng thực hiện công việc của mình
một cách song song.
Hệ thống phải dễ dàng để sử dụng, người dùng mới có thể học cách sử dụng trong
khoảng 1 giờ. Giao diện người dùng thân thiện, gần gũi và trực quan.
Hệ thống hỗ trợ lên tới 2000 người dùng cùng lúc truy cập vào database cũng như
100 người dùng cùng lúc truy cập vào server vào bất cứ lúc nào. Hệ thống cung cấp truy
cập tới database với độ trễ thấp hơn 5s. Hệ thống phải hoàn thành được 90% các chức
năng trong khoảng 30s.
Tính hỗ trợ
41
Không có.
4. PHÂN TÍCH
4.1. Phân tích kiến trúc
- Lớp Application : Lớp chứa các phần tử thiết kế tương ứng với từng ca sử dụng,
chính là những thành phần tương tác với người dùng, xử lý Input/Output từ người dùng.
- Lớp Business Services : Lớp chứa các thành phần nghiệp vụ chính có thể truy cập
được từ lớp Application.
- Lớp Middleware : Lớp cung cấp các dịch vụ để trao đổi dữ liệu và giao tiếp mạng.
42
4.2. Phân tích các ca sử dụng
4.2.1. Đăng nhập
43
4.2.2. Tạo tài khoản
44
4.2.3. Cập nhật thông tin cá nhân
45
4.2.4. Duyệt phòng
46
4.2.5. Xóa phòng
47
4.2.6. Sửa phòng
48
4.2.7. Đăng phòng
49
4.2.8. Báo cáo phòng
50
4.2.9. Tìm phòng
51
4.2.10. Xem phòng
52
4.2.11. Đặt phòng
53
4.2.12. Xóa User
54
4.2.13. Xử lý báo cáo từ người dùng
55
5. THIẾT KẾ
- Presentation tier : Gồm nhiều Client ( PC, Laptop, Smartphone, … ) là các thiết bị để
hiển thị, xử lý nhập xuất từ người dùng, gửi yêu cầu tới Server để thực hiện.
- Application tier : Web Server thực hiện các dịch vụ được client yêu cầu, gửi các yêu cầu
truy xuất dữ liệu tới Database Server.
- Data tier : Database Server thực hiện lưu trữ, quản lý dữ liệu, xử lý truy xuất dữ liệu
56
Lớp phân tích Phần tử thiết kế
CreateAccountController UserController
UpdateProfileController
DeleteUserController AdminController
ApproveRoomController
ProcessReportController
EditRoomController RoomController
ReportRoomController
PublishRoomController
DeleteRoomController
ViewRoomController
UpdateProfileForm
DeleteUserForm
ApproveRoomForm
ProcessReportForm
EditRoomForm
ReportRoomForm
PublishRoomForm
DeleteRoomForm
ViewRoomForm
57
5.3. Thiết kế các giao diện
5.3.1. Trang chủ
58
5.3.3. Trang cá nhân
59
5.3.5. Đăng phòng
60
61
5.3.6. Danh sách phòng
62
5.3.8. Thanh toán
63
5.4.2. Tạo tài khoản
64
5.4.4. Duyệt phòng
65
5.4.5. Xóa phòng
66
5.4.6. Sửa phòng
67
5.4.8. Báo cáo phòng
68
5.4.10. Xem phòng
69
5.4.12. Xóa User
70
5.5. Thiết kế Database
71