Nhóm thuật ngữ liên quan tới thực thể vật lý HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN Môn học: Phân tích – Thiết kế hệ thống thông tin Hà
Trang 2A THU THẬP ĐIỀU KIỆN
I Mô tả hệ thống bằng ngôn ngữ tự nhiên
Nhóm thuật ngữ liên quan đến người
1 Khách hàng Customer
Một người hoặc tổ chức yêu cầu mộtdịch vụ, thường trao đổi bằng tiền mặt
và nhận lại dịch vụ đó cùng các chấtlượng kèm theo
2 Chủ nhà trọ Owner Người sở hữu khu nhà trọ theo đúng
pháp luật, có giấy tờ kèm theo
Nhóm thuật ngữ liên quan tới thực thể vật lý
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
Môn học: Phân tích – Thiết kế hệ thống thông tin
Hà Nội, ngày 23 tháng 8 năm 2022
Nhóm học phần: Nhóm 03Tên đề tài: Quản lí cho thuê nhà trọNhóm bài tập lớn: Nhóm 15
Các thành viên: Nguyễn Công Huân – B19DCCN288
Trần Võ Linh – B19DCCN382Phạm Thanh Minh – B19DCAT126Tên modul: M1 (liên quan tới khách hàng)
- Quản lí tài khoản cá nhân
- Tìm, thuê phòng trọ
- Xem và thanh toán hóa đơnYêu cầu buổi học: Phân tích hệ thống (Analysis)
Trang 33 Phòng trọ Room
Khoảng không gian giới hạn bởi cácbức tường bao quanh, có thể có cửa sổ,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 conngười
4 Đồ dùng trong
nhà
Householdappliances
Các tiện nghi dùng trong phòng, hỗ trợcho đời sống vật chất và tinh thần củacon người
Tập hợp thông tin, thường có số và tênriêng, dùng để chỉ vị trí chi tiết của mộtcô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
6 Số điện Electrical usage
Lượng công suất điện sử dụng trongmộ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ịthời gian xác định trước, thường tínhtheo đơn vị lít (l)
Quy đổi thành tiền việc sử dụng mộtdịch vụ nào đó, có thể in ra hoặc gửiđiện tử
9 Tiền thuê trọ Rent bill
Hóa đơn dành riêng cho việc thuê nhàtrọ, thanh toán sau một khoảng thời gianđịnh kỳ ở nhà trọ
10 Thời gian thuê trọ Rent time
Thời gian khách hàng ở lại nhà trọ, cóthể được kéo dài sau khi trả đủ tiền thuêtrọ đã xác định trước
Trang 4II Chi tiết hệ thống và mô tả bằng biểu đồ (sử dụng UML)
Trang 5- 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ọnthay đổ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útxá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
Trang 6c) 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ệntươ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
- 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
Trang 7- 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
- 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ừngthá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
Trang 8- 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 trongphò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ùnghỏ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ùng2.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 baogồ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ọ
Trang 9Mô 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
=> 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
Trang 10Mô 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ọ, baogồ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ánngay => 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ọ
Trang 11B 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”
Đ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
Đị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 1359Email 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 raCá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
Trang 12Mật khẩu cũMật khẩu mớiNú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”
Điều kiện Khách hàng có tài khoản trong hệ thống, có phòng trố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
Trang 13- Ô 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
- 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?”
Trang 1411 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ínhNgoạ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 OK4.2 Khách hàng nhấn OK4.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òn6.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ọntầng khác”
- Nút OK6.2 Khách hàng nhấn OK6.3 Hệ thống trở về giao diện tìm phòng6.4 Khách hàng chọn tầng khác và thực hiện đặt phòng như bình
Trang 151.3 Modul “Xem và thanh toán hóa đơn”
Điều kiện Khách hàng có tài khoản trong hệ thống, đã thuê trọ
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
Địa chỉ cá nhân Số 123 Khuất Duy Tiến, quận
Trang 16Thanh 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
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ọ
Trang 17Tiề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 đóngNgoạ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 đượcchỉnh lại
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 phải đóng
Trang 182.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àysinh, 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
Trang 19Nhà 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
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 đặtphò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ể
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
Trang 20Lượ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
Trang 21- Đổ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
- Ô 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
Trang 22o 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
Trang 233.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ý:
Trang 24o Tìm thông tin chủ trọ - người điều hành nhà trọ để thuận tiện cho việc thanhtoá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:
Trang 25- Từ giao diện chính khách hàng, chọn xem thông tin cá nhân => Chuyển sang giao diệnthô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 sanggiao 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