Mô tả hệ thống trong một đoạn văn như sau:
Hệ thống quản lí thông tin về phòng của khách sạn, thông tin về khách hàng đặt phòng. Hệ thống cho phép người quản lí có thể quản lí thông tin về phòng và khách sạn, cho phép khách hàng đặt phòng qua điện thoại thông qua nhân viên bán hàng, hoặc đặt phòng trực tiếp tại quầy thông qua nhân viên lễ tân. Hệ thống cũng cho phép nhân viên lễ tân thực hiện các hoạt động như nhận phòng, trả phòng, thanh toán khi có yêu cầu từ khách hàng. Mỗi khi thanh toán, hóa đơn sẽ được in ra cho khách hàng, bao gồm cả phí các dịch vụ mà khách hàng đã sử dụng khi nghỉ tại khách sạn.
Như vậy, ta có các danh từ và các phân tích như sau: Hệ thống: danh từ chung chung --> loại. Thông tin: danh từ chung chung --> loại.
Phòng: là đối tượng xử lí của hệ thống --> là 1 lớp thực thể: Room Khách sạn: là đối tượng xử lí của hệ thống --> là 1 lớp thực thể: Hotel Khách hàng: là đối tượng xử lí của hệ thống --> là 1 lớp thực thể: Client
1. Nhân viên lễ tân A click vào chức năng thanh toán trong menu quản lí khách nhận phòng. Nhân viên lễ tân A muốn làm thủ tục thanh toán đặt cọc cho khách hàng B.
2. Hệ thống hiển thị giao diện yêu cầu tên hoặc số id của khách hàng: 1 ô nhập id, 1 ô nhập tên và một nút tìm kiếm lịch sử đặt phòng của khác hàng
3. Nhân viên A hỏi lại khách hàng B id và tên
4. Khách hàng B trả lời tên và số id của mình cho nhân viên A
5. Nhân viên A nhập id của khách hàng B ô tìm kiếm và click vào nút tìm kiếm.
6. Hệ thống tìm kiếm từ CSDL và hiển thị lên thông tin các lần đặt phòng của khách hàng B. Mỗi hàng một lần đặt với đầy đủ thông tin: tên (mã) phòng, kiểu phòng, giá đặt, mô tả, ngày bắt đầu, ngày kết thúc.
7. Nhân viên A yêu cầu khách hàng B và xác nhận thông tin phòng đặt: ngày đến và đi. 8. Khách hàng B xác nhận ngày đến ngày đi cho nhân viên A
9. Nhân viên A click vào lần đặt phòng tương ứng trên giao diện, và chọn thanh toán
10. Hệ thống hiển thị thông tin hóa đơn cần thanh toán bao gồm các thông tin: mã hóa đơn, ngày tạo, tên và địa chỉ khách hàng, số hiệu phòng, kiểu phòng, đơn giá. Dòng tiếp theo ghi tổng số tiền của hóa đơn, một dòng ghi số tổng số tiền đã thanh toán trước đó. Dòng cuối cùng yêu cầu nhập vào số tiền khách hàng muốn thanh toán.
11.Nhân viên A nhập vào số tiền đã nhận của khách hàng B
12.Hệ thống hiển thị lại thông tin hóa đơn một lần nữa: trong đó cập nhật lại số tiền đã thanh toán và số tiền còn lại cần thanh toán.
13.Nhân viên A thông báo lại cho khách hàng số tiền còn lại cần trả và in hóa đơn cho lần thanh toán này cho khách hàng B.
Chương 8: Phương pháp phân tích hướng đối tượng
Người quản lí: không phải là đối tượng xử lí trực tiếp của hệ thống, nhưng cũng bị quản lí cùng với nhân viên lễ tân và nhân viên bán hàng theo kiểu người dùng trực tiếp của phần mềm --> đề xuất là 1 lớp thực thể chung: User
Điện thoại: không thuộc phạm vi xử lí của phần mềm --> loại
Nhân viên bán hàng: không phải là đối tượng xử lí trực tiếp của hệ thống, nhưng cũng bị quản lí cùng với người quản lí và nhân viên lễ tân theo kiểu người dùng trực tiếp của phần mềm --> đề xuất là 1 lớp thực thể chung: User
Quầy: không thuộc phạm vi xử lí của phần mềm --> loại
Nhân viên lễ tân: không phải là đối tượng xử lí trực tiếp của hệ thống, nhưng cũng bị quản lí cùng với người quản lí và nhân viên bán hàng theo kiểu người dùng trực tiếp của phần mềm --> đề xuất là 1 lớp thực thể chung: User
Hóa đơn: là đối tượng xử lí của hệ thống --> là 1 lớp thực thể: Bill Dịch vụ: là đối tượng xử lí của hệ thống --> là 1 lớp thực thể: Service
Vậy chúng ta thu được các lớp thực thể ban đầu là: Room, Hotel, Client, User, Bill, và Service. Quan hệ giữa các lớp thực thể được xác định như sau:
Một Hotel có nhiều Room, một Room chỉ thuộc vào một Hotel. Vậy quan hệ giữa Hotel và Room là 1-n.
Một Client có thể đặt nhiều Room, một Room có thể bị đặt trước bởi nhiều Client ở nhiều thời điểm khác nhau: quan hệ giữa Client và Room là n-n. Do đó có thể bổ sung một lớp thực thể liên kết giữa hai đối tượng này là Booking: Một Client và một Room sẽ xác định duy nhất một Booking tại một thời điểm nhất định. Liên kết này xác định thêm các thông tin: ngày đến, ngày đi, giá thực.
Một Booking có thể được thanh toán nhiều lần khác nhau. Do đó có nhiều hóa đơn khác nhau. Vậy quan hệ giữa Booking và Bill là 1-n.
Một nhân viên lễ tân có thể lập nhiều hóa đơn khác nhau cho các Booking khác nhau. Do đó quan hệ giữa User và Bill cũng là 1-n.
Một Service có thể dùng bởi nhiều Client khác nhau, tại nhiều lần Booking khác nhau. Nhưng một Service chỉ được thanh toán 1 lần (có thể với nhiều đơn vị) tại một lần Booking. Một Booking có thể dùng nhiều Service khác nhau: Quan hệ giữa Booking và Service là 1-n. Tuy nhiên một Service sẽ thanh toán với giá khác nhau tại các lần Booking
Chương 8: Phương pháp phân tích hướng đối tượng
khác nhau. Do đó đề xuất bổ sung lớp UsedService làm cầu nối 1-n giữa lớp Booking và Service.
Như vậy, ta thu được sơ đồ các lớp thực thể của hệ thống như Hình 8.10.
Hình 8.10 : Sơ đồ lớp thực thể của hệ thống