CHƯƠNG 3: PHA PHÂN TÍCH HƯỚNG ĐỐi TƯỢNG Hình 3.19: Đặc tả trạng thái 77 CHƯƠNG 3: PHA PHÂN TÍCH HƯỚNG ĐỐi TƯỢNG Hình 3.20: Đặc tả chuyển tiếp trạng thái TỔNG KẾT CHƯƠNG Chương trình bày bước pha Phân tích hướng đối tượng Một số nội dung sau cần ghi nhớ: • Pha phân tích hướng đối tượng gồm bước gắn với ba dạng mơ hình UML là: mơ hình use case, mơ hình lớp mơ hình động • Bước xây dựng mơ hình use case gồm việc là: xây dựng phân biểu đồ use case biểu diễn use case theo dạng kịch • Bước xây dựng mơ hình lớp tiến hành xây dựng biểu đồ lớp Biểu đồ lớp pha phân tích chủ yếu phát lớp (dạng lớp thực thể), xác định thuộc tính mối quan hệ đơn giản lớp • Bước xây dựng mơ hình động pha phân tích tập trung vào xây dựng biểu đồ trạng thái mô tả trạng thái chuyển tiếp trạng thái đối 78 CHƯƠNG 3: PHA PHÂN TÍCH HƯỚNG ĐỐi TƯỢNG tượng lớp Dựa biểu đồ trạng thái, người phân tích hiệu chỉnh lại biểu đồ lớp, bổ sung thuộc tính cịn thiếu • Tài liệu đưa hướng dẫn gợi ý thực cho bước nhỏ pha phân tích CÂU HỎI – BÀI TẬP A CÂU HỎI Biểu đồ use case gì? Vai trị biểu đồ use case xác định yêu cầu khách hàng? Phân biệt quan hệ biểu đồ use case Khái niệm kế thừa lập trình hướng đối tượng có tương đương với quan hệ khái quát hoá (generalization) lớp UML không Tại Mối quan hệ kết hợp chiều gì? Biểu diễn quan hệ nào? Phân biệt mối quan hệ cộng hợp quan hệ gộp Khi sử dụng mối quan hệ thực thi (realization) biểu đồ lớp Biểu đồ trạng thái dùng để làm Phân biệt khác biểu đồ trạng thái cho use case biểu đồ trạng thái hệ thống B BÀI TẬP Xem hình vẽ sau: 79 CHƯƠNG 3: PHA PHÂN TÍCH HƯỚNG ĐỐi TƯỢNG Fullfill Ticket Purchase Search for Available Seat TicketAgent Deliver Ticket Call - Pick up Direct Mailling Các nhãn sau phù hợp với quan hệ tương ứng với đường 1, 2, 3? A includes, includes, includes B includes, extends, extends C extends, includes, extends D extends, extends, includes E includes, includes, extends Xem xét biểu đồ lớp phân tích hệ thống thơng tin nhân Trong hệ thống , xét lớp: - Lớp Employee (Nhân viên) chứa thông tin mã nhân viên, tên, địa ngày sinh nhân viên - Lớp Address (Địa chỉ) chứa thông tin số nhà, phố, thành phố Hãy xác định mối quan hệ lớp Employee lớp Address Trong hệ thống thơng tin khách hàng, lớp Bill (Hố đơn) sinh hoá đơn toán cho khách hàng sử dụng giá trị trả hàm tính tổng số tiền calculateAmt() lớp Purchase Xác định mối quan hệ lớp Bill lớp Purchase Cho biểu đồ trạng thái (hình vẽ) Đưa chuỗi kiện (bắt đầu từ trạng thái khởi đầu) làm cho biểu đồ trạng thái bị dẫn tới tình trạng bế tắc Giải thích 80 CHƯƠNG 3: PHA PHÂN TÍCH HƯỚNG ĐỐi TƯỢNG Chuyển tiếp biểu đồ trạng thái sau không hợp lệ Available Put on hold On Hold Release Sell Sold Cancel A Put on hold B Release C Sell D Cancel Ký hiệu hiển (visibility) sau thuộc tính hay phương thức hữu với lớp gói A + B – 81 CHƯƠNG 3: PHA PHÂN TÍCH HƯỚNG ĐỐi TƯỢNG C # D ~ Mối quan hệ biểu diễn mối quan hệ hai lớp mà thay đổi phương thức thuộc tính lớp ảnh hưởng đến thuộc tính phương thức lớp A Quan hệ phụ thuộc B Quan hệ nhân (multiplicity) C Quan hệ thực thi D Quan hệ kết hợp 82 CHƯƠNG 4: PHA THIẾT KẾ HƯỚNG ĐỐi TƯỢNG CHƯƠNG PHA THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Chương trình bày bước trình thực bước thiết kế hướng đối tượng Nội dung cụ thể gồm: - Tổng quan thiết kế hướng đối tượng - Bước xây dựng biểu đồ tương tác - Bước xây dựng biểu đồ lớp chi tiết - Bước xây dựng biểu đồ thành phần biểu đồ triển khai 4.1 TỔNG QUAN VỀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG 4.1.1 Vai trị pha thiết kế Trong tiến trình phát triển phần mềm nói chung, bước thiết kế hướng đối tượng có vai trị sau: - Trả lời câu hỏi “how” thay câu hỏi “what” pha phân tích Mục tiêu pha thiết kế phải xác định hệ thống xây dựng dựa kết pha phân tích - Đưa phần tử hỗ trợ giúp cấu thành nên hệ thống hoạt động thực - Định nghĩa chiến lược cài đặt cho hệ thống Các đặc trưng pha thiết kế hướng đối tượng bao gồm: - Mơ hình hóa chi tiết hệ thống dựa lớp, đối tượng miền ứng dụng hệ thống - Thiết kế dựa chiến lượng trừu tượng hoá phân cấp liệu (hierachical data abstraction) thành phần thiết kế từ lớp, đối tượng, module tiến trình - Các phương thức thường thiết kế mối quan hệ với đối tượng xác định lớp đối tượng 83 CHƯƠNG 4: PHA THIẾT KẾ HƯỚNG ĐỐi TƯỢNG 4.1.2 Các bước thiết kế hướng đối tượng Dựa kết pha phân tích, pha thiết kế hướng đối tượng chia thành bước sau: • Xây dựng biểu đồ tương tác, bao gồm biểu đồ biểu đồ cộng tác • Xây dựng biểu đồ lớp chi tiết: thực hoàn chỉnh sơ đồ lớp, xác định biểu diễn đầy đủ phương thức cho lớp, xác định mối quan hệ lớp • Thiết kế chi tiết: xây dựng biểu đồ động cho phương thức phức tạp lớp xây dựng bảng thiết kế chi tiết kế hoạch cài đặt tích hợp • Xây dựng biểu đồ thành phần biểu đồ triển khai hệ thống • Phát sinh mã, chuẩn bị cho cài đặt hệ thống Các bước trình bày phần sau tài liệu 3.2 CÁC BIỂU ĐỒ TƯƠNG TÁC Như trình bày phần 3.4, biểu đồ tương tác biểu diễn tương tác tác nhân bên đối tượng bên hệ thống tương tác đối tượng bên hệ thống Biểu đồ tương tác có hai dạng là: - Biểu đồ (sequence diagram) nhấn mạnh thứ tự thực tương tác - Biểu đồ cộng tác (collaboration diagram) nhận mạnh đến mối quan hệ bố trí đối tượng tương tác Tùy vào yêu cầu hệ thống cụ thể, người phát triển hệ thống lựa chọn hai biểu đồ sử dụng hai biểu đồ Trong phần này, tài liệu tập trung trình bày phần tử mơ hình UML sử dụng biểu đồ tương tác cách thức xây dựng biểu đồ tương tác 4.2.2 Xây dựng biểu đồ Thông thường, biểu đồ gắn với use case Các message biểu đồ biểu diễn lại thứ tự kiện scenario use case (cả chuẩn ngoại lệ) Hình 4.1 biểu diễn ví dụ biểu đồ đơn giản mô tả chức thêm sách xây dựng nên từ scenario trình bày chương trước Trong 84 CHƯƠNG 4: PHA THIẾT KẾ HƯỚNG ĐỐi TƯỢNG chức thêm sách, đối tượng tham gia gồm: Thủ thư, Form Thêm sách, đối tượng điều khiển Thêm sách đối tượng Sách Thứ tự thực message biểu đồ theo chiều từ xuống Nhìn vào biểu đồ ta thấy thứ tự thực hành động đối tượng chức (use case) xem xét Biểu đồ mô tả lại kịch (scenario) use case Thêm sách dựa đối tượng lớp xác định pha phân tích Với chức năng, thơng thường thêm lớp giao diện (lớp Form) lớp điểu khiển cho chức : Thu thu : DK_ThemSach : FormThemSach Yeu cau Them sach : Sach Yeu cau nhap thong tin Nhap thong tin sach m oi Tao doi tuong sach moi Kiem tra thong tin sach Nhap sach vao CSDL Nhap cong Nhap cong Thong bao nhap cong Hình 4.1: Biểu đồ cho use case Thêm sách Một số ý vẽ biểu đồ tuần tự: • Sự kiện biểu diễn kèm theo message nằm ngang • Đối tượng ln gắn với đường life line dọc theo biểu đồ Điểm kết thúc đường life line đánh dấu thời điểm huỷ đối tượng tương tác kết thúc 85 CHƯƠNG 4: PHA THIẾT KẾ HƯỚNG ĐỐi TƯỢNG • Trục thời gian quy định từ xuống Các message xảy trước message phía • Trong biểu đồ xuất message từ đối tượng đến thân Tiếp theo, ta xem xét số vấn đề phức tạp xây dựng biểu đồ gồm: biểu diễn message lặp, sử dụng message tạo huỷ phân nhánh đối tượng • Biểu diễn message lặp Trong biểu đồ tuần tự, có số trường hợp ta cần biểu diễn message gửi theo vòng lặp (nhiều lần liên tiếp) hai đối tượng Khi đó, ta bổ sung thêm cấu trúc: * [i=1 n] vào trước message; với i biến điều khiển lặp, n số lần lặp Xem xét ví dụ Hình 4.2 Hình 4.2: Biểu diễn message lặp • Sử dụng message tạo huỷ Thông thường, message biểu đồ gửi nhận từ đối tượng tồn Tuy nhiên, trường hợp đối tượng tham gia tương tác thuộc lớp có quan hệ phụ thuộc ta phải sử dụng message tạo huỷ Các message tạo huỷ biểu diễn ví dụ Hình 4.3 86 ... thức thường thiết kế mối quan hệ với đối tượng xác định lớp đối tượng 83 CHƯƠNG 4: PHA THIẾT KẾ HƯỚNG ĐỐi TƯỢNG 4.1.2 Các bước thiết kế hướng đối tượng Dựa kết pha phân tích, pha thiết kế hướng... xác định hệ thống xây dựng dựa kết pha phân tích - Đưa phần tử hỗ trợ giúp cấu thành nên hệ thống hoạt động thực - Định nghĩa chiến lược cài đặt cho hệ thống Các đặc trưng pha thiết kế hướng... đồ lớp phân tích hệ thống thơng tin nhân Trong hệ thống , xét lớp: - Lớp Employee (Nhân viên) chứa thông tin mã nhân viên, tên, địa ngày sinh nhân viên - Lớp Address (Địa chỉ) chứa thông tin số