V. CẤU TRÚC HÓA YÊU CẦU
5. Xây dựng mô hình Usecase đặt tả yêu cầu phần mềm Hệ thống mới
Thiết lập các actor: Actor được thiết lập ở mức này chính là các người dùng trực tiếp phần mềm hệ thống.
- Quyết định xem đối tượng môi trường có sử dụng hệ thống phần mềm không? Nếu không thì xác định xem đối tượng nào sử dụng hệ thống để làm việc với đối tượng môi trường đó, và đối tượng đó sẽ là actor.
Ví dụ: Khách hàng là đối tượng môi trường, Khách hàng không trực tiếp sử dụng phần mềm hệ thống mà thông qua Nhân viên tiếp tân, do đó Nhân viên tiếp tân là Actor - Nếu đúng, đối tượng môi trường đó chính là một actor. Ví dụ trong hoạt động đặt
phòng, hệ thống cho phép đặt phòng onlineKhách hàng là một actor hệ thống vì trực tiếp sử dụng phần mềm hệ thống.
- Đối với các đối tượng trong hệ thống (Nhân viên tiếp tân,Trưởng Phòng….), kiểm tra mô hình hoạt động xem các chức năng tự động hóa có được sử dụng bởi các đối tượng này không, nếu có các đối tượng này là actor.
Trang 67/113
• Mô hình Use case phần mềm đặc tả thuê Phòng được xác định theo bảng sau:
Tô Trung Đoàn (DTH061034) Khoa: Kĩ thuật-Công Nghệ-Môi Trường Huỳnh Văn Thiện (DTH0610) Lớp DH7TH
Use case chức năng phần
mềm Hệ thống Hoạt động Actor(User)
Kiểm tra Phòng Kiểm tra trạng thái Phòng Nhân viên tiếp tân Xử lý thuê Phòng Lập phiếu thuê Phòng, lưu
phiếu thuê Phòng
Nhân viên tiếp tân Xử lý sử dụng dịch vụ Lập phiếu sử dụng dịch vụ,
lưu phiếu sử dụng dịch vụ
Nhân viên tiếp tân Cập nhật Phòng Cập nhật trạng thái Phòng Nhân viên tiếp tân
Tìm kiếm Tìm kiếm thông tin theo từng
chức năng
Người dùng Hệ thống
• Mô hình Use case phần mềm đặc tả đặt Phòng được xác định theo bảng sau:
• Mô hình Use case phần mềm đặc tả trả Phòng được xác định theo bảng sau:
Use case chức năng phần mềm Hệ thống
Hoạt động Actor(User)
Kiểm tra trả Phòng Kiểm tra hạn trả Phòng Nhân viên tiếp tân Lập hóa đơn Lập hóa đơn thanh toán, Lưu hóa
đơn thanh toán, In hóa đơn
Nhân viên tiếp tân Cập nhật Phòng Cập nhật trạng thái Phòng Nhân viên tiếp tân Xử lý gia hạn Xử lý gia hạn sử dụng Phòng Nhân viên tiếp tân
Tìm kiếm Tìm kiếm thông tin theo từng Nhân viên tiếp tân, Khách
Use case chức năng phần mềm Hệ thống
Hoạt động Actor(User)
Kiểm tra Phòng Kiểm tra trạng thái Phòng Nhân viên tiếp tân, Khách hàng Đặt Phòng online Đặt Phòng trực tuyến Nhân viên tiếp tân, Khách hàng Xử lý đặt Phòng Lập phiếu đặt Phòng, lưu
phiếu đặt Phòng
Nhân viên tiếp tân, Khách hàng Cập nhật Phòng Cập nhật trạng thái Phòng Nhân viên tiếp tân
Tìm kiếm Tìm kiếm thông tin theo
từng chức năng Nhân viên tiếp tân,Khách hàng
Trang 69/113
chức năng hàng
b) Xây dựng các Use case khai thác và sử dụng Hệ thống
Gồm các Use case mô tả các khai thác dữ liệu Hệ thống(thống kê,báo cáo,tìm kiếm….).
Use case chức năng phần mềm Hệ thống
Hoạt động Actor(User)
Lập thống kê Lập các Bản thống kê, Lưu thống kê,
In thống kê Nhân viên kế toán, Nhân viên kinh doanh, Người Quản lý Lập báo cáo thống kê Lập bản báo cáo thống kê, Lưu bản
báo cáo thống kê, In báo cáo thống kê Nhân viên kế toán, Nhân viên kinh doanh, Người Quản lý Lập kế hoạch kinh
doanh
Lập bản kế hoạch kinh doanh, Lưu, In kế hoạch kinh doanh
Nhân viên kế toán, Nhân viên kinh doanh, Người Quản lý
Tô Trung Đoàn (DTH061034) Khoa: Kĩ thuật-Công Nghệ-Môi Trường Huỳnh Văn Thiện (DTH0610) Lớp DH7TH
Hình 33:Mô hình Use case biểu diễn chức năng phần mềm hoạt động trả Phòng
c) Xây dựng Use case mô tả chức năng Quản trị Hệ thống:
Gồm các chức năng quản trị an toàn hệ thống (đăng nhập, quyền sử dụng, nhóm người dùng….).
Use case chức năng phần mềm Hệ
thống
Hoạt động Actor(User)
Cấp tài khoản Cấp usename, password cho người dùng
Quản trị Hệ thống (Chủ tịch Hội đồng quản trị, Giám đốc, Trưởng Phòng) Đăng nhập hệ thống Xử lý đăng nhập hệ thống Người dùng (Tất cả các đối tượng trong
hệ thống, Khách hàng) Quản trị người dùng Quản trị người dùng Hệ thống Quản trị hệ thống Sử dụng hệ thống Ứng với từng usename, password sẽ
được quyền sử dụng các chức năng hệ thống khác nhau
Người dùng hệ thống
d) Tinh chế các Use case.
• Use case Quản trị Hệ thống được tinh chế
Trang 71/113
• Use case thuê phòng được tinh chế
• Use case thuê phòng được tinh chế
Tô Trung Đoàn (DTH061034) Khoa: Kĩ thuật-Công Nghệ-Môi Trường Huỳnh Văn Thiện (DTH0610) Lớp DH7TH
Hình 37:Use case thuê Phòng được tinh chế
Hình 38:Use case đặt Phòng được tinh chế Hình 39:Use case trả Phòng được tinh chế
• Use case thống kê,báo cáo được tinh chế
VI.MÔ HÌNH HÓA DỮ LIỆU
1. Xác định đối tượng trong Hệ thống:
Xác định đối tượng trong hệ thống theo phương pháp tiếp cận theo Use case, phương pháp này tiếp cận chi tiết các đối tượng của hệ thống rồi tích hợp thành mô hình chung biểu diễn toàn bộ đối tượng hệ thống, bao gồm các bước sau:
- Với từng use case trong sơ đồ Use case, áp dụng cách tiếp cận theo danh từ, cụm danh từ để xác định các class mà usecase đó tác động tới.
- Xác định mối kết hợp giữa các class trong use case để tạo ra sơ đồ class cho use case.
- Tích hợp các sơ đồ class của tất cả use case để tạo ra sơ đồ class của hệ thống theo những bước sau:
+ Tích hợp class: Các class trong sơ đồ class có cùng ngữ nghĩa (mặc dù tên có khác nhau) thì gôm lại thành một class chung có đặc trưng là đặc trưng chung cho tất cả class.
Trang 73/113 + Tích hợp mối kết hợp: Duy trì tất cả mối kết hợp các class trong sơ đồ class vào sơ đồ class chung của hệ thống.
- Xây dựng các class tổng quát hóa, chuyên biệt hóa để biểu diễn tính kế thừa trong hệ thống.
2. Mối quan hệ giữa các đối tượng trong Hệ thống.
Xây dựng sơ đồ class cho từng Use case áp dụng
phương pháp tiếp cận danh từ,cụm danh từ ta có
• Use case thuê Phòng
Khởi tạo danh sách class ứng viên:
-Phòng
-Dịch vụ -Loại dịch vụ -Khách hàng
Tô Trung Đoàn (DTH061034) Khoa: Kĩ thuật-Công Nghệ-Môi Trường Huỳnh Văn Thiện (DTH0610) Lớp DH7TH
Hình 41:Sơ đồ phân tích đối tượng theo tiếp cận Use case
-Quá trình -Thông báo -Hệ thống -Ngày nhận -Ngày trả -Giờ nhận -Giờ trả -Cuối ngày -Ngày bị trể -Thông báo -Cuối ngày Trạng thái -Ba ngày
Trang 74/113 -Khách quen
-Khách thuê Phòng -Nhân viên tiếp tân -Nhân viên phục vụ -Loại -Loại Phòng -Kiểu -Kiểu Phòng -Giá
-Chi tiết thuê Phòng
Loại bỏ các class giả, không phù hợp
-Phòng -Dịch vụ -Loại dịch vụ -Khách hàng -Khách quen -Khách thuê Phòng -Nhân viên tiếp tân -Nhân viên phục vụ -Loại -Loại Phòng -Kiểu -Kiểu Phòng -Giá
-Chi tiết thuê Phòng -Phiếu thuê
Đồng nhất các class ứng viên trùng lắp: Đồng nhất lại danh sách class ứng viên tìm kiếm các
danh từ, cụm danh từ trùng lắp về ngữ nghĩa mặc dù tên thể hiện có khác nhau, chọn lựa danh từ,cụm danh từ chứa nghĩa nghĩa và loại các danh từ, cụm danh từ khác.
Khách hàng, Khách thuê Phòng, Khách quen = Khách hàng.
Loại, Loại Phòng = Loại Phòng.
Loại, Loại dịch vụ = Loại dịch vụ.
Xác định các danh từ, cụm danh từ có thể là các thuộc tính
Các danh từ, cụm danh từ là thuộc tính khi:
Chỉ được sử dụng như giá trị.
Không nhiều hơn một đặc trưng riêng, hoặc mô tả
đặc trưng của đối tượng khác.
Xem sét các danh từ, cụm danh từ có thể là thuộc tính của danh sách class trên ta có:
Giá: Là một giá trị có thể là thuộc tính phòng.
Ngày nhận, giờ nhận, ngày lập: Là một giá trị
của phiếu thuê.
Tô Trung Đoàn (DTH061034) Khoa: Kĩ thuật-Công Nghệ-Môi Trường Huỳnh Văn Thiện (DTH0610) Lớp DH7TH
-Quá trình -Lịch giao Phòng -Hệ thống -Ngày nhận -Ngày trả -Giờ nhận -Giờ trả -Cuối ngày -Ngày bị trể -Thông báo -Cuối ngày Trạng thái -Ba ngày -Ngày lập -Quá trình -Lịch giao Phòng -Hệ thống -Ngày nhận -Ngày trả -Giờ nhận -Giờ trả -Cuối ngày -Ngày bị trể -Thông báo -Cuối ngày Trạng thái
Trang 75/113 -Phòng -Dịch vụ -Loại dịch vụ -Khách hàng -Khách quen -Khách thuê Phòng -Nhân viên tiếp tân -Nhân viên phục vụ -Loại -Loại Phòng -Kiểu -Kiểu Phòng -Giá
-Chi tiết thuê Phòng -Phiếu thuê
Loại bỏ class ứng viên không có mục tiêu hoặc không thuộc phạm vi Hệ thống
Trong hoạt động thuê phòng các class còn lại sẽ là:
Phòng: Lưu thông tin phòng
Loại Phòng: Là một class hình thức (trừu tượng hóa sự phân loại) dùng để phân lọai phòng. Kiểu Phòng: Là một class hình thức (trừu tượng hóa sự phân loại) dùng để phân lọai kiểu phòng. Trạng thái: Là một class hình thức (trừu tượng hóa sự phân loại) dùng để phân lọai trạng phòng. Dịch vụ: Lưu thông tin dịch vụ.
Loại Dịch vụ: Là một class hình thức (trừu tượng hóa sự phân loại) dùng để phân lọai dịch vụ. Phiếu thuê Phòng: Mô tả mẫu thuê phòng
Chi tiết thuê Phòng: Mô tả chi tiết phiếu thuê phòng. Khách hàng: Lưu trữ thông tin Khách hàng
Nhân viên tiếp tân: Lưu trữ thông tin Nhân viên. Phiếu thuê Dịch vụ: Mô tả mẫu thuê dịch vụ
Chi tiết phiếu thuê: Mô tả chi tiết phiếu thuê dịch vụ .
Các danh từ, cụm danh từ không có mục đích:
Thông báo Hệ thống
Các danh từ, cụm danh từ không thuộc phạm vi hệ thống, hoặc chỉ có đối tượng trong quá trình sống của hệ thống
Lịch giao phòng. Cuối ngày. Ngày bị trễ.
Nhân viên phục vụ, Nhân viên tiếp tân.
Kết quả quá trình chọn lựa gồm các class ứng viên sau:
Tô Trung Đoàn (DTH061034) Khoa: Kĩ thuật-Công Nghệ-Môi Trường Huỳnh Văn Thiện (DTH0610) Lớp DH7TH
• Use case thuê Phòng
• Use case đặt Phòng
• Use case trả Phòng
• Use case thống kê, báo cáo
Phòng PhòngLoại Kiểu Phòng Trạng thái Dịch vụ
Loại Dịch vụ Chi tiết thuê Phòng
Khách hàng Chi tiết thuê Dịch
vụ
Phiếu thuê Phòng Phiếu thuê dịch vụ
Phòng Chi tiết đặt Phòng
Khách hàng Phiếu đặt Phòng
Phòng Chi tiết hóa đơn
Khách hàng Hóa đơn
Hóa đơn Chi tiết đặt Phòng
Chi tiết thuê Phòng Thống kê
Chi tiết thuê dịch vụ
Quản trị Hệ thống
Nhân viên Tài khoản
Trang 77/113
• Use case Quản trị Hệ thống
Biểu diễn chi tiết các class trong các Use case
Use case thuê Phòng
Use case đặt Phòng Use case trả Phòng
Use case thống kê,báo cáo
Tô Trung Đoàn (DTH061034) Khoa: Kĩ thuật-Công Nghệ-Môi Trường Huỳnh Văn Thiện (DTH0610) Lớp DH7TH
Phòng Mã Phòng: Int Tên Phòng: String Mã loại: Int Mã kiểu: Int Mã trạng thái: Int Giá: Int Dịch vụ Mã dịch vụ: Int Tên dịch vụ: String Giá: Int Khách hàng Mã Khách hàng: Int CMDN: char Họ tên: String Địa chỉ: String Ngày sinh: Date Quốc tịch: String
Phiếu Thuê Phòng Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String Phiếu Thuê dịch vụ
Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String Khách hàng Mã Khách hàng: Int CMDN: Char Họ tên: String Địa chỉ: String Ngày sinh: Date Quốc tịch: String Phòng Mã Phòng: Int Tên Phòng: String Mã loại: Int Mã kiểu: Int Mã trạng thái: Int Giá: Int Phiếu đặt Phòng Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String Khách hàng Mã Khách hàng: Int CMDN: Char Họ tên: String Địa chỉ: String Ngày sinh: Date Quốc tịch: String Phòng Mã Phòng: Int Tên Phòng: String Mã loại: Int Mã kiểu: Int Mã trạng thái: Int Giá: Int Phiếu Thuê Phòng Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String Phiếu Thuê dịch vụ
Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String
Hoá đơn Mã hóa đơn: Int Tên hóa đơn: String Ngày lập: Date Người lập: String
Phiếu Thuê Phòng Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String Phiếu Thuê dịch vụ
Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String
Hoá đơn Mã hóa đơn: Int Tên hóa đơn: String Ngày lập: Date Người lập: String Thống kê
Mã thống kê: Int Tên thống kê: String Loại thống kê: Int Người lập: String Ngày lập: Date
Xác định các mối kết hợp của các class trong từng Use case
Sơ đồ Use case thuê Phòng
Sơ đồ Use case đặt Phòng
của liên quan Dịch vụ Mã dịch vụ: Int Tên dịch vụ: String Giá: Int Phiếu Thuê dịch vụ Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String Phòng Mã Phòng: Int Tên Phòng: String Mã loại: Int Mã kiểu: Int Mã trạng thái: Int Giá: Int Khách hàng Mã Khách hàng: Int CMDN: Char Họ tên: String Địa chỉ: String Ngày sinh: Date Quốc tịch: String
Phiếu Thuê Phòng Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String của 1..* 0..* liên quan 0..* 1..*
Chi tiết Thuê Phòng Số lượng Phòng: Int Ngày nhận: Date Ngày trả: Date Chi tiết Thuê dịch vụ
Số lượng: Int Ngày thuê: Date
0..* 1..*
0..*
0..*
Hình 43:Sơ đồ class của Use case thuê Phòng
Phòng Mã Phòng: Int Tên Phòng: String Mã loại: Int Mã kiểu: Int Mã trạng thái: Int Giá: Int Khách hàng Mã Khách hàng: Int CMDN: char Họ tên: String Địa chỉ: String Ngày sinh: Date Quốc tịch: String
Phiếu đặt Phòng Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String của 1..* 0..* liên quan 0..* 1..* Chi tiết đặt Phòng Số lượng Phòng: Int Ngày nhận: Date Ngày trả: Date
Trang 79/113
Sơ đồ Use case trả Phòng
Use case thống kê,báo cáo
Tô Trung Đoàn (DTH061034) Khoa: Kĩ thuật-Công Nghệ-Môi Trường Huỳnh Văn Thiện (DTH0610) Lớp DH7TH
Hình 45:Sơ đồ class của Use case trả Phòng
1..1 Khách hàng Mã Khách hàng: Int CMDN: Char Họ tên: String Địa chỉ: String Ngày sinh: Date Quốc tịch: String
Phiếu Thuê Phòng Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String
Phiếu Thuê dịch vụ Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String Hoá đơn
Mã hóa đơn: Int Tên hóa đơn: String Ngày lập: Date Người lập: String 1..* liên quan 1..* 1..* 1..* liên quan của
Chi tiết Hoá đơn Đã thanh toán: Int Tổng cộng: Int Ngày thanh toán
1..*
Hình 46:Sơ đồ class của Use case thống kê
Phiếu Thuê Phòng Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String Phiếu Thuê dịch vụ
Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String
Hoá đơn Mã hóa đơn: Int Tên hóa đơn: String Ngày lập: Date Người lập: String
Thống kê Mã thống kê: Int Tên thống kê: String Loại thống kê: Int Người lập: String Ngày lập: Date
Phiếu đặt Phòng Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String theo 1..* 0..* 0..* 1..* theo theo 1..* 1..* theo 1..* 1..*
Bổ sung các thực thể tổng quát hoát,chuyên biệt hóa
Sơ đồ cuối cùng của Hệ thống Website Quản lý Khách sạn
Tô Trung Đoàn (DTH061034) Khoa: Kĩ thuật-Công Nghệ-Môi Trường
Phiếu Thuê Phòng Ngày nhận: Date Ngày trả: Date
Phiếu Thuê dịch vụ Phiếu đặt Phòng Ngày đến: Date Ngày trả: Date Phiếu Yêu cầu
Mã phiếu: Int Tên phiếu: String Ngày lập: Date Người lập: String
Hình 47:Các class tổng quát hóa và chuyên biệt hóa
Khách hàng Phiếu yêu cầu Phòng
Dịch vụ Thống kê
Phiếu thuê Phòng Phiếu đặt Phòng Phiếu thuê dịch vụ
của liên quan
0..* 1..* 0..* 1..* Hóa đơn 1..* 0..* của theo 1..* 0..* 0..* 1..* liên quan
Chi tiết yêu cầu
Chi tiết yêu cầu Chi tiết hóa đơn
theo
0..* 1..*
Trang 81/113
3. Phân tích dữ liệu
a) Các thực thể: Các thực thể được xác định dựa theo các class đã được xác
định và một số thực thể được bổ sung nhằm giảm sự trừu tượng của các class đồng thời làm giảm sự phức tạp cho giai đoạn thiết kế dữ liệu và code (các thực thể này sẽ là các bảng trong Cơ sở dữ liệu).
Khách hàng(Mã KH,Họ tên KH,CMND,Quốc tịch,Giới tính,Ngày sinh,Địa chỉ,Điện thoại,Email). Phòng(Mã Phòng,Tên,Mã loại,Mã trạng thái,Giá,mô tả).
Loại Phòng(Mã loại,Tên).