Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
194,42 KB
Nội dung
PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 70 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ácmỗikếthợ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 71 Đònh nghóa Associations w Mục đích § Tinh chỉnh các association còn lại w Những gì cần xem xét : § Cân nhắc giữa Association và Aggregation § Cân nhắc giữa Aggregation và Composition § Cân nhắc giữa Attribute và Association § Chiều của quan hệ (Navigability) § Thiết kế Association class § Thiết kế bản số (Multiplicity design) PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 72 Whole Part Whole Aggregation Part Nhắc lại: Composition là gì ? w Là một dạng của aggregation với tính sở hữu cao và trùng khớp về chu kỳ sống § “Bộ phận” không thể tồn tại lâu hơn “toàn thể” PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 73 w Shared Aggregation w Non-shared Aggregation 1 Whole Part 1 * 0 * Bản số > 1 Whole Part 1 0 * Bản số = 1 Theo đònh nghóa, composition là non-shared aggregation Whole Part 0 * Bản số = 1 Composition Aggregation: Shared hay không shared PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 74 aggregation composition Class1 Class1 Class2 Class2 Aggregation hay Composition? w Xem xét § Chu kỳ sống của Class1 và Class2 PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 75 Ví dụ: Composition Student Schedule 1 0 * RegisterForCoursesForm 1 1 RegistrationController PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 76 Cân nhắc giữa Attributes và Composition w Dùng composition khi § Các thuộc tính cần được nhận dạng độc lập § Nhiều class có chung các thuộc tính § Các thuộc tính có cấu trúc phức tạp và bản thân chúng cũng có thuộc tính riêng § Các thuộc tính có hành vi riêng (phức tạp) § Các thuộc tính có quan hệ riêng w Các trường hợp còn lại dùng attributes PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 77 Ví dụ: Attributes/Composition Composition of separate class Attributes 0 * 11 Student - name - address <<classifier scope>> - nextAvailID : int - StudentID : int - dateofBirth : Date + addSchedule() + getSchedule() + delete schedule() + hasPrerequisites() # passed() <<entity>> Schedule + submit() + // save() # any conflicts?() + // create with offerings() + new() + passed() <<entity>> - Semester PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 78 ? Schedule CourseOffering 0 40 * primaryCourses Schedule CourseOffering 0 40 * primaryCourses Schedule CourseOffering 0 40 * primaryCourses Chiều của quan hệ w Khảo sát các interaction diagram w Ngay cả khi cả 2 chiều đều có vẻ cần thiết, vẫn có thể chỉ 1 chiều hoạt động § Một chiều quan hệ ít xảy ra § Số thể hiện của một class ít PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 79 Ví dụ: Tinh chỉnh chiều quan hệ w Tổng số Schedule nhỏ, hay w Không bao giờ cần một list Schedule có CourseOffering xuất hiện trên đó w Tổng số CourseOffering nhỏ, hay w Không bao giờ cần một list CourseOffering có Schedule xuất hiện trên đó w Tổng số CourseOffering và Schedule đều không nhỏ w Phải quan tâm đến cả 2 chiều Schedule CourseOffering 0 40 * primaryCourses Schedule CourseOffering 0 40 * primaryCourses Schedule CourseOffering 0 40 * primaryCourses [...]... Class (template) là gì? w Là một class dùng để đònh nghóa các khác w Thường dùng cho các container class § Một số container class thông dụng: • Set, list, dictionary, stack, queue, … Formal arguments Parameterized Class PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức It List 83 Thể hiện của Parameterized Class Kết buộc tường minh Kết buộc Formal arguments Parameterized Class Instantiated... Dependency và Associat w Hãy cho biết: § Use-case realization của 1 use case và thiết kế của 1 subsystem § Thiết kế của tất cả các design element (còn PT & TK Hướng đối tượng – Thiết kế kiến trúc Dương Anh Đức 87 Bài tập: Đ/n Dependenc và Association ( w Hãy xác đònh: § Chiều của mỗi quan hệ § Mọi class cần bổ sung để hỗ trợ cho vie quan hệ § Mọi association được tinh chỉnh thành d § Mọi association được . Đò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. kiến trúc Dương Anh Đức 70 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