Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
210,42 KB
Nội dung
PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 1 Phân tích và Thiết kế Hướng đối tượng dùng UML Module 12: Thiết kế Subsystem PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 2 Mục tiêu: w Tìm hiêu mục đích của bước thiết kế Subsystem và vò trí của công đoạn này trong qui trình w Đònh nghóa các hành vi đươc mô tả trong interfaces của subsystem dưới dạng collaboration của các class chưa bên trong w Lập sưu liệu về cấu trúc bên trong của subsystem w Xác đònh các phụ thuộc cào các phần tử bên ngoài subsystem PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 3 Vò trí của Thiết kế Subsystem Architect Designer Architectural Analysis Architecture Reviewer Review the Design Review the Architecture Use-Case Analysis Architectural Design Describe Concurrency Describe Distribution Class Design Subsystem Design Use-Case Design Design Reviewer PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 4 Tổng quan về thiết kế Subsystem Subsystem Design Use-Case Realization Use-Case Realization (updated) Design Subsystems and Interfaces Design Subsystems and Interfaces (updated) Design Classes Design Guidelines PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 5 w Subsystem là sự “kết hợp” giữa package và class w Hiện thực hóa 1 hoặc nhiều interfaces đò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: Subsystems và Interfaces PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 6 Chìa khóa là abstraction và encapsulation A <<subsystem>> B <<subsystem>> C <<subsystem>> Subsystem Guidelines w Mục tiêu § Giảm thiểu kết nối § Có tính cơ động, tương thích plug-and-play § Cách ly các thay đổi § Tiến hóa độc lập w Những đề nghò § Đừng khảo sát chi tiết, chỉ interfaces § Chỉ phụ thuộc vào interfaces khác PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 7 Nhắc lại: Các qui ước mô hình hóa CourseCatalogSystem <<subsystem>> ICourseCatalogSystem ICourseCatalogSystem CourseCatalogSystem <<subsystem proxy>> CourseCatalogSystem <<subsystem>> Interfaces start with an “I” <<subsystem>> package <<subsystem proxy>> class PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 8 Các bước thiết kế Subsystem w Phân bố các hành vi của Subsystemcho các phần tử của nó w Lập sưu liệu về các phần tử của Subsystem w Mô tả các phụ thuộc của Subsystem w Checkpoints PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 9 Các bước thiết kế Subsystem w Phân bố các hành vi của Subsystemcho các phần tử của nó w Lập sưu liệu về các phần tử của Subsystem w Mô tả các phụ thuộc của Subsystem w Checkpoints PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 10 CourseCatalogSystem <<subsystem>> ICourseCatalogSystem getCourseOfferings() <<interface>> subsystem responsibility Các nhiệm vụ của Subsystem w Các interface operation xác đònh nhiệm vụ của Subsystem w Interface operations được hiện thực hóa bởi § Internal class operations § Internal subsystem operations [...]... kiến trúc: Persistency w Bảng ánh xạ Analysis-Class với các cơ chế kiến trúc có từ phân tích Use-Case Analysis Class Analysis Mechanism(s) Student Persistency, Security Schedule Persistency, Security CourseOffering Persistency, Legacy Interface Course Persistency, Legacy Interface RegistrationController Distribution OODBMS Persistency đã khảo sát trong Use-Case Design PT & TK Hướng đối tượng – Thiết... interface? PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 29 Bài tập: Thiết kế Subsystem w Cho biết các điều sau: § Đònh nghóa các subsystem, các interface và các quan hệ của chúng với các phần tử thiết kế khác (các lược đồ trong ngữ cảnh của subsystem) (còn tiếp) PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 30 Bài tập: Thiết kế Subsystem (tt.) w Với một subsystem cụ thể, hãy xác... truy suất đến thư viện các class cần để cài đặt JDBC √ § Cung cấp java.sql package w Tạo các DBClass cần thiết § Một DBClass/một persistent class § Course Offering persistent class => DBCourseOffering √ - Done (còn tiếp) PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 15 Nhắc lại: Các bước tích hợp JDBC (tt.) w Tích hợp các DBClass vào thiết kế § Gán cho các package/layer • DBCourseOffering... getCourseOfferings(Semester) Retrieve all available course offerings for the current semester Subsystem Proxy 1.1 read(string) 1.1.1 createStatement( ) sql statement is passed in specifying the search criteria -course offerings in the current semester Repeat these operations for each element returned from the executeQuery() command 1.1.2 executeQuery(String) 1.1.2.1 // executeQuery( ) Create a list to hold all... performResponsibility( ) Op1() subsystem responsibility Op2() Internal subsystem interactions Op3() Op4() Không hiển thò Subsystem interface PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 12 Ví dụ: CourseCatalogSystem Subsystem subsystem interface : Student : RegisterFor CoursesForm : Registration Controller : ICourseCatalog System : Schedule : Student 1: // create schedule( ) 2: // get... subsystem và các quan hệ của chúng § Các cơ chế kiến trúc khả dụng § Các interaction cần để cài đặt các subsystem interface operation (còn tiếp) PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 31 Bài tập: Thiết kê Subsystem Design (tt.) w Với một subsystem cụ thể, hãy tạo các lược đồ: § “Interface realizations” • Interaction diagram cho mỗi interface operation • Class diagram chưa các phần tử của . xạ Analysis-Class với các cơ chế kiến trúc có từ phân tích Use-Case Schedule Persistency, Security OODBMS Persistency đã khảo sát trong Use-Case Design. the Architecture Use-Case Analysis Architectural Design Describe Concurrency Describe Distribution Class Design Subsystem Design Use-Case Design Design