Chương 3 Ngôn ngữ mô hình hóa
3.3 Mô hình khái niệm của UML
3.3.2 Các quan hệ trong UML
Có bốn loại quan hệ trong UML, bao gồm
Quan hệ phụ thuộc,
Quan hệ kết hợp,
Quan hệ khái quát hóa, và
Quan hệ hiện thực hóa.
Chúng là các khối cơ sở để xây dựng mọi quan hệ trong UML.
Quan hệ phụ thuộc (dependency). Phụ thuộc là quan hệ ngữ nghĩa giữa hai phần tử: phần tử độc lập và phần tử phụ thuộc (vào phần tử độc lập). Mỗi thay đổi của phần tử độc lập sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc.
Ký pháp đồ họa của quan hệ phụ thuộc được thể hiện trên hình 3.10.
Quan hệ kết hợp (association). Kết hợp là quan hệ cấu trúc để mô tả một nhóm liên kết (một liên kết là kết nối giữa các đối tượng). Khi đối tượng của lớp này gửi/nhận thông điệp đến/từ đối tượng của lớp kia thì ta gọi chúng là có quan hệ kết hợp. Ký pháp đồ họa của kết hợp được mô tả trên hình 3.11, chúng có thể chứa tên nhiệm vụ và tính đa xạ (multiplicity). Tụ hợp (aggregation) là dạng đặc biệt của kết hợp, nó biểu diễn quan hệ cấu trúc giữa toàn thể và bộ phận. Ký pháp đồ họa của tụ hợp trên hình 3.12. Một dạng đặc biệt của tập hợp là quan hệ hợp thành (composition), trong đó, nếu như đối tượng toàn thể bị huỷ bỏ thì các đối tượng bộ phận của nó cũng bị huỷ bỏ theo. Biểu diễn đồ họa của tập hợp như trên hình 3.13.
Hình 3.12 Tụ hợp Hình 3.13 Hợp thành Hình 3.10 Quan hệ phụ thuộc
Bạn đọc
Hình 3.11 Quan hệ kết hợp
Sách
0..1 *
Ấn phẩm Tạp chí
Đ A X Ạ
Một đối tượng này có thể tương ứng với không hoặc nhiều đối tượng khác.
Thí dụ, một người có thể không có hoặc có thể làm chủ nhiều phương tiện giao thông.
Quan hệ khái quát hóa (generalization). Khái quát hóa là quan hệ đặc biệt hóa / khái quát hóa mà trong đó đối tượng cụ thể sẽ kế thừa các thuộc tính và phương pháp của đối tượng tổng quát. Ký pháp đồ họa của khái quát hóa được mô tả trên hình 3.14.
Quan hệ hiện thực hóa (realization). Hiện thực hóa là quan hệ ngữ nghĩa giữa lớp thể hiện của lớp; giữa UC và hợp tác thể hiện UC. Biểu diễn đồ họa của quan hệ hiện thực hóa được mô tả trên hình 3.15.
H I Ệ N T H Ự C H Ó A
Một thể hiện cụ thể của một mẫu, một kiểu hoặc một loại hình nào đó. Một phép gán trị cụ thể cho một bản thể nào đó.
Thí dụ
Một mẫu hóa đơn bán hàng được xem là kiểu hóa đơn bán hàng. Sau khi điền giá trị cụ thể để xuất một tờ hóa đơn cho khách hàng ta thu được một thể hiện của đối tượng trong lớp đó.
Kiểu dữ liệu
Kiểu dữ liệu không phải là phần tử mô hình trong UML. Kiểu dữ liệu cơ sở là kiểu dữ liệu không có cấu trúc. UML có các kiểu dữ liệu như sau:
Hình 3.15 Hiện thực hóa Hình 3.14 Khái quát hóa
Thí dụ, một công tắc có thể ở một trong hai trạng thái đóng (True) hoặc mở (False).
Biểu thức (Expression): là xâu ký tự tuân thủ cú pháp.
Thí dụ, Thành_tiền = Số_lượng Đơn_giá.
Đa xạ (Multiplicity): là tập không rỗng của các số nguyên dương và ký tự * (để biểu thị đa xạ vô hạn).
Thí dụ,
1. Mỗi bạn đọc được mượn không quá 3 cuốn sách.
2. Qua một điểm có thể kẻ vô số đường thẳng (*).
Tên (Name): là xâu ký tự định danh cho phần tử.
Thí dụ, Ấn_phẩm; Phương_tiện;…
Số nguyên (Integer): là kiểu cơ bản và là phần tử của tập vô hạn các số 0, 1, 2, …
Thí dụ,
Độ sâu 327 mét dưới mực nước biển: -327 mét;
Cao độ: 3297 mét.
Số thực (Real).
Thí dụ,
Chiều dài: 128.35 mm.
Xâu (String): là dãy ký tự, được sử dụng làm định danh.
Thí dụ, Độc giả: Trần Thiên Thành.
Thời gian (Time): xâu ký tự biểu diễn giá trị tuyệt đối hay khoảng tương đối.
Thí dụ,
1. Tạm ngắt: 3 giây.
2. Mỗi thao tác cách nhau [3; 9] giây.
Không thể hiện (Uninterpreted): là "cái gì đó" mà ý nghĩa của nó phụ thuộc vào lĩnh vực.
Thí dụ, Mức lương: chưa xác định.