Quản Lý Căn Hộ Dịch Vụ: Chuyên Sâu SSD & Thiết Kế SD
Nghiên cứu bản chất học thuật của quy trình phát triển phần mềm theo Unified Process (Craig Larman): Khảo sát ranh giới hệ thống qua Use Case, mô hình hóa sự kiện nghiệp vụ hộp đen bằng System Sequence Diagram (SSD), và mở rộng thiết kế hướng đối tượng đạt chuẩn Boundary - Controller - Entity (BCE) cùng các nguyên lý GRASP.
Quy Trình Chuyển Dịch Kiến Trúc: SSD → Design SD (BCE)
Kiến Trúc 6 Phân Hệ Nghiệp Vụ - 21 Use Cases
Phân định rõ ranh giới trách nhiệm (System Boundary) theo chuẩn OOAD
Tài Khoản & Phân Quyền
Kiểm soát truy cập RBAC, bảo mật phiên làm việc cho 4 Actor.
Phòng, Khách Hàng & Hợp Đồng
Vòng đời lưu trú: từ tra cứu phòng đến ký hợp đồng và bàn giao hiện trạng.
Dịch Vụ & Điện Nước
Kiểm soát chỉ số tiêu thụ, phát sinh dịch vụ và phiên bản biểu giá.
Hóa Đơn, Thu & Công Nợ
Tính toán tự động tổng tiền, ghi nhận phiếu thu và đối soát nợ quá hạn.
Sửa Chữa & Chi Phí Sự Cố
Quy trình điều phối sự cố, nghiệm thu kỹ thuật và phân bổ chi phí sửa chữa.
Nhân Sự & Quản Lý Phép
Cấu trúc phòng ban, ghi nhận chấm công ca và xét duyệt ngày phép linh hoạt.
Bản Chất Khoa Học Của Use Case, SSD và Design SD
Trong phương pháp luận thiết kế hướng đối tượng hiện đại (Craig Larman's Applying UML and Patterns), quá trình phát triển không đi thẳng từ mô tả văn bản sang viết code. Việc thiếu hụt bước mô hình hóa System Sequence Diagram (SSD) chính là nguyên nhân dẫn đến các lỗi cấu trúc (Bad Code Smells) và vi phạm nguyên lý đóng gói.
1. Use Case Model
Bản chất: Mô hình hóa chức năng hệ thống theo góc nhìn giá trị mang lại cho người dùng cuối (Goal-oriented).
Ý nghĩa khoa học: Xác lập tường minh System Boundary (Ranh giới hệ thống: cái gì thuộc hệ thống, cái gì thuộc môi trường bên ngoài). Ngăn chặn hiện tượng lan man yêu cầu (Scope Creep).
2. System Sequence Diagram
Bản chất: Biểu đồ tuần tự hệ thống ở mức Hộp Đen (Black-box). Hệ thống chỉ gồm 1 thực thể duy nhất :System.
Ý nghĩa khoa học: Chuẩn hóa các System Events (Input) và System Responses (Output). Giúp xác định các API công khai của hệ thống mà không cần biết công nghệ nền tảng hay database.
3. Design Sequence Diagram
Bản chất: Biểu đồ tuần tự mức thiết kế ở cấp độ Hộp Trắng (White-box).
Ý nghĩa khoa học: Phân chia trách nhiệm cho các lớp phần mềm nội bộ dựa trên mẫu kiến trúc BCE (Boundary - Controller - Entity) và nguyên lý phân bổ hành vi hướng đối tượng GRASP.
Bảng Đối So sánh Chuyên Nghiệp: SSD vs Design SD
| Tiêu Chí Đối Chiếu | SSD (System Sequence Diagram) - Mức Phân Tích | Design SD (Sequence Diagram) - Mức Thiết Kế |
|---|---|---|
| Mục đích chính | Trả lời câu hỏi "Hệ thống làm CÁI GÌ?" (WHAT): xác định các sự kiện vào/ra qua giao diện bên ngoài. | Trả lời câu hỏi "Hệ thống làm NHƯ THẾ NÀO?" (HOW): phân bổ lời gọi hàm giữa các đối tượng nội bộ. |
| Mô hình đóng gói | Black-Box (Hộp Đen) Toàn bộ hệ thống là 1 lifeline :System. |
White-Box (Hộp Trắng) Mở nắp thành nhiều Lifelines: UI, Controller, Entity, DAO/Service. |
| Bản chất thông điệp (Messages) | System Events / Operations: Mang tính trừu tượng nghiệp vụ cao (ví dụ: ghiChiSoDienNuoc()). |
Method Calls: Tên hàm cụ thể có kiểu trả về, đối số lập trình (ví dụ: invoice.calculateTax(0.1)). |
| Nguyên lý chi phối | Kịch bản Use Case (Main Success Scenario + Exception Scenarios). | Các mẫu thiết kế GRASP (Controller, Creator, Expert) & Kiến trúc phân lớp BCE. |
| Lỗi sinh viên thường gặp | Vẽ nhầm các lớp cơ sở dữ liệu (Database) hoặc các bảng bảng biểu nội bộ vào SSD mức phân tích. | Bỏ qua tầng Controller mà để trực tiếp giao diện (Boundary) gọi truy vấn thẳng vào cơ sở dữ liệu Entity. |
5 Nguyên Lý Mẫu Thiết Kế GRASP Cốt Lõi Áp Dụng Khi Vẽ SD
InvoiceController).
Invoice tự tính tổng tiền dựa vào các dòng InvoiceItem).
ContractController tạo mới thực thể Contract khi người dùng ký hợp đồng).
Đăng nhập hệ thống
Chuyển Dịch Từ SSD Sang Design SD Theo Mô Hình BCE
Mô hình hóa quá trình "mở nắp hộp đen": Một sự kiện hệ thống systemOperation() trong SSD được chuyển hóa thành các lời gọi phương thức nội bộ giữa ba lớp: Boundary (Giao diện) → Controller (Điều phối GRASP) → Entity (Thực thể miền nghiệp vụ).
Biểu Đồ Tuần Tự Hệ Thống (SSD)
Chỉ ghi nhận tương tác giữa Actor và một thực thể duy nhất :Hệ Thống.
Biểu Đồ Tuần Tự Thiết Kế (Design SD)
Phân rã thành các lời gọi phương thức thực thi: Boundary → Controller → Entity.