Mô hình đối tượng (2)
Mô hình đối tượng (2)
07/12/14
Mô hình đối tượng
2 / 16
Nội dung
Nội dung
•
Mô tả sự kết hợp
•
Xem xét sự khái quát hoá và chi tiết hoá
•
Xem xét về lớp trừu tượng và lớp cụ thể
•
Xem xét việc sử dụng sự kế thừa
•
Quá trình phân lớp
•
Tinh chỉnh mô hình đối tượng.
07/12/14
Mô hình đối tượng
3 / 16
Sự kết hợp (Aggregation)
Sự kết hợp (Aggregation)
•
Là quan hệ “là bộ phận của”, chỉ ra một đối tượng là một
thành phần của một đối tượng khác
•
Quá trình tạo đối tượng tổng thể từ các đối tượng thành
phần được gọi là sự kết hợp (cấu thành)
•
Đối tượng tổng thể được cấu tạo thành từ những thành
phần
•
Ví dụ:
Văn bản Đoạn văn bản Câu
Quyển sách Trang sách
Ôtô Sườn, Vỏ, Bánh, Động cơ.
Người Đầu, Cổ, Mình, Tứ chi.
07/12/14
Mô hình đối tượng
4 / 16
Ký pháp của sự kết hợp
Ký pháp của sự kết hợp
Ký pháp
07/12/14
Mô hình đối tượng
5 / 16
Sự kết hợp đa cấp
Sự kết hợp đa cấp
Man hinh Ban phim Con chuot
PC
MainBoard CPU RAM O memO cung
Khoi TT
07/12/14
Mô hình đối tượng
6 / 16
Một số đặc điểm của sự kết hợp
Một số đặc điểm của sự kết hợp
•
“Quan hệ” kết hợp không cần đặt tên (ngầm định hiểu là
“Tạo thành từ”)
•
Sự khác biệt giữa kết hợp và quan hệ bình thường:
–
Kết hợp: quan hệ giữa các thành phần với cái tổng thể
(trong cùng một đối tượng)
–
Quan hệ bình thường: quan hệ giữa các đối tượng khác
nhau.
07/12/14
Mô hình đối tượng
7 / 16
Sự tổng quát hoá và sự chuyên biệt hoá
Sự tổng quát hoá và sự chuyên biệt hoá
•
Sự chuyên biệt hoá (specialisation):
–
Quá trình đi từ một lớp khái quát, chi tiết thành nhiều
lớp khác biệt nhau.
07/12/14
Mô hình đối tượng
8 / 16
Ví dụ về sự chuyên biệt hoá
Ví dụ về sự chuyên biệt hoá
•
Discriminator
–
Là cái cho phép quyết định một đối tượng thuộc lớp nào
trong số các lớp chuyên biệt
–
Phải là một tính chất của lớp trên.
07/12/14
Mô hình đối tượng
9 / 16
Sự chuyên biệt hoá
Sự chuyên biệt hoá
•
Sự chuyên biệt hoá chuyên biệt một lớp thành nhiều lớp cụ
thể hơn
•
Các lớp chuyên biệt thường được thêm các chi tiết và/hoặc
các điểm cụ thể
•
Lớp ban đầu được gọi là lớp trên (superclass)
•
Các lớp chuyên biệt được gọi là các lớp dưới (subclass).
07/12/14
Mô hình đối tượng
10 / 16
Sự khái quát hoá
Sự khái quát hoá
•
Quá trình ngược với sự chuyên biệt hoá
•
Đi từ các lớp dưới cụ thể (chuyên biệt), tổng quát lên
thành lớp trên mang các đặc tính chung.
07/12/14
Mô hình đối tượng
11 / 16
Lớp trừu tượng và lớp cụ thể
Lớp trừu tượng và lớp cụ thể
•
Lớp trừu tượng (Abstract Class)
–
Là lớp tồn tại để cung cấp cái tổng quát trong một cây
kế thừa
–
Trong thế giới thực, lớp này không có đối tượng trực
thuộc trực tiếp với đầy đủ ý nghĩa
–
Thường là kết quả của sự khái quát hoá
•
Lớp cụ thể (Concret Class)
–
Là lớp có thể được tạo thể hiện
–
Các thể hiện của lớp cụ thể là các đối tượng
–
Sự tạo đối tượng được gọi là sự tạo thể hiện.
07/12/14
Mô hình đối tượng
12 / 16
Sự kế thừa (Inheritance)
Sự kế thừa (Inheritance)
•
Là cơ chế để chia sẻ các thuộc tính và phương thức thông
qua sự khái quát hoá (chuyên biệt hoá)
•
Nói chung, một lớp dưới kế thừa tất cả các thuộc tính và
phương thức của lớp trên (trừ các thuộc tính và phương
thức riêng (private))
•
Cho phép đơn giản hoá việc thiết kế các lớp.
07/12/14
Mô hình đối tượng
13 / 16
Sự phân lớp (Classification)
Sự phân lớp (Classification)
•
Khi quan sát vào một hệ thống các đối tượng cụ thể
•
Để mô hình hoá hệ thống cần phải phân lớp cho các đối
tượng
•
Có hai cách thức để tiến hành phân lớp
–
Khám phá (Discovery)
•
Xác định các lớp theo ngôn ngữ của NSD (NSD đã sử dụng các
khái niệm này)
•
Dựa vào, trao đổi với NSD
–
Sáng tạo (Invention)
•
Đưa ra khái niệm “mới”, NSD chưa (không) dùng khái niệm này
•
Thường được tạo ra trong quá trình khái quát hoá/chi tiết hoá.
07/12/14
Mô hình đối tượng
14 / 16
Khó khăn của sự phân lớp
Khó khăn của sự phân lớp
•
Sự trừu tượng hoá đóng vai trò quan trọng
•
Phụ thuộc vào kinh nghiệm, kiến thức,… của người thực
hiện
•
Cùng một bài toán có thể có nhiều cách nhìn nhận kết
quả là khác nhau.
07/12/14
Mô hình đối tượng
15 / 16
Tinh chỉnh mô hình
Tinh chỉnh mô hình
•
Nếu có lớp nào đó không có thuộc tính, phương thức có ý
nghĩa lớp đó là thừa
•
Nếu có phương thức nào đó cần được thực hiện nhưng
chưa có lớp đảm nhiệm thiếu lớp
•
Nếu trong số các đối tượng của một lớp có đối tượng nào
đó có vai trò đặc biệt cần chuyên biệt hoá lớp
•
Nếu có một số lớp có nhiều thuộc tính và/hoặc phương
thức giống nhau cần trừu tượng hoá
•
Nếu có liên hệ giữa các đối tượng mà chưa có quan hệ
được thiết lập giữa các lớp liên quan thiếu quan hệ
•
Nếu tồn tại quan hệ nhưng chưa có tác nhân nào sử dụng
quan hệ đó là thừa.
07/12/14
Mô hình đối tượng
16 / 16
Tóm tắt các bước lập mô hình đối tượng
Tóm tắt các bước lập mô hình đối tượng
•
Xác định trừu tượng khoá
•
Xác định các lớp ứng cử viên
•
Thanh lọc các lớp ứng cử viên
•
Xác định quan hệ giữa các lớp tích hợp dần vào mô hình
•
Tinh chỉnh mô hình
•
Phát triển mô hình đầy đủ
–
Bổ sung các thuộc tính và phương thức cho các lớp
–
Lập bản đặc tả cho từng lớp.