Chương 5 giúp người học hiểu về Mô hình thiết kế cách tạo sơ đồ lớp thiết kế. Nội dung trình bày cụ thể gồm có: Sơ đồ lớp thiết kế, xây dựng sơ đồ lớp thiết kế, xác định các lớp phần mềm, sử dụng Package tổ chức domain model, quyền sở hữu và tham chiếu, bổ sung role vào mối quan hệ,...
Chương MƠ HÌNH THIẾT KẾ CÁCH TẠO SƠ ĐỒ LỚP THIẾT KẾ (DESIGN MODEL: CREATING DESIGN CLASS DIAGRAMS) Sơ đồ lớp thiết kế (Design class diagram) • Sơ đồ lớp thiết kế biểu diễn chi tiết lớp phần mềm giao diện ứng dụng Những thông tin tiêu biểu sơ đồ lớp thiết kế bao gồm: • • • • • • Các lớp (classes) Mối quan hệ thuộc tính (associations & attributes Giao diện thao tác giao diện (interfaces with their operations) Các phương thức (methods) Thuộc tính (attribute) Các phụ thuộc (dependencies) Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền Domain Model - Design Model Classes • Domain model: lớp khái niệm đại diện cho khái niệm trừu tượng giới thực mà người phát triển phần mềm quan tâm • Mơ hình lớp thiết kế (Design model class): lớp thiết kế đại diện cho lớp phần mềm, định nghĩa thành phần phần mềm ứng dụng Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền Domain Model - Design Model Classes • Ví dụ Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền Xây dựng sơ đồ lớp thiết kế • Các bước xây dựng sơ đồ lớp thiết kế • • • • Xác định lớp phần mềm Xác định phương thức Bổ sung loại thông tin Tinh chỉnh mối quan hệ Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền Xác định lớp phần mềm • Xác định lớp mà tham gia vào giải pháp phần mềm Các lớp tìm thấy cách duyệt tất sơ đồ tương tác danh sách lớp domain model • Tuy nhiên có lớp domain model khơng cần xuất sơ đồ lớp thiết kế Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền Xác định lớp phần mềm • Ví dụ: Một hệ thống máy tính tiền sử dụng để ghi lại doanh thu xử lý khoản toán, sử dụng cửa hàng bán lẻ, hệ thống bao gồm thành phần phần cứng máy tính máy qt mã vạch • Hệ thống giao tiếp với ứng dụng khác máy tính thuế, hệ thống kiểm sốt hàng tồn kho, kho lưu trữ sản phẩm theo Loại sản phẩm • Hệ thống tự động xuất hóa đơn toán tất sản phẩm mà khách hàng mua nhập vào hệ thống Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền Xác định lớp phần mềm • Ví dụ: lớp khái niệm domain model hệ thống máy tính tiền Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền Xác định lớp phần mềm • Ví dụ: lớp phần mềm hệ thống máy tính tiền Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền Xác đinh phương thức • Các phương thức lớp xác định cách phân tích biểu đồ tương tác • Nói chung, tập hợp tất Messages gửi đến lớp X tất sơ đồ tương tác thường phương thức lớp X phải xác định Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 10 Quyền sở hữu tham chiếu • Quyền sở hữu: • • Một phần tử sở hữu package chứa Tuy nhiên, Một phần tử tham chiếu đến phần tử package khác Trong trường hợp này, tên phần tử xác định tên package theo định dạng: PackageName::ElementName • Ví dụ: Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 20 Package phụ thuộc • Nếu phần tử mơ hình phụ thuộc vào phần tử khác chúng có mối quan hệ phụ thuộc • Một package phụ thuộc phần tử bên kết hợp với phần tử trongpackage mục tiêu • Trong UML mối quan hệ phụ thuộc biểu diễn ký hiệu: Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 21 Package phụ thuộc • Ví dụ: package Sales phụ thuộc vào package Core Elements Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 22 Ví dụ • Mơ hình package domain hệ thống máy tính tiền Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 23 Ví dụ • Package Core Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 24 Ví dụ • Package Products Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 25 Ví dụ • Package Sales Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 26 Bài tập • Cho domain model hệ thống đặt vé máy bay, chia domain model thành package sau cho đảm bảo: • • • • Tính kết dính package Giảm tối thiểu phụ thuộc package Dịch vụ package gì? Đảm bảo tính tái sử dụng Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 27 Bài tập Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 28 Bài tập • Gợi ý: • • Package 1: gồm lớp liên quan đến chuyến bay Package 2: lớp liên quan đến việc đặt vé • Lưu ý: • Lớp flight đặt Package tốt để đảm bảo thời gian sống tính tái sử dụng hệ thống Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 29 Bài tập • Giải pháp 1: Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 30 Bài tập • Giải pháp 2: Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 31 Bài tập • Giải pháp 2: lớp Flight package Bookings đảm bảo tiêu chí: • • Thời gian sống đối tượng Flight có quan hệ chặt với việc đặt vé (Bookings) so với thông tin chung chuyến bay Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 32 Bài tập • Kết sơ đồ package Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 33 Bài tập Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 34 ... Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 32 Bài tập • Kết sơ đồ package Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 33 Bài tập Bài giảng Phân tích thiết kế. .. dụng hệ thống Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 29 Bài tập • Giải pháp 1: Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xuân Hiền 30 Bài tập • Giải pháp 2: Bài giảng. .. Core Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xn Hiền 24 Ví dụ • Package Products Bài giảng Phân tích thiết kế hệ thống - GV: Từ Thị Xn Hiền 25 Ví dụ • Package Sales Bài giảng Phân tích