Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 51

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

A. THU THẬP ĐIỀU KIỆN


KHOA
I. Mô tả hệ thống bằng ngôn CÔNG
ngữ tự nhiên NGHỆ THÔNG TIN
1.1. Brainstorming 

Qua thảo luận nhóm, xác định được các thuật ngữ chính liên quan:

 Khách hàng (Người thuê nhà)


 Chủ nhà trọ (Người cho thuê nhà)
 Phòng trọ
 Hóa đơn
 Đồ dùng trong nhà
 Số điện
 Số nước BÁO CÁO BÀI TẬP LỚN
 Tiền thuê trọ
Môn học: Phân tích – Thiết kế hệ thống thông tin
 Thời gian thuê trọ
 Địa chỉ
Nhóm học phần: Nhóm 03
1.2. Danh sách
Tên đề tài: Quản lí cho thuê nhà trọ
thuật ngữ + Giải
Nhóm bài tập lớn: Nhóm 15
nghĩa Các thành viên: Nguyễn Công Huân – B19DCCN288
STT Thuật ngữ Tiếng Anh Trần Võ Linh – B19DCCN382
Giải nghĩa
Phạm Thanh Minh – B19DCAT126
Nhóm thuật ngữ liên quan đến người
Tên modul: M1 (liên quan tới khách hàng)
Một người hoặc tổ chức yêu cầu một
- Quản lí tài khoản cá nhân

1 Khách hàng Customer - Tìm,dịch


thuêvụ, thường
phòng trọ trao đổi bằng tiền mặt
- Xemvàvànhận
thanhlại
toándịch vụ đó cùng các chất
hóa đơn
Yêu cầu buổi học: Phân lượng
tích hệkèm
thốngtheo.
(Analysis)
Người sở hữu khu nhà trọ theo đúng
2 Chủ nhà trọ Owner
pháp luật, có giấy tờ kèm theo.
Nhóm thuật ngữ liên quanHà
tới Nội,
thực ngày
thể vật
23lýtháng 8 năm 2022

2
Khoảng không gian giới hạn bởi các
bức tường bao quanh, có thể có cửa sổ,
3 Phòng trọ Room bên trong có những tiện nghi hỗ trợ cho
đời sống vật chất và tinh thần của con
người.
Các tiện nghi dùng trong phòng, hỗ trợ
Đồ dùng trong Household
4 cho đời sống vật chất và tinh thần của
nhà appliances
con người.
Tập hợp thông tin, thường có số và tên
riêng, dùng để chỉ vị trí chi tiết của một
5 Địa chỉ Address
công trình (nhà, bệnh viện, trường học,
…)
Nhóm thuật ngữ liên quan tới thực thể trửu tượng
Lượng công suất điện sử dụng trong
6 Số điện Electrical usage một đơn vị thời gian xác định trước,
thường tính theo đơn vị Watt (W).
Lượng nước sử dụng trong một đơn vị
7 Số nước Water usage thời gian xác định trước, thường tính
theo đơn vị lít (l).
Quy đổi thành tiền việc sử dụng một
8 Hóa đơn Bill dịch vụ nào đó, có thể in ra hoặc gửi
điện tử.
Hóa đơn dành riêng cho việc thuê nhà
9 Tiền thuê trọ Rent bill trọ, thanh toán sau một khoảng thời gian
định kỳ ở nhà trọ.
Thời gian khách hàng ở lại nhà trọ, có
10 Thời gian thuê trọ Rent time thể được kéo dài sau khi trả đủ tiền thuê
trọ đã xác định trước.

3
II. Chi tiết hệ thống và mô tả bằng biểu đồ (sử dụng UML)
2.1. Chi tiết hệ thống
2.1.1. Mục đích

Hệ thống có dạng trang Web phục vụ công tác thuê nhà trọ của khách hàng, giúp
người cho thuê quản lý việc thuê nhà trọ của khách hàng.

2.1.2. Phạm vi hệ thống

a) Thành viên hệ thống nói chung:

- Đăng nhập

- Đăng xuất

- Thay đổi thông tin cá nhân (tên đăng nhập, mật khẩu, địa chỉ)

b) Khách hàng

- Được thực hiện các chức năng như thành viên

- Tìm và thuê phòng trọ trực tuyến

- Xem và thanh toán hóa đơn trực tuyến

- Ngừng thuê nhà

c) Chủ nhà trọ

- Quản lý phòng và đồ dùng trong phòng (bao gồm cập nhật trạng thái phòng còn trống/đã
thuê và trạng thái đồ dùng tốt/hỏng hóc)

- Thống kê đồ dùng theo trạng thái

4
- Xem số điện, số nước hàng tháng

- Lên hóa đơn

2.1.3. Hoạt động cụ thể của từng chức năng (Modul M1: Khách hàng)

a) Quản lý tài khoản cá nhân


Khách hàng đăng nhập vào hệ thống
=> Chọn chức năng xem thông tin cá nhân
=> Giao diện thông tin cá nhân hiện ra với thông tin cá nhân của khách hàng với tùy chọn
thay đổi
=> Giao diện đổi thông tin hiện ra với tùy chọn đổi tên đăng nhập, mật khẩu, địa chỉ
=> Khách hàng chọn đổi mật khẩu
=> Giao diện đổi mật khẩu hiện ra với ô điền mật khẩu cũ, ô điền mật khẩu mới và nút
xác nhận
=> Khách hàng nhập mât khẩu cũ, mật khẩu mới và nhấn xác nhận
=> Giao diện thông báo đổi thông tin thành công, trở về giao diện chính

b) Tìm và thuê phòng trọ trực tuyến


Khách hàng đăng nhập vào hệ thống
=> Chọn chức năng tìm và thuê phòng trọ
=> Danh sách phòng trọ hiện ra với các phòng sáng có trạng thái trống, các phòng đã đặt
bôi xám, bên trên có ô tìm kiếm theo tầng, mã phòng, …
=> Khách hàng thực hiện tìm phòng (nếu cần) và chọn phòng trống ưng ý, các phòng đã
đặt thì chỉ được xem, không được chọn
=> Hệ thống hiện thông tin cụ thể phòng: tầng, số phòng, trạng thái đồ dùng trong phòng,
tiền trọ cần đóng
=> Khách hàng chọn đặt phòng
=> Hệ thống hiện thông tin phòng, xác nhận đặt phòng và hộp tin nhắn để khách hàng gửi
các thông tin cần thiết cho chủ nhà (số người ở, ngày nhận phòng, …)
=> Khách hàng nhấn xác nhận nếu ưng ý
=> Hệ thống thông báo đặt phòng thành công, trở về giao diện chính
5
c) Xem và thanh toán hóa đơn hàng tháng
Khách hàng đăng nhập vào hệ thống
=> Ở giao diện chính, bấm vào thông tin cá nhân
=> Giao diện thông tin cá nhân hiện ra, bao gồm thông tin khách hàng, phòng đang thuê
(nếu có) và hóa đơn bao gồm tổng số tiền cần đóng
=> Khách hàng bấm vào hóa đơn
=> Giao diện hóa đơn hiện ra với cụ thể: tiền thuê nhà hàng tháng, số điện và tiền điện
tương ứng, số nước và tiền nước tương ứng và tổng số tiền cần trả
=> Bên dưới cùng hiện thông tin chủ nhà, số điện thoại, số tài khoản
=> Khách hàng có thể chọn thanh toán bằng tiền mặt vật lý hoặc tiền điện tử (trong ví) và
có thể thanh toán một phần hoặc toàn bộ số tiền
=> Chủ trọ cập nhật số tiền cần đóng còn lại, nếu đã đóng đủ ghi 0

2.1.4. Các đối tượng cần xử lý


- Thành viên: tên đăng nhập, họ tên, ngày sinh, giới tính, mật khẩu, địa chỉ, email, số tài
khoản (nếu có)
- Khách hàng: giống thành viên
- Chủ nhà trọ: giống thành viên
- Phòng trọ: Tầng, số phòng, mô tả
- Đồ dùng: Tên đồ dùng, số lượng
- Tiền điện: số công tơ điện, số tiền
- Tiền nước: số công tơ nước, số tiền
- Hóa đơn: tiền nhà hàng tháng, tiền điện, tiền nước
- Cách thức thanh toán: thanh toán tiền mặt hoặc thanh toán online

2.1.5. Mối quan hệ giữa các đối tượng


- Nhà trọ có nhiều phòng
- Một phòng có nhiều đồ dùng
- Một khách hàng chỉ được thuê một phòng
6
- Một phòng có thể chứa nhiều người (nhưng phải có 1 khách đại diện)
- Một hóa đơn có nhiều loại tiền phải đóng
- Khách hàng có thể chọn thanh toán

2.2. Biểu diễn bằng lược đồ UML


2.2.1. Lược đồ lớn của cả hệ thống

Mô tả:
- Tìm phòng trọ: UC cho phép khách hàng tìm các phòng trọ còn trống
- Thuê phòng trọ: UC cho phép khách hàng thuê phòng trọ ưng ý
- Xem hóa đơn: UC cho phép khách hàng xem cụ thể số tiền thuê trọ phải trả
- Lên hóa đơn: UC cho phép chủ trọ thống kê và hiện số tiền khách hàng cần trả từng
tháng
- Thống kê doanh thu: UC cho phép chủ trọ xem doanh thu cụ thể, doanh thu theo tầng,
theo phòng
- Quản lý thông tin cá nhân: UC cho phép thành viên hệ thống xem và thay đổi thông tin
cá nhân (giới hạn thay đổi tên đăng nhập, mật khẩu)
- Quản lý phòng: UC cho phép chủ trọ quản lý và cập nhật tình trạng phòng

7
- Quản lý đồ dùng: UC cho phép chủ trọ quản lý và cập nhật tình trạng đồ dùng trong
phòng (nằm trong phạm trù quản lý phòng)
- Thống kê đồ dùng thay thế: UC cho phép chủ trọ thống kê số lượng và chi tiết đồ dùng
hỏng cần thay thế
- Chốt số điện: UC cho phép chủ trọ theo dõi và thống kê số điện khách hàng đã dùng
2.2.2. Lược đồ riêng của khách hàng
a) UC quản lý thông tin cá nhân

Mô tả:
- Đăng nhập: Đề xuất UC đăng nhập
- Xem thông tin cá nhân: Đề xuất UC thông tin cá nhân
- Quản lý thông tin cá nhân: Đề xuất UC quản lý thông tin cá nhân
Không thể quản lý thông tin cá nhân mà không xem nó trước => UC xem thông tin bao
gồm quản lý thông tin.
=> Biểu đồ use case chi tiết bao gồm:
- Xem thông tin cá nhân: UC cho phép khách hàng xem thông tin cá nhân đã đăng kí
- Quản lý thông tin cá nhân: UC cho phép khách hàng thay đổi một số thông tin cá nhân
đã đăng kí

b) UC tìm và thuê phòng trọ

8
Mô tả:
- Đăng nhập: Đề xuất UC đăng nhập
- Tìm phòng trọ: Đề xuất UC thuê phòng trọ
- Thuê phỏng trọ: Đề xuất UC thuê phòng trọ
- Tìm phòng trọ và thuê phòng trọ nằm trong phạm trù tìm và thuê, do đó phải include các
UC này
- Tìm phòng trọ có thể tìm theo tầng, tìm theo số phòng, do đó UC tìm bao gồm các UC
nhỏ
- Muốn thuê phòng trọ thành công thì phòng phải có tình trạng tốt (trống + không hỏng
hóc), do đó UC thuê bao gồm UC này.

=> Biểu đồ chi tiết bao gồm:


- Tìm và thuê phòng trọ: UC cho phép khách hàng tìm và thuê phòng trọ

c) UC xem hóa đơn và thanh toán

9
Mô tả:
Biểu đồ UC chi tiết bao gồm:
- Xem thông tin cá nhân: UC cho phép khách hàng xem thông tin cá nhân đã đăng kí
- Xem phòng đang thuê: UC cho phép khách hàng xem thông tin phòng đang thuê trọ, bao
gồm cả hóa đơn
- Xem hóa đơn: UC cho phép khách hàng xem hóa đơn số tiền cần đóng
- Thanh toán: Đề xuất UC thanh toán.

- Hóa đơn nằm trong phạm trù thông tin phòng đang thuê, khách hàng có thể thanh toán
ngay => UC xem phòng đang thuê bao gồm xem hóa đơn và thanh toán

=> Biểu đồ UC chi tiết bao gồm:


- Xem hóa đơn: UC cho phép khách hàng xem hóa đơn số tiền cần đóng
- Thanh toán: UC cho phép khách hàng thanh toán tiền trọ

10
B. PHÂN TÍCH
I. Xây dựng kịch bản
1.1. Modul “Quản lí tài khoản cá nhân”
Tên kịch bản Quản lí tài khoản cá nhân
Actor Khách hàng
Điều kiện Khách hàng có tài khoản trong hệ thống
Kết quả Khách hàng đổi thông tin tài khoản cá nhân thành công (nếu cần
thiết)
Kịch bản chính 1. Khách hàng nhập mật khẩu và tài khoản, đăng nhập vào hệ thống
2. Giao diện chính hiện ra, có phần thông tin khách hàng
3. Khách hàng chọn thông tin khách hàng
4. Giao diện thông tin khách hàng hiện ra
- Thông tin cá nhân khách hàng
ID #KH02091945
Tên đăng nhập Khanhcoi098
Họ tên Nguyễn Quốc Khánh
Giới tính Nam
Ngày sinh 23/12/2001
Địa chỉ cá nhân Số 123 Khuất Duy Tiến, quận
Thanh Xuân, Hà Nội
Số điện thoại 086 257 1359
Email vietnamvidai@gmail.com
- Nút chọn “quản lí tài khoản”
5. Khách hàng chọn “quản lí tài khoản”
6. Giao diện quản lí tài khoản hiện ra
Các tùy chọn là 3 nút bấm
“Đổi tên người dùng”, “Đổi mật khẩu”, “Đổi địa chỉ”
7. Khách hàng chọn đổi mật khẩu
8. Giao diện đổi mật khẩu hiện ra

11
Mật khẩu cũ
Mật khẩu mới
Nút bấm “Xác nhận”
9. Khách hàng nhập mật khẩu cũ và mật khẩu mới, bấm Xác nhận
10. Hệ thống thông báo đổi thông tin thành công
“Đổi mật khẩu thành công”
Nút bấm OK
11. Khách hàng bấm OK
12. Hệ thống trở về giao diện thông tin tài khoản cá nhân
Ngoại lệ 7. Khách hàng đổi tên người dùng hay địa chỉ
=> Khách hàng làm y hệt như đổi mật khẩu

1.2. Modul “Tìm và thuê phòng trọ”


Tên kịch bản Tìm và thuê phòng trọ
Actor Khách hàng
Điều kiện Khách hàng có tài khoản trong hệ thống, có phòng trống
Kết quả Khách hàng thuê phòng thành công
Kịch bản chính 1. Khách hàng nhập mật khẩu và tài khoản, đăng nhập vào hệ thống
2. Giao diện chính hiện ra, có nút chọn tìm và thuê phòng trọ
3. Khách hàng chọn tìm và thuê phòng trọ
4. Giao diện tìm phòng trọ hiện ra
- Bảng danh sách các phòng trọ
STT Tầng Mã phòng Tên phòng Tình trạng
1 1 101 P101 Đã thuê
2 1 102 P102 Trống
3 1 103 P103 Trống
4 1 104 P104 Trống
5 1 105 P105 Đã thuê

12
- Ô nhập tìm kiếm theo phòng, tìm kiếm theo tầng, nút tìm
5. Khách hàng nhập số 2 vào ô tìm kiếm theo tầng, nhấn tìm
6. Giao diện hiện các phòng thuộc tầng 2
STT Tầng Mã phòng Tên phòng Tình trạng
1 2 201 P201 Có hỏng hóc
2 2 202 P202 Đã thuê
3 2 203 P203 Trống
4 2 204 P204 Trống
5 2 205 P205 Đã thuê
7. Khách hàng nhấn chọn phòng 204.
8. Giao diện thông tin phòng hiện ra
- Bảng thông tin phòng
Mã phòng – Tên phòng 204 – P204
Tầng 2
Tình trạng Trống, tốt
Tiện nghi 1 giường đơn có đệm
1 bàn (kiêm tủ sách)
1 điều hòa
1 tủ quần áo
1 bếp ga di động
Nhà tắm nóng lạnh
Wifi dùng chung tầng
- Một tấm lịch cho khách hàng chọn ngày bắt đầu thuê phòng
- Nút đặt phòng, nút quay lại
9. Khách hàng chọn ngày 26/10/2022 và nhấn đặt phòng
10. Giao diện đặt phòng hiện ra
- Bảng thông tin phòng và giá
“Bạn có chắc muốn đặt phòng này?”

13
Mã phòng 204
Tên phòng P204
Tầng 2
Tiền thuê nhà
1,500,000 VNĐ
(tháng)
Ngày bắt đầu
26/10/2022
thuê phòng
- Ô tin nhắn gửi thêm đến chủ trọ
- Nút đặt phòng, nút quay lại
11. Khách hàng viết tin nhắn (nếu cần) và chọn đặt phòng
12. Hệ thống thông báo đặt phòng thành công, hiện nút OK
13. Khách hàng nhấn OK
14. Hiện giao diện chính
Ngoại lệ 4. Tất cả các phòng đều hiện trạng thái không trống
4.1. Thông báo cho quý khách nhà trọ không còn phòng trống
- Hệ thống hiện thông báo
“Xin lỗi quý khách, nhà trọ đã đầy!”
- Hiện nút OK
4.2. Khách hàng nhấn OK
4.3. Hệ thống trở về giao diện chính

6. Tầng đã đầy phòng nhưng các tầng khác vẫn còn


6.1. Thông báo cho quý khách
- “Xin lỗi quý khách, tầng đã đầy phòng. Quý khách vui lòng chọn
tầng khác”
- Nút OK
6.2. Khách hàng nhấn OK
6.3. Hệ thống trở về giao diện tìm phòng
6.4. Khách hàng chọn tầng khác và thực hiện đặt phòng như bình

14
thường

9. Khách hàng chọn ngày không hợp lệ (vd: chọn 1 ngày trong quá
khứ, vd 20/8/2021
9.1. Hệ thống thông báo cho khách hàng
- Thông báo
“Ngày mà quý khách đặt không hợp lệ. Vui lòng thử lại”
- Nút OK
9.2. Khách hàng nhấn OK
9.3. Hệ thống trở về giao diện thông tin phòng
9.4. Khách hàng đặt ngày hợp lệ và tiến hành đặt phòng như bình
thường

1.3. Modul “Xem và thanh toán hóa đơn”


Tên kịch bản Xem và thanh toán hóa đơn
Actor Khách hàng, chủ trọ
Điều kiện Khách hàng có tài khoản trong hệ thống, đã thuê trọ
Kết quả Khách hàng thanh toán thành công
Kịch bản chính 1. Khách hàng nhập mật khẩu và tài khoản, đăng nhập vào hệ thống
2. Giao diện chính hiện ra, có phần thông tin khách hàng
3. Khách hàng chọn thông tin khách hàng
4. Giao diện thông tin khách hàng hiện ra
- Thông tin cá nhân khách hàng
ID #KH02091945
Tên đăng nhập Khanhcoi098
Họ tên Nguyễn Quốc Khánh
Giới tính Nam
Ngày sinh 23/12/2001
Địa chỉ cá nhân Số 123 Khuất Duy Tiến, quận

15
Thanh Xuân, Hà Nội
Số điện thoại 086 257 1359
Email vietnamvidai@gmail.com
- Nút chọn “phòng đang thuê”
5. Khách hàng chọn nút phòng đang thuê
6. Giao diện thông tin khách hàng với phòng đang thuê
- Giao diện phòng với hóa đơn đi kèm
Mã phòng 204
Tên phòng P204
Tầng 2
Tiền thuê nhà (tháng) 1,500,000 VNĐ
Tiền điện (tháng) 180,000 VNĐ
Tiền nước (tháng) 220,000 VNĐ
Số tiền còn lại 1,900,000 VNĐ
phải đóng
- Các nút “Thanh toán”, “Cập nhật” và “Trở về”
7. Khách hàng có nhu cầu trả tiền thuê trọ, chọn thanh toán
8. Khách hàng chọn thanh toán tiền mặt
9. Giao diện thanh toán hiện ra
“Liên hệ chủ trọ để thanh toán”
- Thông tin liên lạc với chủ trọ
Họ tên: Trần Phú Cường
Zalo/SĐT: 085 234 6972
Email: cuongnhatro@gmail.com
Ngân hàng: MB Bank
Số tài khoản: 0209 3004 1975 1945
- Thông tin hóa đơn
Số tiền còn lại cần đóng: 1,900,000 VNĐ
Bao gồm:

16
Tiền trọ: 1,500,000 VNĐ
Tiền điện: 180,000 VNĐ
Tiền nước: 220,000 VNĐ
11. Khách hàng thanh toán cho chủ trọ
12. Chủ trọ cập nhật số tiền cần đóng
Ngoại lệ 7. Khách hàng ở giao diện phòng đang thuê, nhấn cập nhật
7.1. Giao diện phòng đang thuê hiện lại với số tiền cần đóng được
chỉnh lại
Mã phòng 204
Tên phòng P204
Tầng 2
Tiền thuê nhà (tháng) 1,500,000 VNĐ
Tiền điện (tháng) 180,000 VNĐ
Tiền nước (tháng) 220,000 VNĐ
Số tiền còn lại 0 VNĐ
phải đóng
II. Trích xuất lớp thực thể và thuộc tính
2.1. Mô tả toàn bộ hệ thống
Hệ thống là trang web dành cho nhà trọ với nhiệm vụ hỗ trợ thành viên hệ thống
tìm, thuê phòng trọ, trả tiền trọ và hỗ trợ quản lý nhà trọ. Trong đó, khách hàng có thể tìm
phòng trọ theo mã phòng hoặc tìm theo tầng; xem các phòng trọ trống, phòng trọ đã có
người thuê hoặc có hỏng hóc; thông tin từng phòng với số tầng, mã phòng, tên phòng,
tình trạng phòng và tiện nghi trong phòng. Khách hàng thực hiện thuê phòng trọ có thể
đăng ký trước ngày nhận phòng. Khi đã thuê phòng trọ thành công khách hàng có thể truy
cập thông tin phòng trọ, theo dõi hóa đơn hàng tháng bao gồm tiền phòng, tiền điện và
tiền nước, từ đó thanh toán cho chủ trọ. Chủ trọ có nhiệm vụ quản lý nhà trọ, bao gồm
theo dõi và cập nhật tình trạng phòng và các tiện nghi trong phòng cùng việc thống kê lợi
nhuận từng phòng.

17
2.2. Trích xuất và phân loại danh từ có trong phần mô tả
Danh từ thuộc phạm trù người: khách hàng, chủ trọ
Danh từ thuộc phạm trù vật: nhà trọ, phòng trọ, tiện nghi, lợi nhuận
Danh từ thuộc phạm trù thông tin: tầng, mã phòng, tên phòng, tình trạng phòng, tiền trọ,
tiền phòng, tiện điện, tiền nước, thống kê lợi nhuận

2.3. Xây dựng lớp thực thể và các thuộc tính dựa trên các danh từ tìm được
Loại bỏ: Các danh từ loại chung (hệ thống, trang web, thông tin, lợi nhuận, thống kê)
Danh từ phạm trù người:
- Thành viên => lớp trừu tượng ThanhVien: họ tên, tên đăng nhập, mật khẩu, ngày
sinh, email, điện thoại.
- Khách hàng => KhachHang: kế thừa ThanhVien, số ID (tạo tự động)
- Chủ trọ => ChuTro: kế thừa ThanhVien, tên ngân hàng, số tài khoản ngân hàng
Danh từ phạm trù vật:
- Nhà trọ => NhaTro: tên, địa chỉ
- Tiện nghi => TienNghi: tên đồ vật, số lượng
Danh từ phạm trù thông tin:
- Phòng trọ => PhongTro là thực thể kế thừa từ nhà trọ
- Tầng => Tang là 1 thuộc tính của phòng trọ
- Mã phòng => MaP là 1 thuộc tính của phòng trọ
- Tên phòng => TenP là 1 thuộc tính của phòng trọ
- Tình trạng phòng => StatP là 1 thuộc tính của phòng trọ
- Ngày nhận phòng => NgayNhan là 1 thuộc tính của phòng trọ
- Hóa đơn => HoaDon: số nguyên, mô tả
- Tiền phòng => TienPhong là 1 thuộc tính của phòng trọ
- Tiền điện => TienDien là 1 thuộc tính của phòng trọ
- Tiền nước => TienNuoc là 1 thuộc tính của phòng trọ

2.4. Xác định quan hệ số lượng


Nhà trọ có nhiều phòng trọ => NhaTro – PhongTro: 1 – n
18
Nhà trọ có nhiều tầng trọ => NhaTro – Tang: 1 – n
1 tầng trong nhà trọ có nhiều phòng => Tang – PhongTro: 1 – n
1 phòng trọ có 1 mã phòng riêng => PhongTro – MaP: 1 – 1
1 phòng trọ có 1 tên phòng riêng => PhongTro – TenP: 1 – 1
Có nhiều tình trạng phòng, tuy nhiên trong 1 khoảng thời gian 1 phòng chỉ có 1 tình trạng
=> PhongTro – StatP: 1 – 1
1 phòng trọ tại thời điểm được thuê chỉ có 1 ngày nhận phòng
=> PhongTro – NgayNhan: 1 – 1
Nhiều thiết bị tiện nghi có thể được xếp vào nhiều phòng trọ
=> PhongTro – TienNghi: 1 – n
1 phòng trọ quản lý 1 số tiền trọ => PhongTro – HoaDon: 1 – 1
Hóa đơn bao gồm tiền trọ cố định, tiền điện và tiền nước
=> Đề xuất lớp TienTro, TienDien và TienNuoc phụ thuộc vào lớp lớn HoaDon
TienTro – HoaDon, TienDien – HoaDon, TienNuoc – HoaDon đều có quan hệ 1 – 1
1 khách hàng chỉ có thể thuê 1 phòng => KhachHang – PhongTro: 1 – 1
Đề xuất thêm thuộc tính mã phòng đặt vào KhachHang. Nếu khách hàng không đặt
phòng, mã phòng để trống.
“Họ và tên” và “Địa chỉ” có thẻ tách ra làm các lớp thực thể riêng.

2.5. Xác định quan hệ đối tượng giữa các thực thể
Phòng trọ là thành phần của Nhà trọ
Tầng là thành phần của Phòng trọ
Mã phòng là thành phần của Phòng trọ
Tên phòng là thành phần của Phòng trọ
Tiện nghi liên kết với Phòng trọ => TienNghiPhong duy nhất
Tình trạng phòng là thành phần của Phòng trọ
Ngày nhận phòng là thành phần của Phòng trọ
Tiền trọ, tiền điện và tiền nước là thành phần của Hóa đơn
Họ tên nằm trong thành phần Thành viên
Địa chỉ nằm trong thành phần Thành viên
19
Lược đồ thực thể toàn hệ thống:

III. Phân tích tĩnh và chi tiết từng modul


3.1. Quản lí tài khoản cá nhân
Ban đầu ở giao diện chính khách hàng => GDChinh_Khach
Thành phần:
- Thông tin cá nhân khách hàng: Submit
Tiếp theo vào giao diện tài khoản cá nhân => GD_TTCaNhan
Thành phần:
- Thông tin khách hàng: Output
- Chỉnh sửa thông tin: Submit
Khách hàng kế thừa từ Thành viên

=> Đề xuất hàm getThanhVien() lấy thông tin thành viên


=> Đề xuất hàm update() cập nhật thông tin thành viên

Tiếp theo vào giao diện chỉnh sửa thông tin cá nhân => GD_SuaTT
Thành phần:
- Đổi tên đăng nhập: Submit
- Đổi mật khẩu: Submit
- Đổi địa chỉ: Submit
Giao diện sửa thông tin phù hợp với từng tiêu chí ở trên:
20
- Đổi tên đăng nhập: GD_SuaTT_TenDN
- Đổi mật khẩu: GD_SuaTT_MatKhau
- Đổi địa chỉ: GD_SuaTT_DiaChi
Trong mỗi giao diện có các thành phần:
- Nhập thông tin cũ: Input
- Nhập thông tin mới: Input
- Gửi yêu cầu: Submit

3.2. Tìm và thuê phòng trọ


Ban đầu có giao diện chính của khách hàng => GDChinh_Khach
Thành phần:
- Tìm và thuê phòng: Submit
Tiếp theo vào giao diện tìm phòng trọ => GDTimPhong
Thành phần:
- Ô nhập tìm kiếm số tầng: Input + Submit
- Bảng danh sách các phòng trọ: Output + Submit
Để có danh sách các phòng trọ, bên dưới hệ thống xử lý:
o Tìm toàn bộ phòng trọ trong nhà trọ
o Input: Không

21
o Output: Danh sách phòng trọ
Đề xuất phương thức getDSPhong() gán cho lớp Nhà trọ
Sau khi chọn phòng vào giao diện về thông tin phòng muốn thuê
=> GDDatPhong
- Bảng thông tin phòng: Output
- Lịch chỉ định ngày nhận phòng: Input + Output
- Nút đặt phòng: Submit
Để thuê phòng thành công phải đảm bảo phòng đang ở trạng thái trống => Không có
ngày nhận phòng
=> Đề xuất phương thức isEmpty() cho phòng trọ
Sau khi chọn phòng và ngày đặt, chọn đặt phòng, hệ thống chuyển sang giao diện xác
nhận thuê phòng => GDXacNhan

- Bảng thông tin: Output


- Nút xác nhận: Submit

Bảng thông tin bao gồm thông tin phòng, tiền trọ tháng và ngày nhận phòng gắn với
khách hàng

=> Đề xuất getThongTinPhong() cho Phòng trọ và getTienTro() cho Hóa đơn

=> Đề xuất setPhongTro() cho Khách hàng

22
3.3. Xem và thanh toán hóa đơn
Ban đầu ở giao diện chính của khách hàng => GDChinh_Khach

Thành phần:

- Thông tin cá nhân khách hảng: Submit

Vào giao diện thông tin cá nhân => GD_TTCaNhan

- Thông tin khách hàng: Output


- Phòng đang thuê: Submit
- Khách hàng kế thừa từ Thành viên

=> Đề xuất hàm getKhachHang() lấy thông tin khách hàng

Sau khi chọn “phòng đang thuê”, đưa tới giao diện phòng trọ thuê
=> GDPhongDangThue

- Thông tin phòng: Output


- Hóa đon: Output
Để có thông tin cụ thể, bên dưới hệ thống xử lý:
o Tìm khách hàng đang thuê phòng và có hóa đơn tương ứng
o Input: Không
o Output: Danh sách bao gồm thông tin phòng và hóa đơn
- Thanh toán: Submit
- Cập nhật hóa đơn: Submit

Đề xuất phương thức getThongTinPhong() gán cho Phòng trọ

Đề xuất phương thức getHoaDon() và updateHoaDon() cho Hóa đơn phù hợp với
yêu cầu

Sau khi chọn thanh toán => GDThanhToan

- Thông tin thanh toán: Output


Để có thông tin cần thiết cho việc thanh toán, bên dưới hệ thống xử lý:

23
o Tìm thông tin chủ trọ - người điều hành nhà trọ để thuận tiện cho việc thanh
toán
o Input: Không
o Output: Thông tin thanh toán/liên hệ chủ trọ
- Thông tin hóa đơn
o Tổng tiền phải trả
o Tiền trọ phải trả
o Tiền điện phải trả
o Tiền nước phải trả
Đề xuất phương thức getChuTro() gán cho lớp ChuTro

Có thể dùng lại getHoaDon() và updateHoaDon()

IV. Phân tích động


4.1. Quản lí thông tin cá nhân
Cách thức thực hiện:

24
- Từ giao diện chính khách hàng, chọn xem thông tin cá nhân => Chuyển sang giao diện
thông tin cá nhân khách hàng

- Từ giao diện thông tin cá nhân khách hàng, chọn sửa thông tin cá nhân => Chuyển sang
giao diện sửa thông tin

- Từ giao diện sửa thông tin, chọn thông tin cần thay đổi (tên đăng nhập/mật khẩu/địa chỉ)
=> Chuyển sang giao diện sửa thông tin tương ứng

Từ đây viết kịch bản 2 (chuẩn) cho modul. Kịch bản này đặt giả dụ khách hàng
muốn đổi mật khẩu:

1. Tại giao diện khách hàng sau khi đăng nhập, chọn Thông tin cá nhân

2. Lớp GDChinh_Khach gọi lớp GD_TTCaNhan

3. Lớp GD_TTCaNhan hiện thông tin khách hàng

4. Khách hàng chọn Sửa thông tin cá nhân

5. Lớp GD_TTCaNhan gọi GD_SuaTT

6. GD_SuaTT hiện giao diện cho người dùng với các tùy chọn

7. Khách hàng chọn Đổi mật khẩu

8. GD_SuaTT gọi GD_SuaTT_MatKhau

9. GD_SuaTT_MatKhau hiện giao diện cho khách hàng

10. Khách hàng nhập mật khẩu cũ, mật khẩu mới và nhấn xác nhận

11. GD_SuaTT_MatKhau chuyển thông tin đến thực thể MatKhau

12. MatKhau kiểm tra nhập mật khẩu cũ

13. Mật khẩu cũ là đúng, MatKhau cập nhật mật khẩu mới

14. MatKhau thông báo cập nhật cho GD_TTCaNhan

15. GD_TTCaNhan hiện giao diện cho khách hàng

25
Ngoại lệ:

0. Khách hàng muốn đổi tên đăng nhập/địa chỉ

=> Chuyển GD_SuaTT_MatKhau thành lớp giao diện phù hợp với yêu cầu

12. MatKhau kiểm tra nhập mật khẩu cũ và kết quả trả về sai

12.1. MatKhau thông báo về cho GD_SuaTT_MatKhau

12.2. GD_SuaTT_MatKhau thông báo khách hàng nhập lại

Thiết lập biểu đồ giao tiếp => Biểu đồ tuần tự

Biểu đồ giao tiếp (toàn bộ)

26
Biểu đồ tuần tự (chuẩn)

Biểu đồ tuần tự ngoại lệ (12)

4.2. Tìm và thuê phòng trọ

- Từ giao diện chính của khách hàng, chọn chức năng tìm và thuê phòng => Chuyển sang
giao diện tìm phòng.

- Từ giao diện tìm phòng, chọn 1 phòng trống => Chuyển sang giao diện thuê phòng

- Khách hàng chọn ngày ưng ý nhận phòng và nhấn xác nhận => Thông báo thành công

Nếu không ưng ý thì nhấn quay lại => Trở về giao diện tìm phòng

- Nhấn thông báo thành công => Trở về giao diện chính của khách hàng và kết thúc

Trường hợp ngoại lệ:

- Nhấn Tìm và thuê phòng nhưng nhà trọ đã đầy => Thông báo đầy phòng => Trở về giao
diện chính

- Tìm 1 tầng nhất định nhưng tầng đó đầy => Thông báo đầy tầng => Trở về giao diện tìm
phòng

- Ngày không hợp lệ => Thông báo ngày không hợp lệ => Trở về giao diện thuê phòng

Từ đó ta có kịch bản 2 (chuẩn) cho modul Tìm và thuê phòng trọ:

1. Tại giao diện khách hàng sau khi đăng nhập, chọn Tìm và thuê phòng

27
2. Lớp GDChinh_Khach gọi lớp GDTimPhong

3. Lớp GDTimPhong gọi thực thể NhaTro

(Lặp bước 4 -> 9 cho tới khi hết phòng trọ)

4. NhaTro gọi PhongTro

5. PhongTro lấy thông tin phòng trọ

6. PhongTro gọi TienNghi

7. TienNghi lấy thông tin

8. TienNghi trả thông tin cho PhongTro

9. PhongTro trả thông tin cho NhaTro

10. NhaTro trả thông tin cho GDTimPhong

11. GDTimPhong hiển thị cho khách hàng

12. Khách hàng chọn 1 phòng thỏa mãn trống và không hỏng hóc

13. GDTimPhong lấy thông tin phòng đã chọn


14. GDTimPhong chuyển thông tin phòng cho GDThuePhong
15. GDThuePhong hiện thông tin cho khách hàng

16. Khách hàng chọn ngày nhận phòng và xác nhận

17. GDThuePhong chuyển thông tin cho GDXacNhan

18. GDXacNhan gọi HoaDon

19. HoaDon gọi TienTro

20. TienTro lấy thông tin

21. TienTro trả thông tin về cho GDXacNhan

22. GDXacNhan hiện thông tin cho khách hàng

28
23. Khách hàng nhấn xác nhận

24. GDXacNhan gọi PhongTro

25. PhongTro chuyển trạng thái phòng

26. PhongTro gán mã phòng cho KhachHang

27. PhongTro thông báo cho GDXacNhan

28. GDXacNhan thông báo khách hàng thuê phòng thành công

Ngoại lệ:

10. NhaTro trả về cho GDTimPhong toàn bộ các phòng đầy

10.1. GDTimPhong thông báo cho khách hàng nhà trọ đầy

12. NhaTro trả lại danh sách có phòng trống, nhưng Khách hàng tìm đúng tầng đã đầy

12.1. GDTimPhong thông báo cho khách hàng và yêu cầu chọn lại

16. Khách hàng chọn ngày không hợp lệ

16.1. GDThuePhong thông báo cho khách hàng

Từ đó thiết lập biểu dồ giao tiếp => biểu đồ tuần tự

29
Sơ đồ giao tiếp (toàn bộ)

Sơ đồ kịch bản (chuẩn)

Sơ đồ ngoại lệ (10)

Sơ đồ ngoại lệ (12)

30
Sơ đồ ngoại lệ (16)

4.3. Thanh toán hóa đơn


- Từ giao diện chính khách hàng, chọn xem thông tin cá nhân => Chuyển sang giao diện
thông tin cá nhân khách hàng

- Từ giao diện thông tin cá nhân khách hàng, chọn xem phòng đang thuê => Chuyển sang
giao diện phòng trọ đang thuê

- Ở giao diện phòng trọ đang thuê có danh sách về thông tin phòng trọ đang thuê, bao
gồm cả hóa đơn

- Khách hàng chọn thanh toán hóa đơn => Chuyển đến giao diện liên lạc chủ trọ và hóa
đơn đi kèm

- Thanh toán dựa trên thông tin liên lạc với chủ trọ

- Khi khách hàng đã thanh toán và đăng nhập vào giao diện phòng đang thuê, nhấn cập
nhật => Giao diện phòng trọ đang thuê hiện với số tiền trọ phải đóng được cập nhật

Từ đó có kịch bản 2 của modul Xem và thanh toán hóa đơn:

1. Tại giao diện khách hàng sau khi đăng nhập, chọn Thông tin cá nhân

2. Lớp GDChinh_Khach gọi lớp GD_TTCaNhan

3. Lớp GD_TTCaNhan hiện thông tin khách hàng

4. Khách hàng chọn Phòng trọ đang thuê

5. GD_TTCaNhan lấy mã phòng của khách hàng

31
6. Lớp GD_TTCaNhan đấy thông tin cho GDPhongDangThue

7. GD_PhongDangThue đẩy thông tin cho PhongTro

8. PhongTro thu thập thông tin phòng

9. PhongTro đẩy thông tin sang cho HoaDon

10. HoaDon gọi TienTro

11. TienTro trả thông tin cho HoaDon

12. HoaDon gọi TienDien

13. TienDien tính toán số tiền

14. TienDien trả thông tin cho HoaDon

15. HoaDon gọi TienNuoc

16. TienNuoc tính toán số tiền

17. TienNuoc trả thông tin cho HoaDon

18. HoaDon tính tổng số tiền

19. HoaDon trả toàn bộ thông tin cho GDPhongDangThue

20. GDPhongDangThue hiện thông tin cho khách hàng

21. Khách hàng chọn thanh toán

22. GDThanhToan gọi ChuTro

23. ChuTro lấy thông tin

24. ChuTro đưa thông tin cho GDThanhToan

25. GDThanhToan gọi GDPhongDangThue

26. GDPhongDangThue lấy thông tin hóa đơn

27. GDPhongDangThue trả thông tin hóa đơn cho GDThanhToan

32
28. GDThanhToan hiện giao diện cho khách hàng cùng với thông tin thanh toán

Ngoại lệ:

21. Khách hàng chọn cập nhật tiền đóng trọ

21.1. GDPhongDangThue gọi ChuTro

21.2. ChuTro đưa thông tin thanh toán cho HoaDon

21.3. HoaDon gọi TienTro

21.4. TienTro cập nhật số tiền

21.5. TienTro trả thông tin cho HoaDon

21.6. HoaDon gọi TienDien

21.7 TienDien cập nhật số tiền

21.8. TienDien trả thông tin cho HoaDon

21.9. HoaDon gọi TienNuoc

21.10. TienNuoc cập nhật số tiền

21.11. TienNuoc trả thông tin cho HoaDon

21.12. HoaDon tính tổng số tiền

21.13. HoaDon trả toàn bộ thông tin cho GDPhongDangThue

21.14. GDPhongDangThue hiện lại giao diện cho khách hàng

Xây dựng biểu đồ giao tiếp => biểu đồ tuần tự:

33
Biểu đồ giao tiếp toàn bộ

Sơ đồ kịch bản 2 (chuẩn)

34
Sơ đồ ngoại lệ (12)

C. PHA THIẾT KẾ

I. Lớp thực thể

Thêm chỉ số thứ tự (ID) cho toàn bộ các lớp ngoại trừ: KhachHang, ChuTro,
NhaTro, TienTro, TienDien, TienNuoc.

Thêm kiểu dữ liệu thuộc tính theo chuẩn Java.

Xử lý mối quan hệ:

TienNghiPhong sinh ra từ PhongTro và TienNghi

=> TienNghiPhong chứa PhongTro và TienNghi

=> Vẽ lại biểu đồ thực thể với các thông tin mới

35
II. Cơ sở dữ liệu

2.1. Lập bảng dữ liệu tương ứng với từng lớp thực thể

ThanhVien => tblThanhVien PhongTro => tblPhongTro

KhachHang => tblKhachHang TienNghi => tblTienNghi

ChuTro => tblChuTro TienNghiPhong => tblTienNghiPhong

NhaTro => tblNhaTro HoaDon => tblHoaDon

TienTro => tblTienTro TienDien => tblTienDien

TienNuoc => tblTienNuoc

Tạo thuộc tính cho các bảng dựa trên thuộc tính riêng của lớp thực thể (không liên quan
đến đối tượng) => Sử dụng toàn bộ thuộc tính như biểu đồ thực thể

2.2. Thêm khóa

- Khóa chính: Ngoại trừ các bảng KhachHang, ChuTro, NhaTro, các bảng còn lại
đặt thuộc tính id là khóa chính.
- Từ thực thể ThanhVien tạo ra các thực thể ChuTro và NhaTro, nên 2 bảng
tblChuTro và tblNhaTro lấy id của tblThanhVien làm khóa tham chiếu.
- Lấy thuộc tính maP trong PhongTro làm khóa tham chiếu cho KhachHang.

2.3. Xử lý các thuộc tính thừa

- Trong tblHoaDon, tongtien có thể được tính bằng tientro + tiennuoc + tiendien =>
có thể loại bỏ
- Thuộc tính diachi trong NhaTro và ThanhVien như nhau, nhưng diachi trong
NhaTro chỉ có 1 và là địa chỉ tĩnh trong khi ThanhVien là địa chỉ động do thành
viên nhập và có thể thay đổi => Sửa diachi trong NhaTro thành diachitro để tránh
trùng thuộc tính

2.4. Vẽ biểu đồ cơ sở dữ liệu

36
III. Thiết kế tĩnh: giao diện và biểu đồ lớp

3.1. Quản lý tài khoản cá nhân

Trang chủ Thông tin cá nhân


ID #KH02091945
Thông tin cá nhân
Tên đăng nhập Khanhcoi098
Họ tên Nguyễn Quốc Khánh
Giới tính Nam
Ngày sinh 23/12/2001
Địa chỉ cá nhân Số 123 Khuất Duy Tiến, Thanh
Xuân, Hà Nội
Số điện thoại 086 257 1359
Email vietnamvidai@gmail.com
Quản lý tài kho
Đổi tên đăng nhập Quản lý tài khoản

Đổi mật khẩu

Đổi địa chỉ

37
Đổi mật khẩu Đổi tên đăng nhập

Mật khẩu cũ Tên cũ

Mật khẩu mới Tên mới


Xác nhận Xác nhận

Đổi địa chỉ

Địa chỉ cũ

Địa chỉ mới

Xác nhận

Các lớp tầng giao diện: gdChinhKH, gdThongTinCaNhan, gdSuaThongTin,


gdSuaThongTin_MK, gdSuaThongTin_Ten, gdSuaThongTin_DC

Các lớp tầng truy cập dữ liệu: DAO, KhachHangDAO (chỉ cần 1 lớp truy cập dữ
liệu cho toàn bộ thông tin cần thay đổi)
Toàn bộ các lớp thực thể liên quan.

38
3.2. Tìm và thuê phòng trọ

Trang chủ Tìm phòng trọ

Tìm theo tầng


Tìm và thuê phòng trọ

Giao diện ban đầu

Giao diện
Tìm phòng trọ
2 39
Tìm theo tầng
nếu tìm theo tầng

Thuê phòng trọ

Chọn ngày nhận phòng: 📅

Xác nhận

40
Xác nhận thuê phòng

Bạn có chắc muốn thuê phòng này?

Nhấn OK

OK

Bạn đã thuê phòng thành công!


OK

Các lớp tầng giao diện: gdChinhKH, gdTimPhong, gdThuePhong, gdXacNhan


Các lớp tầng dữ liệu: DAO, PhongTroDAO, NhaTroDAO, TienTroDAO

Toàn bộ các lớp thực thể liên quan.

41
3.3. Xem và thanh toán hóa đơn Thông tin cá nhân
ID #KH02091945
Trang chủ
Tên đăng nhập Khanhcoi098
Họ tên Nguyễn Quốc Khánh
Thông tin cá nhân
Giới tính Nam
Ngày sinh 23/12/2001
Địa chỉ cá nhân Số 123 Khuất Duy Tiến, Thanh
Xuân, Hà Nội
Số điện thoại 086 257 1359
Email vietnamvidai@gmail.com

Phòng đang thuê

Phòng trọ đang thuê

Mã phòng 204
Tên phòng P204
Tầng 2
Tiền thuê nhà (tháng) 1,500,000 VND
Tiền điện (cuối tháng) 180,000 VND
Tiền nước (cuối tháng) 220,000 VND
Số tiền còn lại phải đóng 1,900,000 VND

Thanh toán Cập nhật Trở về

42
Thanh toán

Liên hệ chủ trọ: Trần Phú Cường


Zalo/Điện thoại: 085 234 6972
Email: cuongnhatro@gmail.com
Ngân hàng: MB Bank
Số tài khoản: 0209 3004 1975 1945

Số tiền còn lại cần đóng: 1,900,000 VND


Bao gồm:
- Tiền trọ: 1,500,000 VND
- Tiền điện: 180,000 VND
- Tiền nước: 220,000 VND

Các lớp giao diện: gdChinhKH, gdThongTinCaNhan, gdPhongDangThue,


gdThanhToan

Các lớp tầng dữ liệu: DAO, KhachHangDAO, ChuTroDAO, PhongTroDAO,


HoaDonDAO
Toàn bộ các lớp thực thể liên quan.

43
IV. Thiết kế động chi tiết – Biểu đồ hoạt động, tuần tự
4.1. Quản lí tài khoản cá nhân
Sơ đồ tương tác toàn modul

Kịch bản 3.0:


1. Khách hàng chọn thông tin cá nhân
2. gdChinhKH.jsp gọi gdThongTinCaNhan.jsp
3. gdThongTinCaNhan.jsp gọi KhachHangDAO
4. KhachHangDAO thực hiện lệnh getKhachHang
5. KhachHang lấy thông tin
6. KhachHang trả thông tin cho KhachHangDAO
7. KhachHangDAO trả về cho gdThongTinCaNhan.jsp
8. gdThongTinCaNhan.jsp hiện giao diện
9. Khách hàng chọn quản lý thông tin
10. gdThongTinCaNhan.jsp gọi gdSuaThongTin.jsp
11. gdSuaThongTin.jsp hiện giao diện
12. Khách hàng chọn sửa mật khẩu
13. gdSuaThongTin.jsp gọi gdSuaThongTin_MatKhau.jsp
14. gdSuaThongTin_MatKhau.jsp hiện giao diện
44
15. Khách hàng nhập thông tin và nhấn xác nhận
16. gdSuaThongTin_MatKhau.jsp gọi KhachHangDAO
17. KhachHangDAO thực hiện lệnh getMatKhau
18. KhachHang lấy thông tin mật khẩu
19. KhachHang trả về cho KhachHangDAO
20. KhachHangDAO so sánh với mật khẩu đã nhập
21. Trả về đúng, thông báo cho KhachHang
22. KhachHang thay đổi thông tin mật khẩu
23. KhachHang thông báo cho gdSuaThongTin_MatKhau.jsp
24. gdSuaThongTin_MatKhau.jsp thông báo thay đổi thành công
Sơ đồ tuần tự bao gồm kịch bản 3.0

45
4.2. Tìm và thuê phòng trọ
Sơ đồ tương tác toàn modul

Kịch bản 3.0


1. Khách hàng chọn tìm và thuê phòng
2. gdChinhKH.jsp gọi gdTimPhong.jsp
3. gdTimPhong.jsp gọi NhaTroDAO
4. NhaTroDAO thực hiện lệnh getListPhong
Lặp từ bước 5 -> 12 cho tới khi hết các phòng trọ
5. NhaTro gọi PhongTroDAO
6. PhongTroDAO thực hiện lệnh getPhongTro
7. PhongTro lấy thông tin phòng
8. PhongTro đưa mã phòng cho PhongTroDAO
9. PhongTroDAO thực hiện lệnh getTienNghi
10. TienNghi lấy thông tin
11. TienNghi trả về cho PhongTro
12. PhongTro tổng hợp toàn bộ và đưa vào NhaTro
46
13. NhaTro trả về danh sách phòng cho NhaTroDAO
14. NhaTroDAO thông báo cho gdTimPhong.jsp
15. gdTimPhong.jsp hiện giao diện
16. Khách hàng chọn phòng ưng ý
17. gdTimPhong.jsp gọi gdThuePhong.jsp
18. gdThuePhong.jsp gọi PhongTroDAO
19. PhongTroDAO thực hiện lệnh getPhongTro
20. PhongTro lấy thông tin
21. PhongTro trả thông tin về cho PhongTroDAO
22. PhongTroDAO trả thông tin về cho gdThuePhong.jsp
23. gdThuePhong.jsp hiện giao diện
24. Khách hàng chọn ngày nhận phòng và nhấn xác nhận
25. gdThuePhong.jsp kiểm tra định dạng ngày
26. Đúng định dạng, gdThuePhong.jsp gọi gdXacNhan.jsp
27. gdXacNhan.jsp gọi TienTroDAO
28. TienTroDAO thực hiện lệnh getTienTro
29. HoaDon gọi TienTro
30. TienTro lấy thông tin
31. TienTro trả thông tin cho HoaDon
32. HoaDon trả thông tin cho TienTroDAO
33. TienTroDAO trả thông tin cho gdXacNhan.jsp
34. gdXacNhan.jsp hiện giao diện
35. Khách hàng xác nhận
36. gdXacNhan.jsp gán mã phòng cho khách hàng và thông báo thuê phòng thành
công
Sơ đồ kịch bản

47
4.3. Xem và thanh toán hóa đơn
Sơ đồ tương tác toàn modul

48
Kịch bản 3.0
1. Khách hàng chọn thông tin cá nhân
2. gdChinhKH.jsp gọi gdThongTinCaNhan.jsp
3. gdThongTinCaNhan.jsp gọi KhachHangDAO
4. KhachHangDAO thực hiện lệnh getKhachHang
5. KhachHang lấy thông tin
6. KhachHang trả thông tin cho KhachHangDAO
7. KhachHangDAO trả về cho gdThongTinCaNhan.jsp
8. gdThongTinCaNhan.jsp hiện giao diện
9. Khách hàng chọn xem phòng đang thuê
10. gdThongTinCaNhan.jsp gọi gdPhongDangThue.jsp
11. gdPhongDangThue.jsp gọi PhongDangThueDAO
12. PhongDangThueDAO thực hiện lệnh getPhongTro
13. PhongTro lấy thông tin (dựa trên mã phòng KhachHang)
14. PhongTro gọi HoaDonDAO
15. HoaDonDAO thực hiện getTienTro
16. HoaDon gọi TienTro
17. TienTro lấy thông tin
18. TienTro trả về cho HoaDon
19. HoaDon trả thông tin cho HoaDonDAO
20. HoaDonDAO thực hiện getTienDien
21. HoaDon gọi TienDien
22. TienDien tính toán thông tin
23. TienDien trả thông tin cho HoaDon
24. HoaDon trả thông tin cho HoaDonDAO
25. HoaDonDAO thực hiện lệnh getTienNuoc
26. HoaDon gọi TienNuoc
27. TienNuoc tính toán thông tin
28. TienTro trả về cho HoaDon
29. HoaDon trả thông tin cho HoaDonDAO
49
30. HoaDonDAO thực hiện getTongTien
31. HoaDon tính toán thông tin
32. HoaDon trả thông tin cho HoaDonDAO
33. HoaDonDAO tổng hợp và trả thông tin cho PhongDangThueDAO
34. PhongDangThueDAO trả thông tin cho gdPhongDangThue.jsp
35. gdPhongDangThue.jsp hiện giao diện
36. Khách hàng chọn thanh toán
37. gdPhongDangThue.jsp gọi gdThanhToan.jsp
38. gdThanhToan.jsp gọi ChuTroDAO
39. ChuTroDAO thực hiện lệnh getChuTro
40. ChuTro lấy thông tin
41. ChuTro trả thông tin cho ChuTroDAO
42. ChuTroDAO trả thông tin cho gdThanhToan.jsp
43. gdThanhToan.jsp gọi HoaDonDAO
Lặp bước 44 -> 47 cho cả 4 lệnh HoaDonDAO
44. HoaDonDAO thực hiện lần lượt getTienTro, getTienDien, getTienNuoc, getTongTien
45. HoaDon lấy lần lượt từng thông tin
46. HoaDon trả các thông tin cho HoaDonDAO
47. HoaDonDAO trả các thông tin về cho gdThanhToan.jsp
48. gdThanhToan.jsp hiện giao diện cho khách hàng
Sơ đồ tuần tự

50
51

You might also like