Các bước thiết kế Classw 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
Trang 1Cá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 Xử lý các yêu cầu phi chức năng nói chung
Trang 2PT & TK Hướng đối tượng – Thiết kế kiến trúc
Giải quyết đụng độ giữa các Use-Case
w Nhiều use case có thể truy cập riêng rẽ đến các design object
w Options
§ Dùng cơ chế truyền message đồng bộ => đến trước được xử lý trước
§ Xác định các operation (hay code) cần protect
§ Áp dụng cơ chế access control
• Lập hàng đợi Message
• Semaphores (hoặc 'tokens')
• Các cơ chế khóa khác
w Lời giải phụ thuộc nhiều vào môi trường cài đặt
Trang 3Cá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
Trang 4PT & TK Hướng đối tượng – Thiết kế kiến trúc
Xử lý các yêu cầu phi chức năng nói chung
Analysis Class Analysis Mechanism(s)
Student Schedule CourseOffering Course
RegistrationController
Persistency, Security
Persistency, Legacy Interface Persistency, Legacy Interface Distribution
Persistency, Security
Analysis Design Implementation
Remote Method Invocation (RMI)
Persistency
Analysis
Mechanism
(Conceptual)
Design Mechanism (Concrete)
Implementation Mechanism (Actual)
OODBMS
RDBMS JDBC
ObjectStore
Java 1.2 from Sun
Legac
y Data
New Data
Distribution
Guidelines Some Design
Class
Trang 5Cá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
Trang 6PT & TK Hướng đối tượng – Thiết kế kiến trúc
Checkpoints: Các Class
w Tên của mỗi class có phản ánh rõ vai trò của nó không?
w Class có biểu diễn một single well-defined abstraction?
w Tất cả các attribute và trách nhiệm có gắn kết với nhau?
w Có bất kỳ class attribute, operation hay relationship nào cần tổng quát hóa, nghĩa là, chuyển lên tổ tiên không?
w Mọi yêu cầu trên class đã xử lý?
w Mọi đòi hỏi trên class phù hơp với với statecharts mô hình hóa hành vi của class và các thể hiện của nó?
w Đã mô tả trọn vẹn chu kỳ sống của các thể hiện của class ?
w Class thực hiện mọi hành vi cần thiết?
Trang 7Checkpoints: Operations
w Các operation có dễ hiểu?
w Các mô tả trạng thái của class và hành vi của các
object của nó có chính xác?
w Class có thực hiện đúng hành vi yêu cầu nó?
w Bạn đã các định các tham số đúng chưa ?
w Bạn đã gán đầy đủ operations cho các message của mỗi object ?
w Các đặc tả cài đặt (nếu có) của operation có chính
xác ?
w Các operation signature có phù hợp với NNLT cài đặt hệ thống?
w Tất cả các operation đề cần cho use-case realization?
Trang 8PT & TK Hướng đối tượng – Thiết kế kiến trúc
Checkpoints: Attributes
use-case realization ?
Trang 9Checkpoints: Relationships
Trang 10PT & TK Hướng đối tượng – Thiết kế kiến trúc
Nhắc lại: Class Design
mô tả ngắn gọn về mỗi thứ.