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đốitượng – Thiếtkế kiến trúc
Dương Anh Đức
1
Phân tích và ThiếtkếHướngđối tượng
dùng UML
Module 12:Thiếtkế Subsystem
PT & TK Hướngđốitượng – Thiếtkế 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ếtkế
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đốitượng – Thiếtkế kiến trúc
Dương Anh Đức
3
Vò trí của Thiếtkế 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đốitượng – Thiếtkế kiến trúc
Dương Anh Đức
4
Tổng quan về thiếtkế 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đốitượng – Thiếtkế 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đốitượng – Thiếtkế 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đốitượng – Thiếtkế 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đốitượng – Thiếtkế kiến trúc
Dương Anh Đức
8
Các bước thiếtkế 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đốitượng – Thiếtkế kiến trúc
Dương Anh Đức
9
Các bước thiếtkế 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đốitượng – Thiếtkế 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
[...]... khi thiếtkế Subsystem? w Tại sao phải đặt các phụ thuộc của một subsystem lên subsystem interface? PT & TK Hướngđốitượng – Thiếtkế kiến trúc Dương Anh Đức 29 Bài tập: Thiếtkế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ếtkế khác (các lược đồ trong ngữ cảnh của subsystem) (còn tiếp) PT & TK Hướngđốitượng – Thiếtkế kiến... connection( ) PT & TK Hướngđốitượng – Thiếtkế kiến trúc Dương Anh Đức 19 Các bước thiếtkế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đốitượng – Thiếtkế kiến trúc Dương Anh Đức 20 Ví dụ: CourseCatalogSystem Subsystem Elements ICourseCatalogSystem < >... contact info() 1 Subsystem Proxy 0 1 BillingSystemInterface submit(theTransaction : StudentBillingTransaction) PT & TK Hướngđốitượng – Thiếtkế kiến trúc Dương Anh Đức 22 Các bước thiếtkế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đốitượng – Thiếtkế kiến trúc Dương... Middleware) PT & TK Hướngđốitượng – Thiếtkế kiến trúc Dương Anh Đức 25 Ví dụ: BillingSystem Subsystem Dependencies < > BillingSystem (from Business Services) External System Interfaces (from Business Services) University Artifacts (from Business Services) PT & TK Hướng đốitượng – Thiếtkế kiến trúc Dương Anh Đức 26 Các bước thiếtkếSubsystem w Phân bố các hành vi của Subsystemcho các phần... Dương Anh Đức 30 Bài tập: ThiếtkếSubsystem (tt.) w Với một subsystem cụ thể, hãy xác đònh: § Các phần tử thiếtkế chứa trong 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 đốitượng – Thiếtkế kiến trúc Dương Anh Đức 31 Bài tập: ThiếtkêSubsystem Design (tt.) w Với một subsystem cụ thể, hãy... quan hệ cần thiết w Tham khảo lại phầnthiếtkế kiến trúc § Chỉnh subsystem boundaries và các phụ thuộc, nếu cần PT & TK Hướng đốitượng – Thiếtkế kiến trúc Dương Anh Đức 11 Qui ước: Subsystem Interaction Diagrams Subsystem Client Subsystem Proxy Design Element 1 Design Element 2 performResponsibility( ) Op1() subsystem responsibility Op2() Internal subsystem interactions Op3() Op4() Không hiển thò Subsystem. .. Dương Anh Đức 23 Describing Subsystem Dependencies w Subsystem phụ thuộc vào một subsystem < > Client Support < > Server Support Mềm dẻo Server w Subsystem phụ thuộc vào package < > Client Support PT & TK Hướng đốitượng – Thiếtkế kiến trúc Dương Anh Đức Supporting Types 24 Dùng nhưng cẩn thận Ví dụ: CourseCatalogSystem Subsystem Dependencies < > CourseCatalogSystem... 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đốitượng – Thiếtkế kiến trúc Dương Anh Đức 27 Checkpoints: Thiết Subsystems w Đã đònh nghóa realization association cho mỗi interface đề nghò bởi subsystem? w Đã đònh nghóa một dependency association cho mỗi interface dùng bởi subsystem chưa? w Hãy chắc chắn rằn, không có một phần tử nào của subsystem. .. một interface được hiện thực hóa bởi subsystem đã được mô tả trên một interaction diagram chưa ? Nếu chưa, operation có được hiển thực hóa bởi một class đơn không? Khi đó, có dề thấy đó là ánh xạ 1:1 giữa class operation và interface operation? PT & TK Hướng đốitượng – Thiếtkế kiến trúc Dương Anh Đức 28 Nhắc lại: ThiếtkếSubsystem Design w Mục đích của thiếtkếSubsystem là gì ? w Cần tạo ra bao nhiêu... Các bước tích hợp JDBC w Cung cấp khả năng 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đốitượng – Thiếtkế 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ếtkế § Gán . 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. 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