1. Trang chủ
  2. » Công Nghệ Thông Tin

Các design class và subsystem

21 301 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Các design class và subsystem
Tác giả Dương Anh Đức
Chuyên ngành Object-Oriented Design / Software Architecture
Thể loại Bài giảng
Định dạng
Số trang 21
Dung lượng 166,57 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

PT & TK Hướng đối tượng – Thiết kế kiến trúc21 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ác Design Class và Subsystem w Các khả năng tái s

Trang 1

PT & TK Hướng đối tượng – Thiết kế kiến trú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ác Design Class và Subsystem

w Các khả năng tái sử dụng

w Tổ chức mô hình thiết kế

w Checkpoints

Trang 2

Analysis Classes Design Elements

Quan hệ nhiều nhiều

Từ Analysis Classes đến Design Elements

<<boundary>>

<<control>>

<<entity>>

<<boundary>>

Trang 3

PT & TK Hướng đối tượng – Thiết kế kiến trúc

23

Xác định các Design Class

w Analysis class ánh xạ thẳng thành design class 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 design class

Trang 4

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ử

Trang 5

PT & TK Hướng đối tượng – Thiết kế kiến trú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ó

Realization (Canonical form)

Realization (Elided form)

<<interface>>

Interface

Nhắc lại: Subsystem và Interface

Trang 6

SubsystemA InterfaceK

W()

Class B2 X()

Class B3 Z()

Class A1 W()

Class A2 X()

Subsystem và 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

Trang 7

PT & TK Hướng đối tượng – Thiết kế kiến trúc

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ế

Trang 8

Các Subsystem 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)

Trang 9

PT & TK Hướng đối tượng – Thiết kế kiến trúc

29

Các gợi ý giúp xác định các Subsystem

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ác class

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

Trang 10

w Các Analysis classe có thể tiến hoá thành các subsystem

Các Subsystem tiềm năng

Trang 11

PT & TK Hướng đối tượng – Thiết kế kiến trúc

31

InterfaceA

<<Interface>>

Y() Z()

<<subsystem>> SubsystemK

ClassA

Y() Z()

“Superman Class”

Identifying Subsystems

?

Trang 12

Các interface ổn định, thiết kế tốt là nền tảng cho một kiến trúc bền vững

§ Tìm kiếm sự tương tự giữa các interface

§ Định nghĩa các phụ thuộc của interface

§ Ánh xạ các interface đến các subsystem

§ Định nghĩa hành vi được mô tả bới interface

§ Đoán gói các interface

Trang 13

PT & TK Hướng đối tượng – Thiết kế kiến trúc

33

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

§ Tên phải phản ánh đúng kết quả của operation

§ Mô tả operation được thực hiện, tất cả các tham số và kết quả

w Interface documentation

§ Package các thông tin hỗ trợ: sequence aà state diagrams, kế hoạch kiểm chứng, …

Trang 14

BillingSystem // submit bill()

Tất cả các analysis class khác đều chuyển thành design class

Ví dụ: Các Design Subsystem

getCourseOfferings(forSemester : Semester) : CourseOfferingList

submitBill(forTuition : Double, forStudent : Student)

Trang 15

PT & TK Hướng đối tượng – Thiết kế kiến trúc

35

Analysis Class Design Element

CourseCatalogSystem

BillingSystem

All other analysis classes map

directly to design classes

CourseCatalogSystem Subsystem BillingSystem Subsystem

Via dụ: Analysis-Class-To-Design-Element Map

Trang 16

<<subsystem proxy>> class

Qui ước mô hình hoá: Subsystem và Interface

Trang 17

PT & TK Hướng đối tượng – Thiết kế kiến trúc

37

courseCatalog

CourseOfferingList

CourseCatalogSystem getCourseOfferings(forSemester : Semester) : CourseOfferingList

<<subsystem proxy>>

RegistrationController

// get course offerings() // get current schedule() // delete current schedule() // submit schedule()

// is registration open?() // save schedule() // create schedule with offerings() // update schedule with new selections()

<<control>>

CloseRegistrationController

// is registration open?() // close registration()

<<control>>

ICourseCatalogSystem getCourseOfferings(forSemester : Semester) : CourseOfferingList

Trang 18

BillingSystem submitBill(forStudent : Student, forTuition : double)

<<subsystem proxy>>

IBillingSystem submitBill(forTuition : Double, forStudent : Student)

<<Interface>>

Student

<<entity>>

0 1 1 +Biller

CloseRegistrationController

// is registration open?() // close registration()

<<control>>

Ví duï: Subsystem Context: Billing System

Trang 19

PT & TK Hướng đối tượng – Thiết kế kiến trúc

39

Bài tập: Architectural Design, phần 1

w Cho biết các vấn đề sau:

§ Các analysis class và mối quan hệ của chúng

Trang 21

PT & TK Hướng đối tượng – Thiết kế kiến trúc

41

Bài tập: Architectural Design, Part 1 (tt.)

w Hãy xây dựng các lược đồ sau:

§ Với mỗi subsystem, xây dựng 1 subsystem context class diagram

§ Xây dựng bảng ánh xạ các analysis class thành

các phần tử thiết kế (design element)

Ngày đăng: 29/09/2013, 17:20

HÌNH ẢNH LIÊN QUAN

w Tổ chức mô hình thiết kế - Các design class và subsystem
w Tổ chức mô hình thiết kế (Trang 1)
§ Mô hình hoá nhiều phương án cài đặt khác nhau - Các design class và subsystem
h ình hoá nhiều phương án cài đặt khác nhau (Trang 6)
§ Thứ tự, cấu hình, hoặc vận chuyển - Các design class và subsystem
h ứ tự, cấu hình, hoặc vận chuyển (Trang 8)
Qui ước mô hình hoá: Subsystem và Interface - Các design class và subsystem
ui ước mô hình hoá: Subsystem và Interface (Trang 16)
§ Xây dựng bảng ánh xạ các analysis class thành - Các design class và subsystem
y dựng bảng ánh xạ các analysis class thành (Trang 21)

TỪ KHÓA LIÊN QUAN

w