Phân tích và Thiết kế hướng đối tượng dùng UML: THiết kế class doc - Pdf 15

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 13: Thiết kế Class
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ế Class và
vò trí của công đoạn này trong qui trình
w Xác đònh bổ sung các class và quan hệ của
chúng cần để hỗ trợ cho việc cài đặt các cơ
chế kiến trúc đã chọn
w Xác đònh và phân tích việc chuyển đổi trạng
thái các đối tường trong các class kiểm soát
được trạng thái
w Tinh chỉnh các quan hệ, operation, và thuộc
tính
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ế Class
Architect
Designer
Architectural
Analysis
Architecture
Reviewer
Review the

Use-Case Realization
Design Classes
Design Classes
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
5
Các bước thiết kế Class
w Tạo các Design Class ban đầu
w Xác đònh các Persistent Class
w Đònh nghóa các Operation
w Đònh nghóa Class Visibility
w Đònh nghóa các Method
w Đònh nghóa các trạng thái
w Đònh nghóa các thuộc tính
w Đònh nghóa các phụ thuộc
w Đònh nghóa các mỗi kết hợp
w Đònh nghóa các quan hệ tổng quát hóa
w Giải quyết đụng độ giữa các Use-Case
w Xử lý các yêu cầu phi chức năng nói chung
w Checkpoints
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
6
Các bước thiết kế Class
w Tạo các Design Class ban đầu
w Xác đònh các Persistent Class
w Đònh nghóa các Operation
w Đònh nghóa Class Visibility
w Đònh nghóa các Method
w Đònh nghóa các trạng thái

w Nếu nhiều class phức tạp. Nghóa là mỗi class:
§ Đóng gói một phần nhiều hơn trên toàn bộ hệ thống
§ Ít khả năng dùng lại hơn
§ Khó cài đặt hơn
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
9
MainForm
SubWindow
DropDownListButton
MainWindow
Thiết kế các Boundary Class
w Các User interface (UI) boundary class
§ Công cụ xây dựng giao diện người dùng nào sẽ
được sử dụng?
§ Bao nhiêu giao diện có thể được xây dựng bởi
công cụ?
w Các External system interface boundary class
§ Thường được mô hình như subsystem
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
10
Analysis
Design
FatClass
- transientBookeeping
+ getCommonlyUsedAtt1()
+ getCommonlyUsedAtt2()
+ getRarelyUsedAtt3()
+ getRarelyUsedAtt4()

§ Tính phân tán và hiệu năng
§ Transaction management
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
12
Các bước thiết kế Class
w Tạo các Design Class ban đầu
w Xác đònh các Persistent Class
w Đònh nghóa các Operation
w Đònh nghóa Class Visibility
w Đònh nghóa các Method
w Đònh nghóa các trạng thái
w Đònh nghóa các thuộc tính
w Đònh nghóa các phụ thuộc
w Đònh nghóa các mỗi kết hợp
w Đònh nghóa các quan hệ tổng quát hóa
w Giải quyết đụng độ giữa các Use-Case
w Xử lý các yêu cầu phi chức năng nói chung
w Checkpoints
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
13
w Mọi thể hiện của class đều đòi hỏi phải lưu giữ trạng
thái của nó
w Các Persistent class được gán với cơ chế persistence
Client
Class
Persistency
Analysis
Mechanism

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
15
Các bước thiết kế Class
w Tạo các Design Class ban đầu
w Xác đònh các Persistent Class
w Đònh nghóa các Operation
w Đònh nghóa Class Visibility
w Đònh nghóa các Method
w Đònh nghóa các trạng thái
w Đònh nghóa các thuộc tính
w Đònh nghóa các phụ thuộc
w Đònh nghóa các mỗi kết hợp
w Đònh nghóa các quan hệ tổng quát hóa
w Giải quyết đụng độ giữa các Use-Case
w Xử lý các yêu cầu phi chức năng nói chung
w Checkpoints
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
16
Đònh nghóa các Operation
w Mục đích
§ Ánh xạ các nhiệm vụ đã xác đònh ơ mức phân tích
thành các operation thực hiện chúng
w Những cái cần xem xét:
§ Tên Operation, signature, và mô tả
§ Operation visibility
§ Tầm vực Operation
• Class operation hay instance operation
PT & TK Hướng đối tượng – Thiết kế kiến trúc

§ Chỉ rõ kết quả của operation
§ Đứng dưới góc nhìn của client
§ Nhất quán qua tất cả các class
w Đònh nghóa operation signature
§ operationName(parameter : class, ) : returnType
w Cung cấp một mô tả ngắn, bao gồm ý nghóa
của tất cả các tham số
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
20
Guidelines: Thiết kế Operation Signatures
w Khi thiết kế operation signatures phải bảo đảm
hàm chứa:
§ Các tham số truyền theo giá trò hay tham số?
§ Các tham số có bò thay đổi bởi operation?
§ Các tham số là optional?
§ Tham số có giá trò mặc đònh?
§ Miền tham số hợp lệ?
w Càng ít tham số càng tốt
w Truyền các object thay vì “data bits”
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
21
Phát hiện Additional Classes và Relationships
Additional classes và relationships có thể được
thêm vào để hỗ trợ signature
ClassA
Class2
op1(var1:Class2): Class3
Class3

- classifierScopeAttribute
classifierScopeOperation()
- instanceScopeAttribute
instanceScopeOperation()
Tầm vực
w Xác đònh số lượng thể hiện của attribute /
operation
§ Instance: 1 instance cho mỗi class instance
§ Classifier: 1 instance cho tất cả class instance
w Tầm vực mức Classifier được ký hiệu bằng
cách gạch dưới tên attribute/operation
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
25
Ví dụ: Scope
Student
- name
- address
- nextAvailID : int
+ addSchedule(theSchedule : Schedule, forSemester : Semester)
+ getSchedule(forSemester : Semester) : Schedule
+ hasPrerequisites(forCourseOffering : CourseOffering) : boolean
# passed(theCourseOffering : CourseOffering) : boolean
+ getNextAvailID() : int
<<entity>>
- studentID


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status