Seite 1
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 6. Xác định các phần tử thiết kế ThiNganHang.com
Vorschau wird generiert...
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 6. Xác định các phần tử thiết kế ThiNganHang.com
Nội dung 1. Xác định các phần tử thiết kế 2. Hệ thống con (Subsystem) 3. Tính tái sử dụng lại (Reusability) 4. Mô hình phân tầng trong quá trình thiết kế ThiNganHang.com
Mục đích Phân tích sự tương tác của các lớp phân tích và xác định các thành phần trong mô hình thiết kế Lớp thiết kế (design class) Hệ thống con (Subsystem) Giao diện hệ thống con (Subsystem interface) ThiNganHang.com
Xác định các phần tử thiết kế Đặc tả phụ trợ Hướng dẫn dự án Xác định các phần tử thiết kế Mô hình thiết kế Mô hình phân tích ThiNganHang.com
Chuyển đổi lớp phân tích thành các phần tử thiết kế Các lớp phân tích Các phần tử thiết kế <<boundary>> <<control>> <<subsystem>> Subsystem <<entity>> <<boundary>> <<subsystem>> Subsystem Ánh xạ nhiều – nhiều ThiNganHang.com
Tìm kiếm các lớp thiết kế Một lớp phân tích ánh xạ trực tiếp thành một lớp thiết kế nếu Nó là một 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 hơn có thể Tách ra thành nhiều lớp Trở thành một package Trở thành một hệ thống con Bất kỳ hình thức kết hợp nào ThiNganHang.com
Nhóm các lớp thiết kế Nhóm các lớp dựa trên nhiều yếu tố: Phân bổ nguồn lực trong các đội phát triển Tương ứng với từng loại người dùng Hệ thống con đại diện cho các sản phẩm và dịch vụ đã có mà hệ thống sử dụng Việc gộp nhóm hiệu quả giúp Package C Quản lý khả năng sử dụng lại Package B Bảo dưỡng hệ thống <<subsystem>> Subsystem C ThiNganHang.com
Nhóm các lớp biên Nếu giao diện của hệ thống Nếu giao diện của hệ thống sẽ chắc chắn có các thay đổi không chắc chắn có các thay đổi đáng kể đáng kể Các lớp biên được đặt Các lớp biên được gom nhóm với trong các package riêng biệt các lớp liên quan về mặt chức năng ThiNganHang.com
Nhóm các lớp liên quan về mặt chức năng Các tiêu chí – liên quan về mặt chức năng: 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ể đó Hai lớp tương tác hoặc cùng bị ảnh hưởng bởi thay đổi trong cùng một tác nhân Một lớp tạo ra thể hiện của lớp khác ThiNganHang.com
Nhóm các lớp liên quan về mặt chức năng Các tiêu chí – KHÔNG nên đặt hai lớp vào cùng một package: Hai lớp liên quan đến các tác nhân khác nhau Một lớp bắt buộc và một lớp không bắt buộc ThiNganHang.com
Sự phụ thuộc package: Element Visibility PackageA A Chỉ có lớp public (+) + Class A1 có thể được tham + Class A2 chiếu bên ngoài package chứa nó + Class A3 Lớp protected (#) chỉ B được truy cập trong PackageB gói chứa nó và gói kế thừa gói chứa nó Public visibility + Class B1 Lớp private (-) chỉ - Class B2 Private visibility được truy cập trong gói chứa nó Quy tắc của OO: Đóng gói (Encapsulation) ThiNganHang.com
Phụ thuộc giữa các package Các package không nên A X B phụ thuộc lẫn nhau (cross-coupling) A Tầng Package ở tầng thấp cao hơn hơn không nên phụ X X thuộc vào các package Tầng B ở tầng trên thấp hơn Nhìn chung, các phụ thuộc không nên bỏ qua C các tầng ở giữa X = Vi phạm móc nối ThiNganHang.com
Ví dụ: Registration Package MainStudentForm MainRegistrarForm 1 1 1 0..10..1 0..10..1 0..10..1 <<boundary>> <<boundary>> <<boundary>> CourseRegistrationForm OpenRegistrationForm CloseRegistrationForm 1 1 1 1 11 1 <<control>> <<control>> <<control>> CourseRegistrationController OpenRegistrationController CloseRegistrationController ThiNganHang.com
Ví dụ: University Artifacts Package <<entity>> <<entity>> CourseRegistrationInfo. Student 1 0..* 0..* 0..* primaryCourses alternateCourses 0..4 0..2 <<entity>> <<entity>> <<entity>> 0..* instructor Lecturer CourseInfo Subject 0..* 0..1 0..* 0..* 1 Prerequisites 0..* 1 CourseInfoList ThiNganHang.com
Nội dung 1. Xác định các phần tử thiết kế 2. Hệ thống con (Subsystem) 3. Tính tái sử dụng lại (Reusability) 4. Mô hình phân tầng trong quá trình thiết kế ThiNganHang.com
Hệ thống con (Subsystems) Đóng gói hoàn chỉnh một hành vi nào đó Thể hiện khả năng độc lập sử dụng các giao diện một cách rõ ràng Có thể có nhiều <<subsystem>> SubsystemA hình thức thực thi ClassA1 ClassA2 <<Interface>> W() X() InterfaceK <<subsystem>> X() SubsystemB W() ClassB1 ClassB2 ClassB3 W() X() Z() Y() ThiNganHang.com
Sử dụng hệ thống con Phân chia hệ thống thành nhiều phần hoạt động tương đối độc lập Thay đổi một phần không ảnh hưởng tới các phần còn lại Hệ thống con trong mô hình thiết kế sẽ trở thành thành phần trong quá trình cài đặt (components) Hệ thống con có thể được sử dụng để thể hiện một sản phẩm có sẵn, hoặc một hệ thống ngoại vi trong quá trình thiết kế ThiNganHang.com
Tìm kiếm hệ thống con Các phân tích có thể trở thành hệ thống con nếu: Cung cấp chức năng phức tạp Các lớp biên (giao diện với hệ thống bên ngoài) Các sản phẩm có sẵn hoặc các hệ thống bên ngoài trong quá trình thiết kế (ví dụ thành phần): Phần mềm giao tiếp <<subsystem>> Hỗ trợ truy cập CSDL Subsystem A Các kiểu và cấu trúc dữ liệu <<subsystem>> Subsystem B Các tiện ích chung <<subsystem>> Các sản phẩm theo ứng dụng Subsystem C ThiNganHang.com
Xác định hệ thống con “Superman Class” <<control>> ClassA X() W() <<Interface>> InterfaceK <<subsystem>> SubsystemA X() ClassA1 ClassA2 W() X() W() ThiNganHang.com
Giao diện cho hệ thống con (Subsystem Interface) Mỗi hệ thống con nên có một hoặc nhiều giao diện Mô hình hóa các giao diện Ánh xạ giao diện vào hệ thống con Chỉ ra sự phụ thuộc của nó tới các lớp khác Chỉ ra các hành động của giao diện Tham số và kết quả Kiểu dữ liệu Đóng gói các giao diện Một giao diện rõ ràng, ổn định là giải pháp tốt cho việc tạo ra một kiến trúc hiệu quả ThiNganHang.com
Die ersten 20 Seiten werden angezeigt. Laden Sie das Dokument herunter, um alles zu sehen.
Noch keine Kommentare. Seien Sie der Erste!
Kommentare (0)
Noch keine Kommentare. Seien Sie der Erste!