Các loại mối quan hệ UML: Hiệp hội, Phụ thuộc, Tổng quát hóa

Mối quan hệ UML là gì?

Các mối quan hệ trong UML được sử dụng để thể hiện mối liên hệ giữa các sự vật về cấu trúc, hành vi hoặc nhóm. Nó còn được gọi là liên kết mô tả cách hai hoặc nhiều thứ có thể liên quan với nhau trong quá trình thực thi hệ thống. Loại mối quan hệ UML là Hiệp hội, Phụ thuộc, Khái quát hóa và Thực hiện.

Hãy nghiên cứu chúng một cách chi tiết

Các loại mối quan hệ sơ đồ lớp UML

Mối quan hệ sơ đồ lớp UML

Hiệp hội

Nó là một tập hợp các liên kết kết nối các phần tử của mô hình UML. Nó cũng xác định có bao nhiêu đối tượng tham gia vào mối quan hệ đó.

Phụ thuộc

Trong mối quan hệ phụ thuộc, như tên cho thấy, hai hoặc nhiều phần tử phụ thuộc lẫn nhau. Trong loại mối quan hệ này, nếu chúng ta thực hiện thay đổi đối với một yếu tố cụ thể thì có khả năng tất cả các yếu tố khác cũng sẽ bị ảnh hưởng bởi sự thay đổi đó.

Khái quát

Nó còn được gọi là mối quan hệ cha-con. Trong khái quát hóa, một phần tử là sự chuyên biệt hóa của một thành phần tổng quát khác. Nó có thể được thay thế cho nó. Nó chủ yếu được sử dụng để đại diện cho sự kế thừa.

Hiện thực hóa

Trong mối quan hệ hiện thực hóa UML, một thực thể biểu thị một số trách nhiệm không được thực hiện bởi chính nó và thực thể khác thực hiện chúng. Mối quan hệ này chủ yếu được tìm thấy trong trường hợp các giao diện.

Hiệp hội

Đâ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ệ liên kết.

  • {ẩ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 thêm vào 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 liên kết; 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.

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ụ:

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.

Phụ thuộc

Bằng cách sử dụng mối quan hệ phụ thuộc trong UML, người ta có thể liên hệ xem nhiều thứ bên trong một hệ thống cụ thể phụ thuộc lẫn nhau như thế nào. Sự phụ thuộc được sử dụng để mô tả mối quan hệ giữa các phần tử khác nhau trong UML phụ thuộc lẫn nhau.

Khuôn mẫu

  • "trói buộc" – Ràng buộc là một ràng buộc chỉ định rằng nguồn có thể khởi tạo mẫu tại vị trí đích bằng cách sử dụng các tham số hoặc giá trị được cung cấp.
  • "lấy được" – Nó thể hiện rằng vị trí của đối tượng nguồn có thể được tính toán từ đối tượng đích.
  • «bạn bè» – Nó chỉ định rằng nguồn có khả năng hiển thị duy nhất trong đối tượng đích.
  • «ví dụOf» – Nó chỉ định rằng phiên bản của trình phân loại đích là đối tượng nguồn.
  • «tức thì» – Nó chỉ định rằng đối tượng nguồn có khả năng tạo các thể hiện của đối tượng đích.
  • "lọc" – Nó chỉ rõ rằng đối tượng nguồn có tính trừu tượng đặc biệt hơn đối tượng đích.
  • "sử dụng" – Nó được sử dụng khi các gói được tạo trong UML. Khuôn mẫu sử dụng mô tả rằng các thành phần của gói nguồn cũng có thể có mặt bên trong gói đích. Nó mô tả rằng gói nguồn sử dụng một số thành phần của gói đích.
  • "thay thế" – chỉ định rằng khách hàng có thể được thay thế cho nhà cung cấp trong thời gian chạy.
  • "truy cập" – Nó chỉ định rằng gói nguồn truy cập vào các phần tử của gói đích mà còn được gọi là sự hợp nhất riêng tư.
  • "Nhập khẩu" – Nó chỉ định rằng mục tiêu có thể nhập phần tử của gói nguồn giống như chúng được xác định bên trong target còn được gọi là sáp nhập công khai.
  • "cho phép làm gì" – chỉ định rằng phần tử nguồn có quyền truy cập vào phần tử nhà cung cấp bất kể khả năng hiển thị được khai báo của nhà cung cấp.
  • "mở rộng" – Giúp bạn chỉ định rằng mục tiêu có thể mở rộng hành vi của phần tử nguồn.
  • "bao gồm" – Cho phép bạn chỉ định phần tử nguồn có thể bao gồm hành vi của phần tử khác tại một vị trí được chỉ định. (giống như lệnh gọi hàm trong c/c++)
  • "trở nên" – Nó chỉ định rằng mục tiêu giống với nguồn với các giá trị và vai trò khác nhau.
  • "gọi" – Nó chỉ định rằng nguồn có thể gọi một phương thức đối tượng đích.
  • "bản sao" – Nó chỉ rõ đối tượng đích là độc lập, là bản sao của đối tượng nguồn.
  • «tham số» – nhà cung cấp là một tham số của hoạt động của khách hàng.
  • "gửi" - khách hàng là một hoạt động gửi cho nhà cung cấp một số mục tiêu không xác định.

Những khuôn mẫu trong bộ máy nhà nước

  • "gửi" – Chỉ định rằng thao tác nguồn sẽ gửi sự kiện đích.

Khái quát

Đó là mối quan hệ giữa một thực thể chung và một thực thể duy nhất hiện diện bên trong hệ thống.

Trong mối quan hệ khái quát hóa, khái niệm hướng đối tượng được gọi là thừa kế có thể được thực hiện. Một mối quan hệ tổng quát tồn tại giữa hai đối tượng, còn được gọi là thực thể hoặc sự vật. Trong mối quan hệ khái quát hóa, một thực thể là cha mẹ và một thực thể khác được gọi là con. Những thực thể này có thể được biểu diễn bằng cách sử dụng tính kế thừa.

Trong tính kế thừa, con của bất kỳ cha mẹ nào cũng có thể truy cập, cập nhật hoặc kế thừa chức năng như được chỉ định bên trong đối tượng cha. Một đối tượng con có thể thêm chức năng của nó vào chính nó cũng như kế thừa cấu trúc và hành vi của đối tượng cha.

Loại mối quan hệ này được gọi chung là mối quan hệ khái quát hóa.

Các khuôn mẫu và những hạn chế của chúng

  • "thực hiện" – Bản mẫu này dùng để thể hiện thực thể con đang được thực thể cha thực hiện bằng cách kế thừa cấu trúc và hành vi của đối tượng cha mà không vi phạm các quy tắc.Chú thích Khuôn mẫu này nếu được sử dụng rộng rãi trong một thừa kế.

Mối quan hệ tổng quát hóa chứa các ràng buộc như đầy đủ, không đầy đủ để kiểm tra xem tất cả các thực thể con có được đưa vào mối quan hệ hay không.

Hiện thực hóa

Trong mối quan hệ hiện thực hóa UML, một thực thể biểu thị một số trách nhiệm không được thực hiện bởi chính nó và thực thể khác thực hiện chúng. Mối quan hệ này chủ yếu được tìm thấy trong trường hợp các giao diện.

Việc thực hiện có thể được thể hiện theo hai cách:

  • Sử dụng một hình thức kinh điển
  • Sử dụng một dạng rút gọn
Hiện thực hóa trong UML
Hiện thực hóa trong UML

Trong sơ đồ trên, các quy tắc nghiệp vụ của tài khoản hiện thực hóa giao diện IRuleAgent.

Các loại thực hiện

  1. Dạng chuẩn Trong mối quan hệ hiện thực hóa UML, dạng chuẩn được sử dụng để hiện thực hóa các giao diện trên toàn hệ thống. Nó sử dụng một khuôn mẫu giao diện để tạo ra một giao diện và mối quan hệ hiện thực hóa được sử dụng để hiện thực hóa giao diện cụ thể. Ở dạng chính tắc, mối quan hệ hiện thực hóa được biểu thị bằng đường định hướng nét đứt với đầu mũi tên mở khá lớn. Trong sơ đồ trên, giao diện Iruleagent được hiện thực hóa bằng cách sử dụng một đối tượng được gọi là Quy tắc kinh doanh tài khoản.
  2. Hiện thực hóa hình thức bỏ qua trong Sơ đồ lớp UML cũng có thể được biểu diễn bằng cách sử dụng biểu mẫu rút gọn. Ở dạng elided, giao diện được biểu thị bằng một vòng tròn còn được gọi là ký hiệu kẹo mút. Giao diện này, khi được hiện thực hóa bằng cách sử dụng bất kỳ thứ gì có trong hệ thống, sẽ tạo ra một cấu trúc elided. Trong sơ đồ trên, giao diện Iruleagent được biểu thị bằng cách sử dụng một dạng elided đang được acctrule.dll hiện thực hóa.

Sáng tác

Nó không phải là mối quan hệ UML tiêu chuẩn 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ư:

  • nó 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ành phần trong UML

Thành phần trong UML

Một thư mục là một cấu trúc chứa n số tập tin trong đó. Một thư mục được sử dụng để lưu trữ các tập tin bên trong nó. Mỗi thư mục có thể được liên kết với bất kỳ số lượng tập tin nào. Trong hệ thống máy tính, mỗi tệp là một phần của ít nhất một thư mục bên trong hệ thống tổ chức tệp. Tệp tương tự cũng có thể là một phần của thư mục khác, nhưng điều này không bắt buộc. Bất cứ khi nào một tệp bị xóa khỏi thư mục, thư mục đó sẽ không bị ảnh hưởng trong khi dữ liệu liên quan đến tệp cụ thể đó sẽ bị hủy. Nếu thao tác xóa được thực hiện trên thư mục thì nó cũng ảnh hưởng đến tất cả các tệp có trong thư mục đó. Tất cả các tệp được liên kết với thư mục sẽ tự động bị hủy sau khi thư mục bị xóa khỏi hệ thống.

Loại mối quan hệ này trong UML được biết đến bằng mối quan hệ tổng hợp.

aggregation

An tập hợp là một kiểu con của mối quan hệ kết hợp 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. 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.

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.

Tổng kết

  • Mối quan hệ trong UML cho phép một thứ liên quan đến những thứ khác trong hệ thống.
  • Các mối quan hệ liên kết, phụ thuộc, khái quát hóa và hiện thực hóa được xác định bởi UML.
  • Mối quan hệ thành phần cũng có thể được sử dụng để thể hiện rằng đối tượng đó chỉ có thể là một phần của một hỗn hợp tại một thời điểm.
  • Sự liên kết được sử dụng để mô tả rằng một đối tượng có thể được liên kết với một đối tượng khác.
  • Sự phụ thuộc biểu thị rằng các đối tượng có thể phụ thuộc vào nhau.
  • Một nhận thức là một mối quan hệ có ý nghĩa giữa các bộ phân loại.
  • Khái quát hóa còn được gọi là mối quan hệ cha-con.