Created by Trang Hồng Sơn - 1 - DOMAIN MODEL REFINEMENT 1. Các bước tinh chỉnh: - Tổng quát hoá (Generalization): tái sử dụng, cũng như cải thiện tính nhất quán về ñặc tả và cài ñặt thể hiện qua mối quan hệ “kế thừa”. + Mở rộng các ñặc trưng của lớp: các lớp con sẽ kế thừa tất cả các thuộc tính và thao tác của lớp cha. + ðịnh nghĩa lại các thao tác: các lớp con có thể ñịnh nghĩa lại cách thức làm việc của một thao tác ñược thừa kế (overriding methods). + Các thao tác “giữ chỗ”: các thao tác ñược ñịnh nghĩa trong lớp cha chỉ nhằm mục ñích bảo ñảm rằng các lớp con sẽ cài ñặt cách thức làm việc cụ thể cho thao tác ñó (abstract methods). Cash Payment Credit Payment Check Payment Payment superclass - more general concept subclass - more specialized concept these are conceptual classes, not software classes - Liên hệ “toàn thể - bộ phận” (whole - part): + Aggregation: cho biết thể hiện của 1 lớp sẽ bao gồm hoặc chứa các thể hiện của lớp khác. + Composition: giống như aggregation, có thêm ý “cùng gắn kết” (coincident lifetime, khi whole ñược tạo thì part cũng ñược tạo, khi whole bị xoá thì part cũng bị xoá). + Xác ñịnh Composition hay Aggregation: trả lời câu hỏi “part có thể sống 1 mình mà ko cần có whole hay ko ?” Nếu có, là Aggregation; nếu ko, là Composition. - Lớp liên hệ (association class): một lớp có thể ñược ñính kèm theo một liên hệ, sử dụng khi có mối liên hệ “nhiều – nhiều” giữa 2 lớp. Created by Trang Hồng Sơn - 2 - - Thuộc tính: + Initial value: giá trị khởi tạo cho thuộc tính. + Derived attribute: giá trị thuộc tính ñược xác ñịnh từ các giá trị của các thuộc tính khác. dateTime /total Sale derived attribute 2. Case study “Hệ thống thư viện ñiện tử”: Created by Trang Hồng Sơn - 3 - Nguoi ten diaChi ngaySinh Sach maSach tenSach tacGia nhaXB namXB mota soluong = 1 Bandoc maBandoc lop khoa Thuthu maThuthu matkhau = 123456 Themuon maThemuon maBandoc maThuthu dsMasach ngaytraDukien ngaytraThucte tinhtrang = tot n1 n1 1 n 1 n 1 n 1 n . tính nhất quán về ñặc tả và cài ñặt thể hiện qua mối quan hệ kế thừa”. + Mở rộng các ñặc trưng của lớp: các lớp con sẽ kế thừa tất cả các thuộc tính và thao tác của lớp cha. + ðịnh nghĩa. các thao tác: các lớp con có thể ñịnh nghĩa lại cách thức làm việc của một thao tác ñược thừa kế (overriding methods). + Các thao tác “giữ chỗ”: các thao tác ñược ñịnh nghĩa trong lớp cha. hoặc chứa các thể hiện của lớp khác. + Composition: giống như aggregation, có thêm ý “cùng gắn kết” (coincident lifetime, khi whole ñược tạo thì part cũng ñược tạo, khi whole bị xoá thì part