Học Phần: Phân Tích Thiết Kế Hướng Đối Tượng (OOAD)
Giáo Trình Lý Thuyết & Thực Hành Chuẩn UP - UML
Biên soạn chuẩn theo hệ thống bài giảng của ThS Lê Thanh Sơn: Khái quát lịch sử OOA/D, Bộ ba tác giả (Booch, Rumbaugh, Jacobson), 4 Pha & 4 Đặc điểm Quy trình Hợp nhất (UP), Mô hình Use Case, Mô hình Lĩnh vực (Domain Model), Lược đồ Trình tự Hệ thống (SSD) và Lược đồ Trình tự Thiết kế (Design SD).
01
Tổng Quan Unified Process (UP) & UML
Lecture 02: Lịch sử, Bộ ba tác giả, 4 Pha phát triển
Bộ ba tác giả (The Three Amigos):
- Grady Booch: Trọng tâm Thiết kế hướng đối tượng (OO Design) & cấu trúc phần mềm.
- James Rumbaugh: Phân tích & mô hình hóa đối tượng (OMT), quan hệ thực thể.
- Ivar Jacobson: Yêu cầu & tương tác người dùng (OOSE), cha đẻ của Use Case.
4 Đặc điểm cốt lõi của UP:
1. Lặp và tăng dần (Iterative & Incremental) |
2. Dẫn xuất từ Use case |
3. Lấy kiến trúc làm trọng tâm |
4. Đối phó rủi ro.
4 Giai đoạn (Phases) của 1 chu kỳ UP:
- Inception (Khởi đầu): Xác định tầm nhìn dự án (Vision), phạm vi sơ bộ và ước lượng chi phí.
- Elaboration (Mở rộng): Làm rõ yêu cầu, giảm thiểu rủi ro và xác định kiến trúc nền tảng (Baseline).
- Construction (Xây dựng): Lập trình, kiểm thử và hoàn thiện toàn bộ mã nguồn hệ thống.
- Transition (Chuyển giao): Triển khai môi trường thực tế, đào tạo người dùng và bàn giao.
02
Mô Hình Use Case (Use Case Model)
Lecture 03: Actor, Use Case, Include, Extend, Generalization
Tác nhân (Actor):
Người dùng thực tế, Thiết bị phần cứng ngoài (máy in, máy quét) hoặc Hệ thống ngoài (Cổng thanh toán, Ngân hàng) tương tác với phần mềm.
«include»
Để thực hiện A bắt buộc phải thực hiện B trước.
Thứ tự: B trước → A sau.
Thứ tự: B trước → A sau.
«extend»
Khi thực hiện A, đôi khi cần mở rộng thêm B tùy theo điều kiện.
Thứ tự: A trước → B sau.
Thứ tự: A trước → B sau.
Lưu ý nhận diện lỗi sai: Tuyệt đối không biến các trường thuộc tính dữ liệu (như "Nhập mã KH", "Họ tên") hay thao tác nút bấm ("Nhấn Enter", "Quay về") thành Use Case con!
03
Mô Hình Lĩnh Vực (Domain Model)
Lecture 04: Conceptual Class, Noun phrases, Multiplicity
Domain Model biểu diễn các lớp khái niệm trong thế giới thực (real-world concepts). Không chứa các hàm/phương thức cài đặt phần mềm.
3 Bước xây dựng Domain Model:
- Bước 1: Tìm cụm danh từ (Noun phrases) từ bản đặc tả ca sử dụng để chọn lọc các Conceptual Classes.
- Bước 2: Phác thảo Class diagram gồm các hình chữ nhật chứa tên lớp.
- Bước 3: Bổ sung thuộc tính (attributes) và xác định lượng số quan hệ (Multiplicity: 1, 0..1, *, 1..*).
04
SSD & Lược Đồ Trình Tự (Sequence Diagram)
Lecture 05 & 06: System Event, System Operation, Frames
System Sequence Diagram (SSD):
Mô hình hóa tương tác giữa Actor và một hộp đen duy nhất:
:System. Actor kích hoạt System Event; Hệ thống đáp ứng bằng System Operation và trả về dữ liệu qua đường nét đứt (Return message).
Khung tương tác (Interaction Frames trong SD):
loop [condition]:Vòng lặp các thông điệp.opt [guard]:Thực thi nếu điều kiện đúng (tương đương IF).alt [conditions]:Rẽ nhánh loại trừ nhau (tương đương IF - ELSE).