Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
166,57 KB
Nội dung
PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 21 Architectural Design Topics w Các khái niệm then chốt w Các cơ chế thiết kế và cài đặt w CácDesignClassvàSubsystem w Các khả năng tái sử dụng w Tổ chức mô hình thiết kế w Checkpoints PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 22 Analysis Classes Design Elements Quan hệ nhiều nhiều Từ Analysis Classes đến Design Elements <<boundary>> <<control>> <<entity>> <<boundary>> PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 23 Xác đònh cácDesignClass w Analysis class ánh xạ thẳng thành designclass nếu: § Đơn giản § Biểu diễn một single logical abstraction w Các analysis class phức tạp hơn có thể: § Tách thành nhiều class § Trở thành một package § Trở thành một subsystem (sẽ khảo sát sau) § Một tổ hợp bất kỳ … w Các analysis class đơn giản có thể trở thành một designclass PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 24 PackageB +Class B1 -Class B2 PackageA Class A1 Class A3 Class A2 A B Public visibility Private visibility Chỉ các public class mới được tham chiếu từ bên ngoài package sở hữu nó Nguyên lý OO : Encapsulation Các phụ thuộc Package: Tính khả kiến của các ptử PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 25 w Một dạng trung gian giữa package (có thể chứa các phần tử khác) vàclass (có hành vi) w Hiện thực hoá 1 hoặc nhiều interface đònh nghóa hành vi của nó <<subsystem>> Subsystem Name Interface Subsystem <<subsystem>> Subsystem Name Interface Realization (Canonical form) Realization (Elided form) <<interface>> Interface Nhắc lại: Subsystemvà Interface PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 26 <<subsystem>> SubsystemA InterfaceK <<Interface>> X() W() <<subsystem>> SubsystemB Class B1 W() Y() Class B2 X() Class B3 Z() Class A1 W() Class A2 X() Subsystemvà Interface (tt.) w Các Subsystem: § Hoàn toàn đóng gói hành vi § Thể hiện một khả năng hoàn toàn độc lập, với các interface rõ ràng (có tiềm năng tái sử dụng) § Mô hình hoá nhiều phương án cài đặt khác nhau PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 27 A <<subsystem>> PackageB Class B1 Class B2 Client Class Encapsulation là mấu chốt ! So sánh Package với Subsystem w Subsystem cung cấp hành vi, package không w Subsystem hoàn toàn đóng gói nội dung của nó, package thì không w Subsystem dễ dàng được thay thế PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 28 CácSubsystem nâng cao mức độ trừu tượng Cách dùng Subsystem w Subsystem có thể dùng để chia system thành các phần độc lập về: § Thứ tự, cấu hình, hoặc vận chuyển § Phát triển, chừng nào mà interface còn chưa thay đổi § Triển khai trên các node tính toán phân tán § Thay đổi mà không phá vỡ các phần khác của system w Subsystem còn có thể dùng để: § Phần chia system thành các đơn vò cung cấp độ bảo mật cao đối với các tài nguyên then chốt § Biểu diễn các sản phẩm có sẵn hoặc các system nằm ngoài bản thiết kế (chẳng hạn như các component) PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 29 Các gợi ý giúp xác đònh cácSubsystem w Tìm kiếm sự cộng tác giữa các object w Tìm kiếm sự tuỳ chọn w Chú ý user interface của system w Chú ý các Actor w Tìm kiếm sự kết dính giữa cácclass w Xem xét sự thay thế (các mức độ service) w Xem xét sự phân bố w Xem xét sự kém bền vững PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 30 w Các Analysis classe có thể tiến hoá thành cácsubsystem § CácClass cung cấp các dòch vụ và/hoặc các tiện ích trọn vẹn § Các Boundary class (user interface và external system interface) w Các sản phẩm sẵn có hoặc các system nằm ngoài thiết kế § Communication software § Database access support § Các kiểu và cấu trúc dữ liệu § Các tiện ích dùng chung § Các sản phẩm ứng dụng đặc thù CácSubsystem tiềm năng [...]... trúc Dương Anh Đức 38 Bài tập: Architectural Design, phần 1 w Cho biết các vấn đề sau: § Các analysis classvà mối quan hệ của c PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 39 Bài tập: Architectural Design, phần 1 w Hãy xác đònh: § Các Subsystem, các interface và các qu chúng với các phần tử thiết kế khác § Ánh xạ các analysis class thành các pha kế (cò PT & TK Hướng đối tượng – Thiết...Identifying Subsystems ClassA “Superman Class Y() Z() InterfaceA < > SubsystemK Y() Z() PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức ? 31 Identifying Interfaces w Mục đích § Để xác đònh interface của cácsubsystem nhiệmvụ của chúng w Các bước § Xác đònh một tập các interface tiềm nă cả cácsubsystem § Tìm kiếm sự tương tự giữa các interface § Đònh nghóa các phụ thuộc... cả các analysis class khác đều chuyển thành d PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 34 Via dụ: Analysis -Class- To -Design- Ele Analysis ClassDesign Ele CourseCatalogSystem CourseCatalogSystem BillingSystem BillingSystem Subsyst All other analysis classes map directly to design classes PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 35 Qui ước mô hình hoá: Subsystem và. .. analysis class thành các pha kế (cò PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 40 Bài tập: Architectural Design, Part 1 w Hãy xây dựng các lược đồ sau: § Với mỗi subsystem, xây dựng 1 subsyst class diagram § Xây dựng bảng ánh xạ các analysis clas các phần tử thiết kế (design element) PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 41 ... các phụ thuộc của interface § Ánh xạ các interface đến cácsubsystem § Đònh nghóa hành vi được mô tả bới inter § Đoán gói các interface Các interface ổn đònh, thiết kế tốt là nền tảng cho một kie PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 32 Interface Guidelines w Đặt tên cho Interface § Thể hnện vai trò trong system w Mô tả Interface § Chuyển tải các nhiệm vụ w Đònh nghóa Operation... Dương Anh Đức 35 Qui ước mô hình hoá: Subsystemvà ICourseCatalogSystem < > CourseCatalogSystem < > package < CourseCatalogSystem < > CourseCatalogSystem ICourseCatalogSystem PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 36 Ví dụ: Subsystem Context: CourseCata RegistrationController ... w Đònh nghóa Operation § Tên phải phản ánh đúng kết quả của op § Mô tả operation được thực hiện, tất cả c và kết quả w Interface documentation § Package các thông tin hỗ trợ: sequence diagrams, kế hoạch kiểm chứng, … PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 33 Ví dụ: CácDesignSubsystem Analysis Des BillingSystem // submit bill() . W() << ;subsystem& gt;> SubsystemB Class B1 W() Y() Class B2 X() Class B3 Z() Class A1 W() Class A2 X() Subsystem và Interface (tt.) w Các Subsystem: . Đức 30 w Các Analysis classe có thể tiến hoá thành các subsystem § Các Class cung cấp các dòch vụ và/ hoặc các tiện ích trọn vẹn § Các Boundary class (user