Hiệp hội UML Vs. Tổng hợp Vs. Thành phần [VÍ DỤ]
Các mối quan hệ trong sơ đồ UML được sử dụng để thể hiện mối liên hệ giữa nhiều thứ khác nhau. Mối quan hệ là sự kết nối giữa những thứ như cấu trúc, hành vi hoặc nhóm các thứ trong ngôn ngữ mô hình hóa thống nhất.
Sau đây là các loại quan hệ chuẩn khác nhau trong UML,
- Hiệp hội
- Phụ thuộc
- Khái quát
- Hiện thực hóa
Ngoài những điều này, UML còn cho phép sử dụng mối quan hệ tổng hợp và thành phần.
Hiệp hội UML
Đây là mối quan hệ cấu trúc biểu diễn các đối tượng có thể được kết nối hoặc liên kết với một đối tượng khác bên trong hệ thống. Các ràng buộc sau có thể được áp dụng cho mối quan hệ Hiệp hội UML.
- {ẩn ý} – Ràng buộc ngầm xác định rằng mối quan hệ không được biểu hiện rõ ràng; nó dựa trên một khái niệm.
- {đã ra lệnh} – Ràng buộc có thứ tự xác định rằng tập hợp các đối tượng ở một đầu của một liên kết theo một cách cụ thể.
- {có thể thay đổi} – Ràng buộc có thể thay đổi chỉ định rằng kết nối giữa các đối tượng khác nhau trong hệ thống có thể được thêm, xóa và sửa đổi theo yêu cầu.
- {addOnly} – Nó chỉ định rằng các kết nối mới có thể được thêm vào từ một đối tượng nằm ở đầu kia của một liên kết.
- {Đông cứng} – Nó chỉ định rằng khi một liên kết được chèn giữa hai đối tượng thì nó không thể được sửa đổi trong khi ràng buộc cố định đang hoạt động trên liên kết hoặc kết nối đã cho.
Chúng ta cũng có thể tạo một lớp có các thuộc tính của Hiệp hội UML; nó được gọi là một lớp kết hợp.
Hiệp hội phản xạ
Liên kết phản thân là một kiểu con của mối quan hệ liên kết trong UML. Trong một liên kết phản thân, các thể hiện của cùng một lớp có thể liên quan với nhau. Một thể hiện của một lớp cũng được gọi là một đối tượng.
Liên kết phản thân phát biểu rằng một liên kết hoặc một kết nối có thể hiện diện bên trong các đối tượng của cùng một lớp.
Ví dụ:
Chúng ta hãy xem xét một ví dụ về một loại trái cây.
Lớp trái cây có hai trường hợp, chẳng hạn như xoài và táo. Liên tưởng phản thân cho biết rằng mối liên hệ giữa xoài và táo có thể tồn tại vì chúng là những thực thể của cùng một lớp, chẳng hạn như trái cây.
Hiệp hội chỉ đạo
Như tên cho thấy, liên kết có hướng có liên quan đến hướng của luồng trong các lớp liên kết.
Trong một liên kết có hướng, luồng được định hướng. Sự liên kết từ lớp này sang lớp khác chỉ diễn ra theo một hướng duy nhất.
Nó được biểu thị bằng một đường liền nét có đầu mũi tên.
Ví dụ về Hiệp hội UML:
Bạn có thể nói rằng có một mối quan hệ liên kết có định hướng giữa máy chủ và máy khách.
Một máy chủ có thể xử lý các yêu cầu của khách hàng. Luồng này là một chiều, chỉ chảy từ máy chủ đến máy khách. Do đó, mối quan hệ liên kết có hướng có thể tồn tại trong các máy chủ và máy khách của hệ thống.
Thành phần UML
Nó không phải là một tiêu chuẩn Mối quan hệ UML, nhưng nó vẫn được sử dụng trong nhiều ứng dụng khác nhau.
Tập hợp hỗn hợp là một kiểu con của quan hệ tập hợp với các đặc điểm như:
- Đó là sự liên kết hai chiều giữa các đối tượng.
- Đó là mối quan hệ toàn bộ/một phần.
- Nếu một tổ hợp bị xóa, tất cả các phần khác liên quan đến nó sẽ bị xóa.
Tập hợp tổng hợp được mô tả như một liên kết nhị phân được trang trí bằng một viên kim cương đen lấp đầy ở đầu tổng hợp (toàn bộ).
Thư mục có thể chứa nhiều tệp, trong khi mỗi Tệp có chính xác một Thư mục mẹ. Nếu một thư mục bị xóa, tất cả các tập tin chứa trong đó cũng bị xóa.
Trong một tập hợp tổng hợp, một đối tượng có thể là một phần của chỉ một tập hợp tại một thời điểm.
Ví dụ về thành phần UML:
Ví dụ, trong một hệ thống cửa sổ, một Khung thuộc về chính xác một Cửa sổ. Trong một tổng hợp hợp thành, toàn bộ hệ thống chịu trách nhiệm về việc sắp xếp các bộ phận của nó, điều này có nghĩa là tổng hợp phải quản lý việc tạo và hủy các bộ phận của nó.
Tổng hợp UML
Tập hợp là một kiểu con của mối quan hệ liên kết trong UML. Tổng hợp và thành phần đều là các loại mối quan hệ liên kết trong UML. Một mối quan hệ tổng hợp có thể được mô tả bằng những từ đơn giản là “một đối tượng của một lớp có thể sở hữu hoặc truy cập các đối tượng của một lớp khác”.
Trong mối quan hệ tổng hợp, đối tượng phụ thuộc vẫn nằm trong phạm vi của mối quan hệ ngay cả khi đối tượng nguồn bị hủy.
Ví dụ về tổng hợp UML:
Chúng ta hãy xem xét một ví dụ về một chiếc ô tô và một bánh xe.
Ô tô cần có bánh xe để hoạt động chính xác, nhưng không phải lúc nào bánh xe cũng cần ô tô. Nó cũng có thể được sử dụng với xe đạp, xe đạp hoặc bất kỳ phương tiện nào khác ngoại trừ một chiếc ô tô cụ thể. Ở đây, đối tượng bánh xe vẫn có ý nghĩa ngay cả khi không có đối tượng xe hơi. Kiểu quan hệ như vậy được gọi là quan hệ Tập hợp UML.
Hiệp hội Vs. Tổng hợp Vs. Thành phần
Hiệp hội | aggregation | Sáng tác |
---|---|---|
Mối quan hệ liên kết được biểu thị bằng một mũi tên. | Mối quan hệ tập hợp được biểu thị bằng một đường thẳng có đầu mũi tên trống ở một đầu. | Mối quan hệ thành phần được biểu thị bằng một đường thẳng có đầu mũi tên đầy ở một đầu bất kỳ. |
Sự liên kết có thể tồn tại giữa hai hoặc nhiều lớp trong UML. | Tập hợp là một phần của mối quan hệ liên kết. | Thành phần là một phần của mối quan hệ liên kết. |
Có thể có sự liên kết một-một, một-nhiều, nhiều-một và nhiều-nhiều giữa các lớp liên kết. | Tập hợp được coi là một loại liên kết yếu. | Thành phần được coi là một loại liên kết mạnh mẽ. |
Trong mối quan hệ liên kết, một hoặc nhiều đối tượng có thể được liên kết với nhau. | Trong mối quan hệ tổng hợp, các đối tượng được liên kết với nhau có thể vẫn nằm trong phạm vi của hệ thống mà không có nhau. | Trong mối quan hệ thành phần, các đối tượng được liên kết với nhau không thể duy trì trong phạm vi mà không có nhau. |
Các đối tượng được liên kết với nhau. | Các đối tượng được liên kết không phụ thuộc vào đối tượng khác. | Các đối tượng phụ thuộc rất nhiều vào nhau. |
Trong Hiệp hội UML, việc xóa một phần tử có thể ảnh hưởng hoặc không ảnh hưởng đến phần tử liên quan khác. | Trong Tập hợp UML, việc xóa một phần tử không ảnh hưởng đến phần tử liên quan khác. | Trong Thành phần UML, việc xóa một phần tử sẽ ảnh hưởng đến phần tử liên quan khác. |
Ví dụ: Một giáo viên được liên kết với nhiều học sinh. Or giáo viên hướng dẫn học sinh. |
Ví dụ: Một chiếc ô tô cần có một bánh xe, nhưng không phải lúc nào cũng cần có một bánh xe giống nhau. Một chiếc ô tô cũng có thể hoạt động bình thường với một bánh xe khác. |
Ví dụ: Một tập tin được đặt bên trong thư mục. Nếu một người xóa thư mục thì tệp được liên kết với thư mục đó cũng sẽ bị xóa. |
Tổng kết
- Mối quan hệ là sự kết nối giữa các sự vật.
- Sự liên kết, sự phụ thuộc, sự khái quát hóa và sự hiện thực hóa là khác nhau các mối quan hệ được cung cấp bởi UML.
- Ngoài các mối quan hệ tiêu chuẩn, thành phần và tập hợp được sử dụng bên trong UML.
- Tập hợp và thành phần đều là các loại mối quan hệ liên kết trong UML.
- Thành phần UML là mối quan hệ hai chiều còn được gọi là mối quan hệ nhị phân.
Hãy xem bài viết của chúng tôi về Công cụ UML tốt nhất: - Bấm vào đây