Tiểu luận môn Mẫu thiết kế cho phần mềm | Đại học Gia Định

Tiểu luận môn Mẫu thiết kế cho phần mềm | Đại học Gia Định. Tài liệu được biên soạn dưới dạng file PDF gồm 26 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC GIA ĐỊNH
KHOA:CÔNG NGHỆ THÔNG TIN
TIỂU LUẬN
MÔN : MẪU THIẾT KẾ CHO PHẦN MỀM
ĐỀ TÀI:
Ngành : CÔNG NGHỆ THÔNG TIN
Chuyên ngành : KỸ THUẬT PHẦN MỀM
Giảng viên hướng dẫn : ThS. HUỲNH PHƯỚC DANH
Lớp : K15DCPM05
Tên : Nguyễn Võ Hoàng Ân
TP. Hồ Chí Minh, tháng 8 năm 2023
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC GIA ĐỊNH
KHOA:CÔNG NGHỆ THÔNG TIN
TIỂU LUẬN
ĐỀ TÀI:
Ngành : CÔNG NGHỆ THÔNG TIN
Chuyên ngành : KỸ THUẬT PHẦN MỀM
Giảng viên hướng dẫn : ThS. HUỲNH PHƯỚC DANH
Lớp : K15DCPM05
Tên : Nguyễn Võ Hoàng Ân
TP. Hồ Chí Minh, tháng 8 năm 2023
Khoa: Công nghệ thông tin
NHẬN XÉT VÀ CHẤM ĐIỂM CỦA GIẢNG VIÊN
TIỂU LUẬN MÔN: MẪU THIẾT KẾ CHO PHẦN MỀM
Họ và tên sinh viên: Nguyễn Võ Hoàng Ân
1. Tên đề tài: Hệ thống quản lý đặt phòng du lịch.
2. Nhận xét:
a) Những kết quả đạt được:
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
b) Những hạn chế:
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
3. Điểm đánh giá (theo thang điểm 10, làm tròn đến 0.5):
Sinh viên:……………………………………………………………………………….
Điểm số: ……….…… Điểm chữ: ……………………………………………………...........
TP. HCM, ngày … tháng … năm 20……
Giảng viên chấm thi
(Ký và ghi rõ họ tên)
MỤC LỤC
1 Hiện trạng và Yêu cầu..........................................................................................5
1.1 Hiện trạng:......................................................................................................5
1.2 Yêu cầu:...........................................................................................................6
1.3 Các biểu mẫu thống kê:.................................................................................7
1.4 Mô hình hóa yêu cầu......................................................................................8
1.4.1 Xác định Actor.........................................................................................8
1.4.2 Xác định Use Case...................................................................................8
1.4.3 Mô tả các Use Case..................................................................................8
1.4.3.1 Use Case Thêm hóa đơn mới....................................................................8
1.4.3.2 Hiển thị danh sách hóa đơn 1. Tóm tắt định danh.................................9
1.4.3.3 Use Case Tìm kiếm hóa đơn...................................................................10
1.4.3.4 Use Case Sửa thông tin hóa đơn............................................................11
1.4.3.5 Use Case Xóa hóa đơn............................................................................12
1.4.3.6 Use Case Tính tổng doanh thu...........................................................12
2 Phân tích..............................................................................................................14
2.1 Sơ đồ lớp (Class Diagram)...........................................................................14
2.2 Sơ đồ tuần tự (Sequency Diagram).............................................................15
2.2.1 Sơ đồ tuần tự Thêm hóa đơn mới.........................................................15
2.2.2 Sơ đồ tuần tự Tìm kiếm hóa đơn..........................................................16
2.2.3 Sơ đồ tuần tự Sửa thông tin hóa đơn....................................................17
2.2.4 Sơ đồ tuần tự Xóa hóa đơn....................................................................18
2.3 Sơ đồ hoạt động (Activity Diagram)...........................................................19
2.4 Sơ đồ dữ liệu (ERD).....................................................................................19
3 Thiết kế................................................................................................................19
3.1 Kiến trúc phần mềm.....................................................................................19
3.2 Các mẫu thiết kế...........................................................................................20
3.3 Sơ đồ thiết kế (Deployment Diagram).........................................................20
3.4 Thiết kế giao diện.........................................................................................20
3.4.1 Menu.......................................................................................................20
3.4.2 Thiết kế màn hình..................................................................................21
3.4.3 Màn hình XYZ.......................................................................................22
4 Cài đặt thử nghiệm.............................................................................................22
4.1 Cài đặt...........................................................................................................22
4.2 Các thử nghiệm.............................................................................................22
5 Tổng kết...............................................................................................................25
5.1 Kết quả đạt được..........................................................................................25
5.2 Đánh giá ưu, khuyết điểm............................................................................25
5.2.1 Ưu điểm:.................................................................................................25
5.2.2 Khuyết điểm...........................................................................................26
5.3 Hướng phát triển tương lai..........................................................................26
Trang 4
1 Hiện trạng và Yêu cầu
1.1 Hiện trạng:
Giới thiệu về thế giới thực liên quan:
Khách sạn X một sở kinh doanh cung cấp dịch vụ cho thuê phòng. Khách hàng
thể thuê phòng theo giờ hoặc theo ngày tùy theo nhu cầu thời gian lưu trú. Khi
khách hàng thuê phòng, khách sạn sẽ tạo hóa đơn cho khách hàng dựa trên thông tin về
thời gian thuê, đơn giá và các thông tin cá nhân khác.
Mô tả quy trình các công việc liên quan đến đề tài:
- Khách hàng yêu cầu thuê phòng cung cấp thông tin nhân, ngày, giờ muốn
nhận phòng, và loại hóa đơn mong muốn (theo giờ hoặc theo ngày).
- Nhân viên tiếp nhận yêu cầu và kiểm tra tính hợp lệ của thông tin khách hàng.
- Dựa trên loại hóa đơn khách hàng chọn, nhân viên tính toán số giờ hoặc số
ngày thuê và xác định đơn giá phù hợp.
- Tạo hóa đơn với thông tin chi tiết về hóa đơn, ngày hóa đơn, tên khách
hàng, mã phòng, đơn giá và thành tiền.
- Lưu trữ thông tin hóa đơn vào hệ thống quản lý dữ liệu của khách sạn.
Mô tả các mẫu biểu có liên quan:
- Biểu mẫu yêu cầu thuê phòng: Chứa thông tin nhân của khách hàng, ngày,
giờ nhận phòng và loại hóa đơn mong muốn.
- Biểu mẫu hóa đơn: Chứa thông tin chi tiết của hóa đơn, bao gồm hóa đơn,
ngày hóa đơn, tên khách hàng, phòng, đơn giá, số giờ hoặc số ngày thuê
thành tiền.
Mô tả các quy định ràng buộc có liên quan:
Trang 5
- Khách hàng chỉ thể chọn một trong hai loại hóa đơn (theo giờ hoặc theo
ngày) khi thuê phòng, không thể áp dụng cả hai loại hóa đơn cho cùng một lần
thuê phòng.
- Nếu số giờ thuê vượt quá 30 giờ, khách sạn sẽ không sử dụng loại hóa đơn theo
giờ và tính toán chỉ dựa trên hóa đơn theo ngày.
Mô tả các quy định công thức tính có liên quan:
- Hóa đơn theo giờ: Thành tiền = số giờ thuê * đơn giá. Nếu số giờ > 24 tiếng
< 30 tiếng, chỉ tính 24 giờ.
- Hóa đơn theo ngày: Thành tiền = số ngày thuê * đơn giá. Nếu số ngày > 7, giảm
20% đơn giá cho những ngày còn lại (sau 7 ngày).
1.2 Yêu cầu:
Danh sách các công việc sđược hỗ trợ thực hiện trên máy tính (dựa theo tóm tắt yêu
cầu đã cho).
Chương trình cho phép:
Thêm hóa đơn mới:
- Người dùng nhập thông tin chi tiết của hóa đơn, bao gồm: hóa đơn, ngày
hóa đơn, tên khách hàng, phòng, loại hóa đơn (theo giờ hoặc theo ngày),
đơn giá, số giờ thuê hoặc số ngày thuê tùy theo loại hóa đơn.
- Dựa vào thông tin loại hóa đơn, tính toán thành tiền theo quy tắc đã đề cập
(thành tiền cho hóa đơn theo giờ hoặc hóa đơn theo ngày).
- Lưu thông tin hóa đơn vào cơ sở dữ liệu hoặc danh sách để quản lý.
Hiển thị danh sách các hóa đơn:
Hiển thị danh sách các hóa đơn đã lưu trữ, bao gồm thông tin chi tiết của từng hóa
đơn: hóa đơn, ngày hóa đơn, tên khách hàng, phòng, loại hóa đơn (theo giờ
hoặc theo ngày), đơn giá, số giờ thuê hoặc số ngày thuê, và thành tiền.
Tìm kiếm hóa đơn:
Trang 6
- Người dùng nhập mã hóa đơn hoặc tên khách hàng để tìm kiếm hóa đơn có liên
quan.
- Hiển thị thông tin chi tiết của hóa đơn tìm thấy nếu hoặc thông báo nếu
không tìm thấy.
Sửa thông tin hóa đơn:
- Người dùng nhập mã hóa đơn để xác định hóa đơn cần sửa đổi.
- Cho phép người dùng chỉnh sửa các thông tin của hóa đơn, bao gồm: ngày hóa
đơn, tên khách hàng, mã phòng, loại hóa đơn, đơn giá, số giờ thuê hoặc số ngày
thuê.
- Sau khi chỉnh sửa, tính toán lại thành tiền dựa trên thông tin mới.
Xóa hóa đơn:
- Người dùng nhập mã hóa đơn để xác định hóa đơn cần xóa.
- Xóa hóa đơn khỏi danh sách hoặc cơ sở dữ liệu.
Tính tổng doanh thu:
Tính tổng doanh thu của khách sạn từ tất cả các hóa đơn đã lưu trữ.
1.3 Các biểu mẫu thống kê:
Biểu mẫu 1 (BM1).
Hóa đơn theo ngày
Mã hóa đơn:
Họ và tên:
Mã phòng:
Ngày lập hóa đơn:
Giá:
Số ngày thuê:
Biểu mẫu 2 (BM2).
Hóa đơn theo giờ
Mã hóa đơn:
Họ và tên:
Mã phòng:
Ngày lập hóa đơn:
Trang 7
Giá:
Số ngày thuê
1.4 Mô hình hóa yêu cầu
1.4.1 Xác định Actor
Nhân viên: Đại diện cho nhóm người làm việc trong khách sạn, quyền truy cập
quản lý các thông tin về hóa đơn, bao gồm:
- Thêm hóa đơn mới vào hệ thống.
- Hiển thị danh sách các hóa đơn đã lưu trữ.
- Tìm kiếm hóa đơn cụ thể theo mã hóa đơn hoặc tên khách hàng.
- Sửa thông tin hóa đơn (ngày hóa đơn, tên khách hàng, phòng, loại hóa đơn,
đơn giá, số giờ thuê hoặc số ngày thuê).
- Xóa hóa đơn khỏi danh sách hoặc cơ sở dữ liệu.
- Tính tổng doanh thu từ các hóa đơn đã lưu trữ.
Khách hàng: Đại diện cho nhóm người thuê phòng tại khách sạn, có quyền yêu cầu tạo
hóa đơn và cung cấp thông tin cần thiết, bao gồm:
- Yêu cầu thuê phòng và cung cấp thông tin cá nhân.
- Chọn loại hóa đơn (theo giờ hoặc theo ngày) cho lần thuê phòng.
- Nhập thông tin số giờ thuê hoặc số ngày thuê tùy theo loại hóa đơn.
- Xem thông tin hóa đơn đã tạo và các thông tin liên quan.
1.4.2 Xác định Use Case
Thêm hóa đơn mới (Add Invoice)
Hiển thị danh sách hóa đơn (View Invoice List)
Tìm kiếm hóa đơn (Search Invoice)
Sửa thông tin hóa đơn (Edit Invoice)
Xóa hóa đơn (Delete Invoice)
Tính tổng doanh thu (Calculate Total Revenue)
Trang 8
1.4.3 Mô tả các Use Case
1.4.3.1 Use Case Thêm hóa đơn mới
1. Tóm tắt định danh
- Tiêu đề: Thêm hóa đơn
- Tóm tắt: Nhân viên thêm hóa đơn mới vào hệ thống bằng cách nhập thông tin
chi tiết của hóa đơn, bao gồm hóa đơn, ngày hóa đơn, tên khách hàng,
phòng, loại hóa đơn (theo giờ hoặc theo ngày), đơn giá, số giờ thuê hoặc số
ngày thuê tùy theo loại hóa đơn. Hệ thống sau đó tính toán lưu trữ thông tin
hóa đơn.
- Actor: Nhân viên
- Ngày tạo:
- Ngày cập nhật:
- Version: 2.0
- Chịu trách nhiệm: Nhóm 3
2. Mô tả scenario
a) Điều kiện tiên quyết:
Nhân viên được cấp quyền sử dụng ứng dụng.
b) Scenario bình thường:
- Nhân viên chọn tùy chọn "Thêm hóa đơn mới" từ giao diện người dùng.
- Nhân viên nhập thông tin chi tiết của hóa đơn: hóa đơn, ngày hóa đơn, tên
khách hàng, phòng, loại hóa đơn (theo giờ hoặc theo ngày), đơn giá, số giờ
thuê hoặc số ngày thuê tùy theo loại hóa đơn.
- Hệ thống tính toán và lưu trữ thông tin hóa đơn.
c) c alternate scenario:
Nếu nhân viên không nhập đủ thông tin bắt buộc cho hóa đơn, hệ thống sẽ hiển thị
thông báo lỗi yêu cầu nhập đủ thông tin.
1.4.3.2 Hiển thị danh sách hóa đơn
1. Tóm tắt định danh
- Tiêu đề: Hiển thị danh sách hóa đơn
Trang 9
- Tóm tắt: Nhân viên hiển thị danh sách các hóa đơn đã lưu trữ trong hệ thống,
bao gồm thông tin chi tiết của từng hóa đơn: hóa đơn, ngày hóa đơn, tên
khách hàng, phòng, loại hóa đơn (theo giờ hoặc theo ngày), đơn giá, số giờ
thuê hoặc số ngày thuê và thành tiền.
- Actor: Nhân viên
- Ngày tạo:
- Ngày cập nhật:
- Version: 2.0
- Chịu trách nhiệm: Nhóm 3
2. Mô tả scenario
a) Điều kiện tiên quyết:
Nhân viên được cấp quyền sử dụng ứng dụng. Hệ thống ít nhất một hóa đơn
đã lưu trữ.
b) Scenario bình thường:
- Hệ thống hiển thị danh sách các hóa đơn đã lưu trữ, bao gồm thông tin chi tiết
của từng hóa đơn như: hóa đơn, ngày hóa đơn, tên khách hàng, phòng,
loại hóa đơn (theo giờ hoặc theo ngày), đơn giá, số giờ thuê hoặc số ngày thuê
và thành tiền.
- Nhân viên thể cuộn xuống để xem danh sách hóa đơn hoặc sử dụng tính
năng tìm kiếm để tìm kiếm hóa đơn cụ thể theo hóa đơn hoặc tên khách
hàng.
c) c alternate scenario:
Nếu hệ thống không bất kỳ hóa đơno đã lưu trữ, khi nhân viên yêu cầu hiển
thị danh sách hóa đơn, giao diện sẽ là sẽ là màn hình trống.
1.4.3.3 Use Case Tìm kiếm hóa đơn
1. Tóm tắt định danh
- Tiêu đề: Tìm kiếm hóa đơn
- Tóm tắt: Nhân viên tìm kiếm hóa đơn cụ thể bằng cách nhập hóa đơn hoặc
tên khách hàng. Hệ thống hiển thị thông tin chi tiết của hóa đơn tìm thấy nếu
hoặc thông báo nếu không tìm thấy.
Trang 10
- Actor: Nhân viên
- Ngày tạo:
- Ngày cập nhật:
- Version: 2.0
- Chịu trách nhiệm: Nhóm 3
2. Mô tả scenario
a) Điều kiện tiên quyết:
Nhân viên được cấp quyền sử dụng ứng dụng.
b) Scenario bình thường:
- Nhân viên chọn tùy chọn "Tìm kiếm" từ giao diện người dùng.
- Nhân viên nhập thông tin tìm kiếm, bao gồm mã hóa đơn hoặc tên khách hàng.
- Hệ thống tìm kiếm và hiển thị danh sách các hóa đơn phù hợp với thông tin tìm
kiếm.
c) c alternate scenario:
Nếu hệ thống không tìm thấy hóa đơn tương ứng với thông tin tìm kiếm, hệ thống
sẽ hiển thị thông báo
1.4.3.4 Use Case Sửa thông tin hóa đơn
1. Tóm tắt định danh
- Tiêu đề: Sửa thông tin hóa đơn
- Tóm tắt: Nhân viên sửa thông tin hóa đơn bằng cách nhập hóa đơn để xác
định hóa đơn cần chỉnh sửa. Sau đó, người dùng thể chỉnh sửa các thông tin
của hóa đơn, bao gồm: ngày hóa đơn, tên khách hàng, phòng, loại hóa đơn,
đơn giá, số giờ thuê hoặc số ngày thuê. Hệ thống sau đó tính toán lại thành tiền
dựa trên thông tin mới.
- Actor: Nhân viên
- Ngày tạo:
- Ngày cập nhật:
- Version: 2.0
- Chịu trách nhiệm: Nhóm 3
2. Mô tả scenario
Trang 11
a) Điều kiện tiên quyết:
Nhân viên được cấp quyền sử dụng ứng dụng.
b) Scenario bình thường:
- Nhân viên chọn tùy chọn "Sửa thông tin hóa đơn" từ giao diện người dùng.
- Nhân viên nhập mã hóa đơn để xác định hóa đơn cần chỉnh sửa.
- Nhân viên sửa thông tin của hóa đơn, bao gồm ngày hóa đơn, tên khách hàng,
mã phòng, loại hóa đơn, đơn giá, số giờ thuê hoặc số ngày thuê.
- Hệ thống tính toán lại thành tiền dựa trên thông tin mới lưu trữ thông tin đã
chỉnh sửa.
c) c alternate scenario:
Nếu mã hóa đơn không tồn tại trong hệ thống, hệ thống sẽ hiển thị thông báo lỗi
đồ Use Case
1.4.3.5 Use Case Xóa hóa đơn
1. Tóm tắt định danh
- Tiêu đề: Sửa thông tin hóa đơn
- Tóm tắt: Nhân viên xóa hóa đơn khỏi danh sách hoặc sở dữ liệu bằng cách
nhập mã hóa đơn để xác định hóa đơn cần xóa.
- Actor: Nhân viên
- Ngày tạo:
- Ngày cập nhật:
- Version: 2.0
- Chịu trách nhiệm: Nhóm 3
2. Mô tả scenario
a) Điều kiện tiên quyết:
Nhân viên được cấp quyền sử dụng ứng dụng.
b) Scenario bình thường:
- Nhân viên chọn tùy chọn "Xóa hóa đơn" từ giao diện người dùng.
- Nhân viên nhập mã hóa đơn để xác định hóa đơn cần xóa.
- Hệ thống xác nhận yêu cầu xóa hóa đơn xóa hóa đơn khỏi danh sách
sở dữ liệu.
Trang 12
c) c alternate scenario:
Nếu mã hóa đơn không tồn tại trong hệ thống, hệ thống sẽ hiển thị thông báo lỗi
đồ Use Case
1.4.3.1 Use Case Tính tổng doanh thu
1. Tóm tắt định danh
- Tiêu đề: Sửa thông tin hóa đơn
- Tóm tắt: Nhân viên tính tổng doanh thu của khách sạn từ tất cả các hóa đơn đã
lưu trữ trong hệ thống.
- Actor: Nhân viên
- Ngày tạo:
- Ngày cập nhật:
- Version: 2.0
- Chịu trách nhiệm: Nhóm 3
2. Mô tả scenario
a) Điều kiện tiên quyết:
Nhân viên được cấp quyền sử dụng ứng dụng.
b) Scenario bình thường:
- Nhân viên chọn tùy chọn "Thanh toán" từ giao diện người dùng.
- Hệ thống tính toán tổng doanh thu từ tất cả các hóa đơn đã lưu trữ hiển
thị kết quả.
c) c alternate scenario:
Nếu hệ thống không bất kỳ hóa đơn nào đã lưu trữ, khi nhân viên yêu cầu tính
tổng doanh thu, hệ thống sẽ hiển thị kết quả là 0.
Trang 13
2 Phân tích
2.1 Sơ đồ lớp (Class Diagram)
(copy/chụp hình gửi kèm)
Trang 14
2.2 Sơ đồ tuần tự (Sequency Diagram)
2.2.1 Sơ đồ tuần tự Thêm hóa đơn mới
Trang 15
2.2.2 Sơ đồ tuần tự Tìm kiếm hóa đơn
Trang 16
2.2.3 Sơ đồ tuần tự Sửa thông tin hóa đơn
Trang 17
2.2.4 Sơ đồ tuần tự Xóa hóa đơn
Trang 18
2.3 Sơ đồ hoạt động (Activity Diagram)
2.4 Sơ đồ dữ liệu (ERD)
3 Thiết kế
3.1 Kiến trúc phần mềm
Kiến trúc phần mềm thể được chia thành 3 lớp chính: lớp giao diện người dùng
(User Interface), lớp xử nghiệp vụ (Business Logic) lớp truy xuất dữ liệu (Data
Access).
- Lớp giao diện người dùng sẽ cung cấp các chức năng cho người dùng để
thực hiện các use case bạn đã nêu ra, bao gồm: Thêm hóa đơn mới (Add
Invoice), Hiển thị danh sách hóa đơn (View Invoice List), Tìm kiếm hóa đơn
(Search Invoice), Sửa thông tin hóa đơn (Edit Invoice), Xóa hóa đơn (Delete
Invoice) và Tính tổng doanh thu (Calculate Total Revenue).
- Lớp xử nghiệp vụ sẽ xử các logic liên quan đến quản hóa đơn, bao
gồm việc tính toán thành tiền cho các loại hóa đơn theo giờ theo ngày,
Trang 19
kiểm tra các điều kiện liên quan đến số giờ thuê số ngày thuê, tính
toán tổng doanh thu.
- Lớp truy xuất dữ liệu sẽ thực hiện việc truy xuấtlưu trữ dữ liệu liên quan
đến hóa đơn trong cơ sở dữ liệu.
3.2 Các mẫu thiết kế
MVC, ECB, Observer, Three-Layer và Command Processor.
3.3 Sơ đồ thiết kế (Deployment Diagram)
3.4 Thiết kế giao diện
3.4.1 Menu
Sơ đồ menu chính
Trang 20
3.4.2 Thiết kế màn hình
3.4.2.1 Sơ đồ màn hình
3.4.2.2 Danh sách các thành phần màn hình trên sơ đồ
STT Mã số Loại Ý nghĩa Ghi chú
1 MhMS Qhệ Màn hình mượn sách
2
Lặp (Ứng với mỗi màn hình trên sơ đồ màn hình)
+ Mô tả chi tiết từng màn hình (chỉ với màn hình loại đối tượng và
quan hệ, màn hình danh mục làm 1 cái tượng trưng)
- Tên màn hình: Mượn Sách
- Mã số : MhMS
- Nội dung: hình thức trình bày (hình vẽ mô tả)
- Mô tả Chi tiết :
STT Tên Loại Kiểu
DL
Miền
giá trị
GT
default
Tên xử lý
Xlý
1 MaDG Text box chuỗi DocTenDG() F10
2 Ngày Text box Date Ngayht
3
Hết lặp
3.4.3 Màn hình XYZ
Chụp màn hình
Vẽ sơ đồ trạng thái (State Chart Diagram)
4 Cài đặt thử nghiệm
4.1 Cài đặt
- Bảng phân công cài đặt:
STT Ngày Công việc Người thực hiện Ký tên
1 Thiết kế dữ liệu
2 Thiết kế giao diện
3 . Thiết kế xử lý
4 Cài đặt ….
5 .. Viết báo cáo
Trang 21
6 Kiểm tra chương trình
- Danh sách tình trạng cài đặt các chức năng (mức độ hoàn thành)
STT Chức năng Mức độ hoàn thành Ghi chú
4.2 Các thử nghiệm
Nội dung các bảng dữ liệu
Một số test case chạy thử nghiệm
Giao diện trống:
Thêm hóa đơn:
Trang 22
Trang 23
Xóa hóa đơn:
Sửa thông tin hóa đơn:
Trang 24
5 Tổng kết
5.1 Kết quả đạt được
Trong quá trình nghiên cứu thực hiện dự án về Mẫu thiết kế phần mềm cùng với
việc sử dụng MVC, ECB, Observer, Three-Layer Command Processor, chúng em
đã đạt được các kết quả như ý và hoàn thiện chúng tốt đẹp.
Chúng em đã hiểu hơn về cách áp dụng các mẫu thiết kế phần mềm như Singleton,
Factory, ObserverCommand trong việc tạo ra cấu trúc chương trình linh hoạt dễ
bảo trì. Những kiến thức này đã giúp chúng tôi xây dựng một hệ thống có thể mở rộng
và thích ứng với các yêu cầu thay đổi.
Kiến thức về mô hình kiến trúc MVC và ECB bằng cách chia thành các phần riêng biệt
như module, view, control entity, control, boundary. Qua việc này, chúng tôi tạo ra
sự tách biệt giữa dữ liệu, logic giao diện người dùng, làm cho nguồn dễ quản
hơn và mở rộng hơn.
Sử dụng mô hình Observer, chúng tôi đã kết nối các thành phần trong hệ thống để thực
hiện cập nhật tự động khi có sự thay đổi. Cùng với đó, triển khai kiến trúc Three-Layer
giúp chúng tôi tạo ra một hệ thống được chia thành ba tầng: Presentation, Logic
Data, tạo ra sự phân cấp và rõ ràng trong cấu trúc chương trình.
Sử dụng Command Processor để xây dựng các lệnh và xử lý tương tác với dữ liệu. Kết
hợp với SQL, chúng tôi đã thực hiện cách truy vấn, cập nhật quản dữ liệu một
cách hiệu quả.
5.2 Đánh giá ưu, khuyết điểm
5.2.1 Ưu điểm:
Việc sử dụng các mẫu thiết kế giúp tạo ra mã nguồn được cấu trúc rõ ràng và tách biệt.
Điều này tạo điều kiện thuận lợi cho việc bảo trì phát triển nguồn trong tương
lai cũng như hiểu hơn cách triển khai những khái niệm này vào việc phát triển phần
mềm thực tế.
Trang 25
Sự hợp nhất giữa các mẫu thiết kế như Observer và Command Processor với kiến thức
về MVC, ECB. Việc tích hợp này đã giúp tạo ra một hệ thống hoàn chỉnh phù hợp
với yêu cầu.
5.2.2 Khuyết điểm
Việc áp dụng các mẫu thiết kế phần mềm đòi hỏi kiến thức sâu về thiết kế triển
khai. Điều này thể tạo ra một thách thức cho những người mới học về lĩnh vực này
và đòi hỏi thời gian để nắm bắt.
Mặc các mẫu thiết kế thể mang lại lợi ích lớn, nhưng chúng thường cần phải
được tùy chỉnh để phù hợp với từng dự án cụ thể. Điều này đòi hỏi sự hiểu biết thấu
đáo về dự án và kiến thức về mẫu thiết kế.
5.3 Hướng phát triển tương lai
Thử xây dựng ứng dụng phức tạp hơn, nhiều tương tác tích hợp nhiều thành
phần. Điều này sẽ giúp thấy hơn cách các mẫu thiết kế tương tác với nhau giải
quyết các vấn đề phức tạp trong phát triển phần mềm. dụ, kết hợp mẫu MVC với
mẫu Observer để xây dựng ứng dụng có khả năng tương tác thời gian thực.
Tạo ra một giao diện người dùng tương tác hấp dẫn thân thiện để tạo trải nghiệm
người dùng tốt hơn. Áp dụng các nguyên tắc thiết kế giao diện người dùng để đảm bảo
tính hấp dẫn dễ sử dụng cho người dùng.ng cao hiệu suất của ứng dụng tăng
cường bảo mật thông qua việc áp dụng các biện pháp tối ưu hóa nguồn, xử dữ
liệu và bảo vệ an toàn thông tin.
Bằng cách liên tục cập nhật nâng cao dự án, bạn thể tạo ra một sản phẩm phần
mềm chất lượng cao và thú vị cho cộng đồng người dùng.
Trang 26
| 1/26

Preview text:

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC GIA ĐỊNH
KHOA:CÔNG NGHỆ THÔNG TIN TIỂU LUẬN
MÔN : MẪU THIẾT KẾ CHO PHẦN MỀM ĐỀ TÀI:
Ngành : CÔNG NGHỆ THÔNG TIN
Chuyên ngành : KỸ THUẬT PHẦN MỀM
Giảng viên hướng dẫn : ThS. HUỲNH PHƯỚC DANH Lớp : K15DCPM05 Tên : Nguyễn Võ Hoàng Ân
TP. Hồ Chí Minh, tháng 8 năm 2023
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC GIA ĐỊNH
KHOA:CÔNG NGHỆ THÔNG TIN TIỂU LUẬN ĐỀ TÀI:
Ngành : CÔNG NGHỆ THÔNG TIN
Chuyên ngành : KỸ THUẬT PHẦN MỀM
Giảng viên hướng dẫn : ThS. HUỲNH PHƯỚC DANH Lớp : K15DCPM05 Tên : Nguyễn Võ Hoàng Ân
TP. Hồ Chí Minh, tháng 8 năm 2023
Khoa: Công nghệ thông tin
NHẬN XÉT VÀ CHẤM ĐIỂM CỦA GIẢNG VIÊN
TIỂU LUẬN MÔN: MẪU THIẾT KẾ CHO PHẦN MỀM
Họ và tên sinh viên: Nguyễn Võ Hoàng Ân
1. Tên đề tài: Hệ thống quản lý đặt phòng du lịch. 2. Nhận xét:
a) Những kết quả đạt được:
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
b) Những hạn chế:
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
3. Điểm đánh giá (theo thang điểm 10, làm tròn đến 0.5):
Sinh viên:……………………………………………………………………………….
Điểm số: ……….…… Điểm chữ: ……………………………………………………...........
TP. HCM, ngày … tháng … năm 20……
Giảng viên chấm thi
(Ký và ghi rõ họ tên) MỤC LỤC 1
Hiện trạng và Yêu cầu..........................................................................................5 1.1
Hiện trạng:......................................................................................................5 1.2
Yêu cầu:...........................................................................................................6 1.3
Các biểu mẫu thống kê:.................................................................................7 1.4
Mô hình hóa yêu cầu......................................................................................8 1.4.1
Xác định Actor.........................................................................................8 1.4.2
Xác định Use Case...................................................................................8 1.4.3
Mô tả các Use Case..................................................................................8
1.4.3.1 Use Case Thêm hóa đơn mới....................................................................8
1.4.3.2 Hiển thị danh sách hóa đơn 1. Tóm tắt định danh.................................9
1.4.3.3 Use Case Tìm kiếm hóa đơn...................................................................10
1.4.3.4 Use Case Sửa thông tin hóa đơn............................................................11
1.4.3.5 Use Case Xóa hóa đơn............................................................................12 1.4.3.6
Use Case Tính tổng doanh thu...........................................................12 2
Phân tích..............................................................................................................14 2.1
Sơ đồ lớp (Class Diagram)...........................................................................14 2.2
Sơ đồ tuần tự (Sequency Diagram).............................................................15 2.2.1
Sơ đồ tuần tự Thêm hóa đơn mới.........................................................15 2.2.2
Sơ đồ tuần tự Tìm kiếm hóa đơn..........................................................16 2.2.3
Sơ đồ tuần tự Sửa thông tin hóa đơn....................................................17 2.2.4
Sơ đồ tuần tự Xóa hóa đơn....................................................................18 2.3
Sơ đồ hoạt động (Activity Diagram)...........................................................19 2.4
Sơ đồ dữ liệu (ERD).....................................................................................19 3
Thiết kế................................................................................................................19 3.1
Kiến trúc phần mềm.....................................................................................19 3.2
Các mẫu thiết kế...........................................................................................20 3.3
Sơ đồ thiết kế (Deployment Diagram).........................................................20 3.4
Thiết kế giao diện.........................................................................................20 3.4.1
Menu.......................................................................................................20 3.4.2
Thiết kế màn hình..................................................................................21 3.4.3
Màn hình XYZ.......................................................................................22 4
Cài đặt thử nghiệm.............................................................................................22 4.1
Cài đặt...........................................................................................................22 4.2
Các thử nghiệm.............................................................................................22 5
Tổng kết...............................................................................................................25 5.1
Kết quả đạt được..........................................................................................25 5.2
Đánh giá ưu, khuyết điểm............................................................................25 5.2.1
Ưu điểm:.................................................................................................25 5.2.2
Khuyết điểm...........................................................................................26 5.3
Hướng phát triển tương lai..........................................................................26 Trang 4
1 Hiện trạng và Yêu cầu
1.1 Hiện trạng:
Giới thiệu về thế giới thực liên quan:
Khách sạn X là một cơ sở kinh doanh cung cấp dịch vụ cho thuê phòng. Khách hàng
có thể thuê phòng theo giờ hoặc theo ngày tùy theo nhu cầu và thời gian lưu trú. Khi
khách hàng thuê phòng, khách sạn sẽ tạo hóa đơn cho khách hàng dựa trên thông tin về
thời gian thuê, đơn giá và các thông tin cá nhân khác.
Mô tả quy trình các công việc liên quan đến đề tài:
- Khách hàng yêu cầu thuê phòng và cung cấp thông tin cá nhân, ngày, giờ muốn
nhận phòng, và loại hóa đơn mong muốn (theo giờ hoặc theo ngày).
- Nhân viên tiếp nhận yêu cầu và kiểm tra tính hợp lệ của thông tin khách hàng.
- Dựa trên loại hóa đơn mà khách hàng chọn, nhân viên tính toán số giờ hoặc số
ngày thuê và xác định đơn giá phù hợp.
- Tạo hóa đơn với thông tin chi tiết về mã hóa đơn, ngày hóa đơn, tên khách
hàng, mã phòng, đơn giá và thành tiền.
- Lưu trữ thông tin hóa đơn vào hệ thống quản lý dữ liệu của khách sạn.
Mô tả các mẫu biểu có liên quan:
- Biểu mẫu yêu cầu thuê phòng: Chứa thông tin cá nhân của khách hàng, ngày,
giờ nhận phòng và loại hóa đơn mong muốn.
- Biểu mẫu hóa đơn: Chứa thông tin chi tiết của hóa đơn, bao gồm mã hóa đơn,
ngày hóa đơn, tên khách hàng, mã phòng, đơn giá, số giờ hoặc số ngày thuê và thành tiền.
Mô tả các quy định ràng buộc có liên quan: Trang 5
- Khách hàng chỉ có thể chọn một trong hai loại hóa đơn (theo giờ hoặc theo
ngày) khi thuê phòng, không thể áp dụng cả hai loại hóa đơn cho cùng một lần thuê phòng.
- Nếu số giờ thuê vượt quá 30 giờ, khách sạn sẽ không sử dụng loại hóa đơn theo
giờ và tính toán chỉ dựa trên hóa đơn theo ngày.
Mô tả các quy định công thức tính có liên quan:
- Hóa đơn theo giờ: Thành tiền = số giờ thuê * đơn giá. Nếu số giờ > 24 tiếng và
< 30 tiếng, chỉ tính 24 giờ.
- Hóa đơn theo ngày: Thành tiền = số ngày thuê * đơn giá. Nếu số ngày > 7, giảm
20% đơn giá cho những ngày còn lại (sau 7 ngày). 1.2 Yêu cầu:
Danh sách các công việc sẽ được hỗ trợ thực hiện trên máy tính (dựa theo tóm tắt yêu cầu đã cho). Chương trình cho phép: Thêm hóa đơn mới:
- Người dùng nhập thông tin chi tiết của hóa đơn, bao gồm: Mã hóa đơn, ngày
hóa đơn, tên khách hàng, mã phòng, loại hóa đơn (theo giờ hoặc theo ngày),
đơn giá, số giờ thuê hoặc số ngày thuê tùy theo loại hóa đơn.
- Dựa vào thông tin loại hóa đơn, tính toán thành tiền theo quy tắc đã đề cập
(thành tiền cho hóa đơn theo giờ hoặc hóa đơn theo ngày).
- Lưu thông tin hóa đơn vào cơ sở dữ liệu hoặc danh sách để quản lý.
Hiển thị danh sách các hóa đơn:
Hiển thị danh sách các hóa đơn đã lưu trữ, bao gồm thông tin chi tiết của từng hóa
đơn: Mã hóa đơn, ngày hóa đơn, tên khách hàng, mã phòng, loại hóa đơn (theo giờ
hoặc theo ngày), đơn giá, số giờ thuê hoặc số ngày thuê, và thành tiền. Tìm kiếm hóa đơn: Trang 6
- Người dùng nhập mã hóa đơn hoặc tên khách hàng để tìm kiếm hóa đơn có liên quan.
- Hiển thị thông tin chi tiết của hóa đơn tìm thấy nếu có hoặc thông báo nếu không tìm thấy. Sửa thông tin hóa đơn:
- Người dùng nhập mã hóa đơn để xác định hóa đơn cần sửa đổi.
- Cho phép người dùng chỉnh sửa các thông tin của hóa đơn, bao gồm: ngày hóa
đơn, tên khách hàng, mã phòng, loại hóa đơn, đơn giá, số giờ thuê hoặc số ngày thuê.
- Sau khi chỉnh sửa, tính toán lại thành tiền dựa trên thông tin mới. Xóa hóa đơn:
- Người dùng nhập mã hóa đơn để xác định hóa đơn cần xóa.
- Xóa hóa đơn khỏi danh sách hoặc cơ sở dữ liệu. Tính tổng doanh thu:
Tính tổng doanh thu của khách sạn từ tất cả các hóa đơn đã lưu trữ.
1.3 Các biểu mẫu thống kê:
Biểu mẫu 1 (BM1). Hóa đơn theo ngày Mã hóa đơn: Họ và tên: Mã phòng: Ngày lập hóa đơn: Giá: Số ngày thuê: Biểu mẫu 2 (BM2). Hóa đơn theo giờ Mã hóa đơn: Họ và tên: Mã phòng: Ngày lập hóa đơn: Trang 7 Giá: Số ngày thuê
1.4 Mô hình hóa yêu cầu 1.4.1 Xác định Actor
Nhân viên: Đại diện cho nhóm người làm việc trong khách sạn, có quyền truy cập và
quản lý các thông tin về hóa đơn, bao gồm:
- Thêm hóa đơn mới vào hệ thống.
- Hiển thị danh sách các hóa đơn đã lưu trữ.
- Tìm kiếm hóa đơn cụ thể theo mã hóa đơn hoặc tên khách hàng.
- Sửa thông tin hóa đơn (ngày hóa đơn, tên khách hàng, mã phòng, loại hóa đơn,
đơn giá, số giờ thuê hoặc số ngày thuê).
- Xóa hóa đơn khỏi danh sách hoặc cơ sở dữ liệu.
- Tính tổng doanh thu từ các hóa đơn đã lưu trữ.
Khách hàng: Đại diện cho nhóm người thuê phòng tại khách sạn, có quyền yêu cầu tạo
hóa đơn và cung cấp thông tin cần thiết, bao gồm:
- Yêu cầu thuê phòng và cung cấp thông tin cá nhân.
- Chọn loại hóa đơn (theo giờ hoặc theo ngày) cho lần thuê phòng.
- Nhập thông tin số giờ thuê hoặc số ngày thuê tùy theo loại hóa đơn.
- Xem thông tin hóa đơn đã tạo và các thông tin liên quan.
1.4.2 Xác định Use Case
Thêm hóa đơn mới (Add Invoice)
Hiển thị danh sách hóa đơn (View Invoice List)
Tìm kiếm hóa đơn (Search Invoice)
Sửa thông tin hóa đơn (Edit Invoice)
Xóa hóa đơn (Delete Invoice)
Tính tổng doanh thu (Calculate Total Revenue) Trang 8
1.4.3 Mô tả các Use Case
1.4.3.1 Use Case Thêm hóa đơn mới
1. Tóm tắt định danh
- Tiêu đề: Thêm hóa đơn
- Tóm tắt: Nhân viên thêm hóa đơn mới vào hệ thống bằng cách nhập thông tin
chi tiết của hóa đơn, bao gồm mã hóa đơn, ngày hóa đơn, tên khách hàng, mã
phòng, loại hóa đơn (theo giờ hoặc theo ngày), đơn giá, số giờ thuê hoặc số
ngày thuê tùy theo loại hóa đơn. Hệ thống sau đó tính toán và lưu trữ thông tin hóa đơn. - Actor: Nhân viên - Ngày tạo: - Ngày cập nhật: - Version: 2.0
- Chịu trách nhiệm: Nhóm 3 2. Mô tả scenario
a) Điều kiện tiên quyết:
Nhân viên được cấp quyền sử dụng ứng dụng.
b) Scenario bình thường:
- Nhân viên chọn tùy chọn "Thêm hóa đơn mới" từ giao diện người dùng.
- Nhân viên nhập thông tin chi tiết của hóa đơn: Mã hóa đơn, ngày hóa đơn, tên
khách hàng, mã phòng, loại hóa đơn (theo giờ hoặc theo ngày), đơn giá, số giờ
thuê hoặc số ngày thuê tùy theo loại hóa đơn.
- Hệ thống tính toán và lưu trữ thông tin hóa đơn.
c) Các alternate scenario:
Nếu nhân viên không nhập đủ thông tin bắt buộc cho hóa đơn, hệ thống sẽ hiển thị
thông báo lỗi yêu cầu nhập đủ thông tin.
1.4.3.2 Hiển thị danh sách hóa đơn
1. Tóm tắt định danh
- Tiêu đề: Hiển thị danh sách hóa đơn Trang 9
- Tóm tắt: Nhân viên hiển thị danh sách các hóa đơn đã lưu trữ trong hệ thống,
bao gồm thông tin chi tiết của từng hóa đơn: Mã hóa đơn, ngày hóa đơn, tên
khách hàng, mã phòng, loại hóa đơn (theo giờ hoặc theo ngày), đơn giá, số giờ
thuê hoặc số ngày thuê và thành tiền. - Actor: Nhân viên - Ngày tạo: - Ngày cập nhật: - Version: 2.0
- Chịu trách nhiệm: Nhóm 3 2. Mô tả scenario
a) Điều kiện tiên quyết:
Nhân viên được cấp quyền sử dụng ứng dụng. Hệ thống có ít nhất một hóa đơn đã lưu trữ.
b) Scenario bình thường:
- Hệ thống hiển thị danh sách các hóa đơn đã lưu trữ, bao gồm thông tin chi tiết
của từng hóa đơn như: Mã hóa đơn, ngày hóa đơn, tên khách hàng, mã phòng,
loại hóa đơn (theo giờ hoặc theo ngày), đơn giá, số giờ thuê hoặc số ngày thuê và thành tiền.
- Nhân viên có thể cuộn xuống để xem danh sách hóa đơn hoặc sử dụng tính
năng tìm kiếm để tìm kiếm hóa đơn cụ thể theo mã hóa đơn hoặc tên khách hàng.
c) Các alternate scenario:
Nếu hệ thống không có bất kỳ hóa đơn nào đã lưu trữ, khi nhân viên yêu cầu hiển
thị danh sách hóa đơn, giao diện sẽ là sẽ là màn hình trống.
1.4.3.3 Use Case Tìm kiếm hóa đơn
1. Tóm tắt định danh
- Tiêu đề: Tìm kiếm hóa đơn
- Tóm tắt: Nhân viên tìm kiếm hóa đơn cụ thể bằng cách nhập mã hóa đơn hoặc
tên khách hàng. Hệ thống hiển thị thông tin chi tiết của hóa đơn tìm thấy nếu có
hoặc thông báo nếu không tìm thấy. Trang 10 - Actor: Nhân viên - Ngày tạo: - Ngày cập nhật: - Version: 2.0
- Chịu trách nhiệm: Nhóm 3 2. Mô tả scenario
a) Điều kiện tiên quyết:
Nhân viên được cấp quyền sử dụng ứng dụng.
b) Scenario bình thường:
- Nhân viên chọn tùy chọn "Tìm kiếm" từ giao diện người dùng.
- Nhân viên nhập thông tin tìm kiếm, bao gồm mã hóa đơn hoặc tên khách hàng.
- Hệ thống tìm kiếm và hiển thị danh sách các hóa đơn phù hợp với thông tin tìm kiếm.
c) Các alternate scenario:
Nếu hệ thống không tìm thấy hóa đơn tương ứng với thông tin tìm kiếm, hệ thống sẽ hiển thị thông báo
1.4.3.4 Use Case Sửa thông tin hóa đơn
1. Tóm tắt định danh
- Tiêu đề: Sửa thông tin hóa đơn
- Tóm tắt: Nhân viên sửa thông tin hóa đơn bằng cách nhập mã hóa đơn để xác
định hóa đơn cần chỉnh sửa. Sau đó, người dùng có thể chỉnh sửa các thông tin
của hóa đơn, bao gồm: ngày hóa đơn, tên khách hàng, mã phòng, loại hóa đơn,
đơn giá, số giờ thuê hoặc số ngày thuê. Hệ thống sau đó tính toán lại thành tiền dựa trên thông tin mới. - Actor: Nhân viên - Ngày tạo: - Ngày cập nhật: - Version: 2.0
- Chịu trách nhiệm: Nhóm 3 2. Mô tả scenario Trang 11
a) Điều kiện tiên quyết:
Nhân viên được cấp quyền sử dụng ứng dụng.
b) Scenario bình thường:
- Nhân viên chọn tùy chọn "Sửa thông tin hóa đơn" từ giao diện người dùng.
- Nhân viên nhập mã hóa đơn để xác định hóa đơn cần chỉnh sửa.
- Nhân viên sửa thông tin của hóa đơn, bao gồm ngày hóa đơn, tên khách hàng,
mã phòng, loại hóa đơn, đơn giá, số giờ thuê hoặc số ngày thuê.
- Hệ thống tính toán lại thành tiền dựa trên thông tin mới và lưu trữ thông tin đã chỉnh sửa.
c) Các alternate scenario:
Nếu mã hóa đơn không tồn tại trong hệ thống, hệ thống sẽ hiển thị thông báo lỗi Sơ đồ Use Case
1.4.3.5 Use Case Xóa hóa đơn
1. Tóm tắt định danh
- Tiêu đề: Sửa thông tin hóa đơn
- Tóm tắt: Nhân viên xóa hóa đơn khỏi danh sách hoặc cơ sở dữ liệu bằng cách
nhập mã hóa đơn để xác định hóa đơn cần xóa. - Actor: Nhân viên - Ngày tạo: - Ngày cập nhật: - Version: 2.0
- Chịu trách nhiệm: Nhóm 3 2. Mô tả scenario
a) Điều kiện tiên quyết:
Nhân viên được cấp quyền sử dụng ứng dụng.
b) Scenario bình thường:
- Nhân viên chọn tùy chọn "Xóa hóa đơn" từ giao diện người dùng.
- Nhân viên nhập mã hóa đơn để xác định hóa đơn cần xóa.
- Hệ thống xác nhận yêu cầu xóa hóa đơn và xóa hóa đơn khỏi danh sách và cơ sở dữ liệu. Trang 12
c) Các alternate scenario:
Nếu mã hóa đơn không tồn tại trong hệ thống, hệ thống sẽ hiển thị thông báo lỗi Sơ đồ Use Case
1.4.3.1 Use Case Tính tổng doanh thu
1. Tóm tắt định danh
- Tiêu đề: Sửa thông tin hóa đơn
- Tóm tắt: Nhân viên tính tổng doanh thu của khách sạn từ tất cả các hóa đơn đã lưu trữ trong hệ thống. - Actor: Nhân viên - Ngày tạo: - Ngày cập nhật: - Version: 2.0
- Chịu trách nhiệm: Nhóm 3 2. Mô tả scenario
a) Điều kiện tiên quyết:
Nhân viên được cấp quyền sử dụng ứng dụng.
b) Scenario bình thường:
- Nhân viên chọn tùy chọn "Thanh toán" từ giao diện người dùng.
- Hệ thống tính toán tổng doanh thu từ tất cả các hóa đơn đã lưu trữ và hiển thị kết quả.
c) Các alternate scenario:
Nếu hệ thống không có bất kỳ hóa đơn nào đã lưu trữ, khi nhân viên yêu cầu tính
tổng doanh thu, hệ thống sẽ hiển thị kết quả là 0. Trang 13 2 Phân tích
2.1 Sơ đồ lớp (Class Diagram)
(copy/chụp hình gửi kèm) Trang 14
2.2 Sơ đồ tuần tự (Sequency Diagram)
2.2.1 Sơ đồ tuần tự Thêm hóa đơn mới Trang 15
2.2.2 Sơ đồ tuần tự Tìm kiếm hóa đơn Trang 16
2.2.3 Sơ đồ tuần tự Sửa thông tin hóa đơn Trang 17
2.2.4 Sơ đồ tuần tự Xóa hóa đơn Trang 18
2.3 Sơ đồ hoạt động (Activity Diagram)
2.4 Sơ đồ dữ liệu (ERD) 3 Thiết kế
3.1 Kiến trúc phần mềm
Kiến trúc phần mềm có thể được chia thành 3 lớp chính: lớp giao diện người dùng
(User Interface), lớp xử lý nghiệp vụ (Business Logic) và lớp truy xuất dữ liệu (Data Access).
- Lớp giao diện người dùng sẽ cung cấp các chức năng cho người dùng để
thực hiện các use case mà bạn đã nêu ra, bao gồm: Thêm hóa đơn mới (Add
Invoice), Hiển thị danh sách hóa đơn (View Invoice List), Tìm kiếm hóa đơn
(Search Invoice), Sửa thông tin hóa đơn (Edit Invoice), Xóa hóa đơn (Delete
Invoice) và Tính tổng doanh thu (Calculate Total Revenue).
- Lớp xử lý nghiệp vụ sẽ xử lý các logic liên quan đến quản lý hóa đơn, bao
gồm việc tính toán thành tiền cho các loại hóa đơn theo giờ và theo ngày, Trang 19
kiểm tra các điều kiện liên quan đến số giờ thuê và số ngày thuê, và tính toán tổng doanh thu.
- Lớp truy xuất dữ liệu sẽ thực hiện việc truy xuất và lưu trữ dữ liệu liên quan
đến hóa đơn trong cơ sở dữ liệu.
3.2 Các mẫu thiết kế
MVC, ECB, Observer, Three-Layer và Command Processor.
3.3 Sơ đồ thiết kế (Deployment Diagram)
3.4 Thiết kế giao diện 3.4.1 Menu  Sơ đồ menu chính Trang 20
3.4.2 Thiết kế màn hình
3.4.2.1 Sơ đồ màn hình
3.4.2.2 Danh sách các thành phần màn hình trên sơ đồ STT Mã số Loại Ý nghĩa Ghi chú 1 MhMS Qhệ Màn hình mượn sách 2 …
Lặp (Ứng với mỗi màn hình trên sơ đồ màn hình)
+ Mô tả chi tiết từng màn hình (chỉ với màn hình loại đối tượng và
quan hệ, màn hình danh mục làm 1 cái tượng trưng) - T
ên màn hình: Mượn Sách - M ã số : MhMS
- Nội dung: hình thức trình bày (hình vẽ mô tả) - M ô tả Chi tiết : STT Tên Loại Kiểu Miền GT Tên xử lý Mã DL giá trị default Xlý 1 MaDG Text box chuỗi DocTenDG() F10 2 Ngày Text box Date Ngayht 3 … Hết lặp 3.4.3 Màn hình XYZ Chụp màn hình
Vẽ sơ đồ trạng thái (State Chart Diagram)
4 Cài đặt thử nghiệm 4.1 Cài đặt -
Bảng phân công cài đặt: STT Ngày Công việc Người thực hiện Ký tên 1 Thiết kế dữ liệu … 2 … Thiết kế giao diện … 3 . Thiết kế xử lý … 4 … Cài đặt …. 5 .. Viết báo cáo Trang 21 6 … Kiểm tra chương trình … … -
Danh sách tình trạng cài đặt các chức năng (mức độ hoàn thành) STT Chức năng Mức độ hoàn thành Ghi chú
4.2 Các thử nghiệm
Nội dung các bảng dữ liệu 
Một số test case chạy thử nghiệm Giao diện trống: Thêm hóa đơn: Trang 22 Trang 23 Xóa hóa đơn: Sửa thông tin hóa đơn: Trang 24 5 Tổng kết
5.1 Kết quả đạt được
Trong quá trình nghiên cứu và thực hiện dự án về Mẫu thiết kế phần mềm cùng với
việc sử dụng MVC, ECB, Observer, Three-Layer và Command Processor, chúng em
đã đạt được các kết quả như ý và hoàn thiện chúng tốt đẹp.
Chúng em đã hiểu rõ hơn về cách áp dụng các mẫu thiết kế phần mềm như Singleton,
Factory, Observer và Command trong việc tạo ra cấu trúc chương trình linh hoạt và dễ
bảo trì. Những kiến thức này đã giúp chúng tôi xây dựng một hệ thống có thể mở rộng
và thích ứng với các yêu cầu thay đổi.
Kiến thức về mô hình kiến trúc MVC và ECB bằng cách chia thành các phần riêng biệt
như module, view, control và entity, control, boundary. Qua việc này, chúng tôi tạo ra
sự tách biệt giữa dữ liệu, logic và giao diện người dùng, làm cho mã nguồn dễ quản lý hơn và mở rộng hơn.
Sử dụng mô hình Observer, chúng tôi đã kết nối các thành phần trong hệ thống để thực
hiện cập nhật tự động khi có sự thay đổi. Cùng với đó, triển khai kiến trúc Three-Layer
giúp chúng tôi tạo ra một hệ thống được chia thành ba tầng: Presentation, Logic và
Data, tạo ra sự phân cấp và rõ ràng trong cấu trúc chương trình.
Sử dụng Command Processor để xây dựng các lệnh và xử lý tương tác với dữ liệu. Kết
hợp với SQL, chúng tôi đã thực hiện cách truy vấn, cập nhật và quản lý dữ liệu một cách hiệu quả.
5.2 Đánh giá ưu, khuyết điểm 5.2.1 Ưu điểm:
Việc sử dụng các mẫu thiết kế giúp tạo ra mã nguồn được cấu trúc rõ ràng và tách biệt.
Điều này tạo điều kiện thuận lợi cho việc bảo trì và phát triển mã nguồn trong tương
lai cũng như hiểu rõ hơn cách triển khai những khái niệm này vào việc phát triển phần mềm thực tế. Trang 25
Sự hợp nhất giữa các mẫu thiết kế như Observer và Command Processor với kiến thức
về MVC, ECB. Việc tích hợp này đã giúp tạo ra một hệ thống hoàn chỉnh và phù hợp với yêu cầu. 5.2.2 Khuyết điểm
Việc áp dụng các mẫu thiết kế phần mềm đòi hỏi kiến thức sâu về thiết kế và triển
khai. Điều này có thể tạo ra một thách thức cho những người mới học về lĩnh vực này
và đòi hỏi thời gian để nắm bắt.
Mặc dù các mẫu thiết kế có thể mang lại lợi ích lớn, nhưng chúng thường cần phải
được tùy chỉnh để phù hợp với từng dự án cụ thể. Điều này đòi hỏi sự hiểu biết thấu
đáo về dự án và kiến thức về mẫu thiết kế.
5.3 Hướng phát triển tương lai
Thử xây dựng ứng dụng phức tạp hơn, có nhiều tương tác và tích hợp nhiều thành
phần. Điều này sẽ giúp thấy rõ hơn cách các mẫu thiết kế tương tác với nhau và giải
quyết các vấn đề phức tạp trong phát triển phần mềm. Ví dụ, kết hợp mẫu MVC với
mẫu Observer để xây dựng ứng dụng có khả năng tương tác thời gian thực.
Tạo ra một giao diện người dùng tương tác hấp dẫn và thân thiện để tạo trải nghiệm
người dùng tốt hơn. Áp dụng các nguyên tắc thiết kế giao diện người dùng để đảm bảo
tính hấp dẫn và dễ sử dụng cho người dùng. Nâng cao hiệu suất của ứng dụng và tăng
cường bảo mật thông qua việc áp dụng các biện pháp tối ưu hóa mã nguồn, xử lý dữ
liệu và bảo vệ an toàn thông tin.
Bằng cách liên tục cập nhật và nâng cao dự án, bạn có thể tạo ra một sản phẩm phần
mềm chất lượng cao và thú vị cho cộng đồng người dùng. Trang 26
Document Outline

  • 1 Hiện trạng và Yêu cầu
    • 1.1 Hiện trạng:
    • 1.2 Yêu cầu:
    • 1.3 Các biểu mẫu thống kê:
    • 1.4 Mô hình hóa yêu cầu
      • 1.4.1 Xác định Actor
      • 1.4.2 Xác định Use Case
      • 1.4.3 Mô tả các Use Case
      • 1.4.3.1 Use Case Thêm hóa đơn mới
      • 1.4.3.2 Hiển thị danh sách hóa đơn 1. Tóm tắt định danh
      • 1.4.3.3 Use Case Tìm kiếm hóa đơn
      • 1.4.3.4 Use Case Sửa thông tin hóa đơn
      • 1.4.3.5 Use Case Xóa hóa đơn
      • 1.4.3.1 Use Case Tính tổng doanh thu
  • 2 Phân tích
    • 2.1 Sơ đồ lớp (Class Diagram)
    • 2.2 Sơ đồ tuần tự (Sequency Diagram)
      • 2.2.1 Sơ đồ tuần tự Thêm hóa đơn mới
      • 2.2.2 Sơ đồ tuần tự Tìm kiếm hóa đơn
      • 2.2.3 Sơ đồ tuần tự Sửa thông tin hóa đơn
      • 2.2.4 Sơ đồ tuần tự Xóa hóa đơn
    • 2.3 Sơ đồ hoạt động (Activity Diagram)
    • 2.4 Sơ đồ dữ liệu (ERD)
  • 3 Thiết kế
    • 3.1 Kiến trúc phần mềm
    • 3.2 Các mẫu thiết kế
    • 3.3 Sơ đồ thiết kế (Deployment Diagram)
    • 3.4 Thiết kế giao diện
      • 3.4.1 Menu
      • 3.4.2 Thiết kế màn hình
        • 3.4.2.1 Sơ đồ màn hình
        • 3.4.2.2 Danh sách các thành phần màn hình trên sơ đồ
      • 3.4.3 Màn hình XYZ
  • 4 Cài đặt thử nghiệm
    • 4.1 Cài đặt
    • 4.2 Các thử nghiệm
  • 5 Tổng kết
    • 5.1 Kết quả đạt được
    • 5.2 Đánh giá ưu, khuyết điểm
      • 5.2.1 Ưu điểm:
      • 5.2.2 Khuyết điểm
    • 5.3 Hướng phát triển tương lai