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
Dương Anh Đức
17
Nhắc lại: Operation là gì ?
CourseOffering
addStudent
deleteStudent
getStartTime
getEndTime
Class
Operation
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
18
:ClassA
// Perform responsibility
:ClassB
:ClassA
performResponsibility():result
:ClassB
Operation: Tìm chúng ở đâu?
w Các thông điệp trong các interaction diagram
w Các chức năng phụ thuộc vào cài đặt khác
§ Các chức năng quản trò
§ Các nhu cầu sao chép class
§ Các nhu cầu kiểm tra bằng, khác nhau, …
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
19
Đặt tên và mô tả các Operation
w Các tên thích hợp cho operation
§ 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