Thay đổi/xóa bỏ một lớp làm ảnh hưởng tới các lớp khác. Hai đối tượng tương tác với nhau bằng một lượng lớn thông điệp hoặc có mối giao tiếp phức tạp. Lớp biên có thể có liên quan về mặt chức năng đến một lớp thực thể nào đó nếu lớp biên biểu diễn lớp thực thể đó
Bộ môn Công nghệ phần mềm KHOA CễNG NGH THễNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI OBJECT-ORIENTED ANALYSIS AND DESIGN WITH UML 2.0 Bài Xác định phần tử thiết kế Nội dung Xác định phần tử thiết kế Hệ thống (Subsystem) Tính tái sử dụng lại (Reusability) Mơ hình phân tầng q trình thiết kế Mục đích Phân tích tương tác lớp phân tích xác định thành phần mơ hình thiết kế Lớp thiết kế (design class) Hệ thống (Subsystem) Giao diện hệ thống (Subsystem interface) Xác định phần tử thiết kế Hướng dẫn dự án Đặc tả phụ trợ Xác định phần tử thiết kế Mơ hình thiết kế Mơ hình phân tích Chuyển đổi lớp phân tích thành phần tử thiết kế Các lớp phân tích Các phần tử thiết kế Subsystem Subsystem Ánh xạ nhiều – nhiều Tìm kiếm lớp thiết kế Một lớp phân tích ánh xạ trực tiếp thành lớp thiết kế Nó lớp đơn giản Mức độ trừu tượng hóa đơn giản Các lớp phân tích phức tạp Tách thành nhiều lớp Trở thành package Trở thành hệ thống Bất kỳ hình thức kết hợp Nhóm lớp thiết kế Nhóm lớp dựa nhiều yếu tố: Phân bổ nguồn lực đội phát triển Tương ứng với loại người dùng Hệ thống đại diện cho sản phẩm dịch vụ có mà hệ thống sử dụng Việc gộp nhóm hiệu giúp Quản lý khả sử dụng lại Bảo dưỡng hệ thống Package C Package B Subsystem C Nhóm lớp biên Nếu giao diện hệ thống chắn có thay đổi đáng kể Nếu giao diện hệ thống khơng chắn có thay đổi đáng kể Các lớp biên đặt Các lớp biên gom nhóm với package riêng biệt lớp liên quan mặt chức Nhóm lớp liên quan mặt chức Các tiêu chí – liên quan mặt chức năng: Thay đổi/xóa bỏ lớp làm ảnh hưởng tới lớp khác Hai đối tượng tương tác với lượng lớn thơng điệp có mối giao tiếp phức tạp Lớp biên có liên quan mặt chức đến lớp thực thể lớp biên biểu diễn lớp thực thể Hai lớp tương tác bị ảnh hưởng thay đổi tác nhân Một lớp tạo thể lớp khác Nhóm lớp liên quan mặt chức Các tiêu chí – KHƠNG nên đặt hai lớp vào package: Hai lớp liên quan đến tác nhân khác Một lớp bắt buộc lớp không bắt buộc Tìm kiếm hệ thống Các phân tích trở thành hệ thống nếu: Cung cấp chức phức tạp Các lớp biên (giao diện với hệ thống bên ngồi) Các sản phẩm có sẵn hệ thống bên ngồi q trình thiết kế (ví dụ thành phần): Phần mềm giao tiếp Subsystem A Hỗ trợ truy cập CSDL Các kiểu cấu trúc liệu Subsystem B Các tiện ích chung Subsystem C Các sản phẩm theo ứng dụng Xác định hệ thống “Superman Class” ClassA X() W() SubsystemA InterfaceK X() W() ClassA1 X() ClassA2 W() Giao diện cho hệ thống (Subsystem Interface) Mỗi hệ thống nên có nhiều giao diện Mơ hình hóa giao diện Ánh xạ giao diện vào hệ thống Chỉ phụ thuộc tới lớp khác Chỉ hành động giao diện Tham số kết Kiểu liệu Đóng gói giao diện Một giao diện rõ ràng, ổn định giải pháp tốt cho việc tạo kiến trúc hiệu Nội dung Xác định phần tử thiết kế Hệ thống (Subsystem) Tính tái sử dụng lại (Reusability) Mơ hình phân tầng q trình thiết kế Tính sử dụng lại Mục đích Sử dụng giao diện để tìm cách sử dụng lại hệ thống thành phần sẵn có hệ thống Hướng dẫn Tìm kiếm gần giao diện giống Sửa giao diện cho phù hợp với giao diện sử dụng lại Thay giao diện có khả sử dụng lại với giao diện sẵn có (sử dụng lại) Ánh xạ hệ thống giao diện vừa bị thay vào thành phần có sẵn để sử dụng lại Các khả sử dụng lại Bên hệ thống Tìm điểm chung gói hệ thống Bên ngồi hệ thống Sử dụng thành phần sẵn có (thương mại, miễn phí) Thành phần từ hệ thống phát triển trước Phát triển lại thành phần có sẵn (sử dụng lại thiết kế) Khả sử dụng lại bên hệ thống Ví dụ: Các tầng kiến trúc Application Business Services Middleware Base Reuse global Necessary because the Application Layer must have access to the core distribution mechanisms provided with Java RMI Quan hệ lớp tạo nên phụ thuộc A Package A B Package B Ví dụ: Tầng ứng dụng Application Registration Ví dụ: Ngữ cảnh tầng ứng dụng Application Application Registration Business Services Business Services External System Interfaces Security University Artifacts Secure Interfaces GUI Framework Ví dụ tầng Business Service Business Services BillingSystem CourseCatalogSystem External System Interfaces Security ObjectStore Support GUI Framework University Artifacts Security Manager Secure Interfaces Ví dụ: Ngữ cảnh tầng Business Service BillingSystem Business Services CourseCatalogSystem External System Interfaces Security ObjectStore Support GUI Framework University Artifacts Middleware com.odi java.sql Security Manager Secure Interfaces Business Services Middleware Ví dụ tầng Middle Layer Middleware com.odi java.sql Map Session DriverManager Connection (from com.odi) (from com.odi) (from com.odi) (from com.odi) Transaction Database Statement ResultSet (from com.odi) (from com.odi) (from com.odi) (from com.odi) Tổng kết Các mơ hình thiết kế xây dựng trực tiếp từ mơ hình phân tích Là hình thức chi tiết hóa từ lớp trừu tượng hóa mơ hình phân tích Ánh xạ 1-1 cho lớp phân tích đơn giản Ánhxạ thành nhiều lớp thiết kế lớp phân tích q phức tạp Lớp phân tích có mức độ phức tạp cao phát triển thành hệ thống (subsystem) Sử dụng giao diện Đảm bảo hệ thống có tính độc lập tối đa với thành phần cịn lại Tìm cách sử dụng lại hệ thống con, gói thư viện có sẵn ... kế Lớp thiết kế (design class) Hệ thống (Subsystem) Giao diện hệ thống (Subsystem interface) Xác định phần tử thiết kế Hướng dẫn dự án Đặc tả phụ trợ Xác định phần tử thiết kế Mơ hình thiết. .. dung Xác định phần tử thiết kế Hệ thống (Subsystem) Tính tái sử dụng lại (Reusability) Mơ hình phân tầng q trình thiết kế Mục đích Phân tích tương tác lớp phân tích xác định thành phần mơ hình thiết. .. trợ Xác định phần tử thiết kế Mơ hình thiết kế Mơ hình phân tích Chuyển đổi lớp phân tích thành phần tử thiết kế Các lớp phân tích Các phần tử thiết kế Subsystem