Mối quan hệ của UML với VÍ DỤ: Sự phụ thuộc, Tổng quát hóa, Hiện thực hóa

Mục lục:

Anonim

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

Các mối quan hệ trong UML được sử dụng để thể hiện sự kết nối giữa những thứ có 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 một hệ thống. Loại Mối quan hệ UML là Liên kết, Phụ thuộc, Tổng quát hóa và Hiện thực hóa.

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

  • 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 đang tham gia vào mối quan hệ đó.

  • Sự phụ thuộc

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

  • Sự khái quát

Nó còn được gọi là mối quan hệ cha mẹ - con cái. Trong khái quát hóa, một yếu tố là sự chuyên biệt hóa của một thành phần chung 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 củ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ủa các giao diện.

Trong hướng dẫn UML này, bạn sẽ học:

  • Hiệp hội
  • Sự phụ thuộc
  • Sự khái quát
  • Hiện thực hóa
  • Thành phần
  • Tổng hợp

Hiệp hội

Nó là một mối quan hệ cấu trúc đại diện cho 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ệ kết hợp.

  • {implicit} - Các ràng buộc ngầm xác định rằng mối quan hệ không được hiển thị; nó dựa trên một khái niệm.
  • { Order } - Các 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 kết hợp là theo một cách cụ thể.
  • {changable} - 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, bớt 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.
  • {freeze} - 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 đã cho hoặc một kết nối.

Chúng ta cũng có thể tạo một lớp có các thuộc tính kết hợp; nó được gọi là một lớp kết hợp.

Liên kết phản xạ

Mối liên kết phản xạ là một kiểu con của mối quan hệ kết hợp trong UML. Trong một liên kết phản xạ, các cá thể 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 cho là một đối tượng.

Liên kết phản xạ nói rằng một liên kết hoặc một kết nối có thể hiện diệ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 học. Lớp trái cây có hai trường hợp, chẳng hạn như xoài và táo. Sự liên kết phản xạ nói rằng mối liên hệ giữa xoài và táo có thể hiện diện vì chúng là những vật thể của cùng một lớp, chẳng hạn như trái cây.

Liên kết được chỉ đạo

Như tên cho thấy, kết hợp có hướng có liên quan đến hướng của luồng bên trong các lớp kết hợp.

Trong một liên kết có định hướng, luồng được định hướng. Sự liên kết từ lớp này sang lớp khác chỉ chảy theo một hướng duy nhất.

Nó được biểu thị bằng cách sử dụng một đường liền nét với một đầu mũi tên.

Thí 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áy chủ có thể xử lý các yêu cầu của máy khách. Luồng này là một chiều, chỉ truyền từ máy chủ đến máy khách. Do đó, một mối quan hệ kết hợp có hướng có thể hiện diện trong các máy chủ và máy khách của một hệ thống.

Sự phụ thuộc

Sử dụng mối quan hệ phụ thuộc trong UML, người ta có thể liên hệ những thứ khác nhau bên trong một hệ thống cụ thể phụ thuộc vào 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 vào nhau.

Khuôn mẫu

  • «Bind» - 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 một vị trí đích, sử dụng các tham số hoặc giá trị được cung cấp.
  • «Dẫn xuất» - Nó biểu thị rằng vị trí của một đối tượng nguồn có thể được tính toán từ đối tượng đích.
  • «Bạn» - Nó chỉ định rằng nguồn có khả năng hiển thị duy nhất trong đối tượng đích.
  • «InstanceOf» - Nó chỉ định rằng thể hiện của bộ phân loại đích là đối tượng nguồn.
  • «Instantiate» - Nó chỉ định rằng đối tượng nguồn có khả năng tạo các thể hiện của một đối tượng đích.
  • «Tinh chỉnh» - Nó chỉ định 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 phần tử của gói nguồn cũng có thể hiện diện bên trong gói đích. Nó mô tả rằng gói nguồn sử dụng một số phần tử 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.
  • «Quyền truy cập» - Nó chỉ định rằng gói nguồn truy cập các phần tử của gói đích mà nó còn được gọi là hợp nhất riêng.
  • «Import» - Nó chỉ định rằng mục tiêu có thể nhập phần tử của một gói nguồn giống như chúng được xác định bên trong mục tiêu mà còn được gọi là hợp nhất công khai.
  • «Giấy phép» - 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 xác định rằng đích 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ể được đưa vào hoạt động của phần tử khác tại một vị trí được chỉ định. (giống như một lệnh gọi hàm trong c / c ++)
  • «Trở thành» - Nó chỉ định rằng đích tương tự như nguồn với các giá trị và vai trò khác nhau.
  • «Call» - Nó chỉ định rằng nguồn có thể gọi một phương thức đối tượng đích.
  • «Copy» - Nó chỉ định rằng đối tượng đích là độc lập, bản sao của một đố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.

Khuôn mẫu giữa bộ máy nhà nước

  • «Send» - Chỉ định rằng hoạt động nguồn sẽ gửi sự kiện đích.

Sự khái quát

Nó 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ệ tổng quát hóa, khái niệm hướng đối tượng được gọi là kế thừa 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ệ tổng quát hóa, một thực thể là cha mẹ và một thực thể khác được cho là con. Các thực thể này có thể được biểu diễn bằng cách sử dụng kế thừa.

Trong thừa kế, một phần tử 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 một đối tượng mẹ.

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

Định kiến ​​và những hạn chế của chúng

  • «Thực hiện» - Khuôn mẫu này được sử dụng để biểu thị rằng thực thể con đang được thực thể mẹ thực hiện bằng cách kế thừa cấu trúc và hành vi của đối tượng mẹ mà không vi phạm các quy tắc. Lưu ý Khuôn mẫu này nếu được sử dụng rộng rãi trong kế thừa singl e .

Mối quan hệ tổng quát có 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ó đang đượ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 củ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ủa các giao diện.

Hiện thực có thể được biểu diễn theo hai cách:

  • Sử dụng biểu mẫu chuẩn
  • Sử dụng biểu mẫu đã giải thích

Trong sơ đồ trên, các quy tắc nghiệp vụ tài khoản nhận ra giao diện IRuleAgent.

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

  1. Hình thức kinh điển

    Trong mối quan hệ hiện thực hóa của UML, biểu mẫu 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 chuẩn, mối quan hệ hiện thực được biểu thị bằng cách sử dụng đường đứt nét có đầu mũi tên mở khá lớn.

    Trong sơ đồ trên, giao diện Iruleagent được thực hiện bằng cách sử dụng một đối tượng có tên là Account Business Rules.

  2. Hình thức Elided

    Hiện thực hóa trong biểu đồ lớp UML cũng có thể được hiển thị bằng cách sử dụng một biểu mẫu được giải thích. Ở dạng được giải thích, giao diện được biểu thị bằng cách sử dụ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 thực hiện bằng cách sử dụng bất kỳ thứ gì có bên trong hệ thống, sẽ tạo ra một cấu trúc rõ ràng.

    Trong sơ đồ trên, giao diện Iruleagent được biểu thị bằng cách sử dụng một biểu mẫu được giải thích bằng acctrule.dll.

Thành phần

Nó không phải là một mối quan hệ UML tiêu chuẩn, nhưng nó vẫn được sử dụng trong các ứng dụng khác nhau.

Tập hợp tổng 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ự kết hợp hai chiều giữa các đối tượng.
  • Nó là một mối quan hệ toàn bộ / một phần.
  • Nếu một tổng hợp bị xóa, tất cả các phần khác được liên kết với 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 là một cấu trúc chứa n số tệp trong đó. Một thư mục được sử dụng để lưu trữ các tệp 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 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. Cùng một tệp cũng có thể là một phần của một thư mục khác, nhưng nó không phải là bắt buộc. Bất cứ khi nào tệp bị xóa khỏi thư mục, thư mục vẫn không bị ảnh hưởng trong khi dữ liệu liên quan đến tệp cụ thể đó sẽ bị phá 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ó bên 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ởi mối quan hệ tổng hợp tổng hợp.

Tổng hợp

Tập hợp là một kiểu con của mối quan hệ kết hợp trong UML. Tổng hợp và thành phần đều là kiểu quan hệ kết hợp trong UML. 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 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 xe hơi và một bánh xe. Một chiếc ô tô cần một bánh xe để hoạt động chính xác, nhưng một chiếc bánh xe không phải lúc nào cũng cần một chiếc ô 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 nhưng không phải là một chiếc ô tô cụ thể. Ở đây, đối tượng bánh xe có nghĩa ngay cả khi không có đối tượng xe hơi. Loại quan hệ như vậy được gọi là quan hệ tập hợp.

Tóm lược

  • Mối quan hệ trong UML cho phép một thứ liên quan với những thứ khác bên trong hệ thống.
  • Các mối quan hệ kết hợp, phụ thuộc, tổng 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 để đại diện rằng đối tượng có thể là một phần của một tổng hợp tại một thời điểm.
  • 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.
  • Phụ thuộc biểu thị rằng các đối tượng có thể phụ thuộc vào nhau.
  • Thực hiện 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à quan hệ cha mẹ - con cái.