2009-12-09 98 views
160

Gần đây tôi đã nghiên cứu UML và vẽ sơ đồ đơn giản với các mũi tên đơn giản thông thường giữa các lớp, nhưng tôi biết là không đủ. Có rất nhiều mũi tên khác: khái quát hóa, thực hiện và vv có ý nghĩa đối với người đọc sơ đồ.Giải thích về các mũi tên UML

Có tài nguyên nào tốt đẹp có thể giải thích từng mũi tên (bình thường, đồng bằng, chấm chấm, hình thoi kim cương, kim cương) không?

Sẽ là tốt nhất nếu nó có một số ví dụ mã cho chúng.

+3

Tôi mạnh mẽ sẽ khuyên bạn nên xem xét điều này: https://dzone.com/refcardz/getting-started-uml – trinity

Trả lời

364

Dưới đây là một số giải thích từ Visual Studio 2015 tài liệu:

UML Class Diagrams: Reference: https://msdn.microsoft.com/library/dd409437%28VS.140%29.aspx

UML class diagram

: Hiệp hội: Một mối quan hệ giữa thành viên của hai phân loại.

5a: Tổng hợp: Liên kết thể hiện mối quan hệ sở hữu được chia sẻ. Các tài sản Aggregation của vai trò chủ sở hữu được đặt thành Được chia sẻ.

5b: Thành phần: Liên kết thể hiện mối quan hệ toàn bộ. Các tài sản Aggregation của vai trò chủ sở hữu được đặt thành Composite.

: Khái quát: Bộ phân loại cụ thể được thừa hưởng một phần của định nghĩa của nó từ vị tướng phân loại. Trình phân loại chung nằm ở đầu mũi tên của trình kết nối. Các thuộc tính, liên kết và các hoạt động được kế thừa bởi trình phân loại cụ thể. Sử dụng công cụ Thừa kế để tạo tổng quan giữa hai trình phân loại.

Package diagram

: nhập: Một mối quan hệ giữa các gói, chỉ ra rằng một gói bao gồm tất cả các định nghĩa của người khác.

: phụ thuộc: Định nghĩa hoặc thực hiện phân loại phụ thuộc có thể thay đổi nếu phân loại ở phần cuối mũi tên được thay đổi.

Realization relationship

: Thực hiện: Lớp thực hiện các hoạt động và các thuộc tính được định nghĩa bởi giao diện. Sử dụng công cụ Thừa kế để tạo hiện thực giữa lớp và giao diện.

: Thực hiện: Bản trình bày thay thế của cùng một mối quan hệ. Nhãn trên biểu tượng kẹo xác định giao diện.

UML Class Diagrams: Hướng dẫn: http://msdn.microsoft.com/library/dd409416%28VS.140%29.aspx

thuộc tính của một Hiệp hội

Aggregation: Điều này dường như là một hình dạng kim cương tại một đầu của kết nối. Bạn có thể sử dụng nó để cho biết rằng các trường hợp tại vai trò tổng hợp của riêng mình hoặc chứa các phiên bản khác.

Có thể điều hướng: Nếu chỉ đúng một vai trò, mũi tên sẽ xuất hiện theo hướng điều hướng. Bạn có thể sử dụng điều này để cho biết khả năng điều hướng của các liên kết và quan hệ cơ sở dữ liệu trong phần mềm.


Khái quát: Khái quát nghĩa là chuyên hay loại có nguồn gốc được thừa hưởng thuộc tính, hoạt động, và các hiệp hội của chung hoặc cơ sở loại. Loại chung xuất hiện ở đầu mũi tên kết thúc của mối quan hệ.

Thực hiện: Thực hiện có nghĩa là một lớp sẽ triển khai các thuộc tính và hoạt động được chỉ định bởi giao diện. Giao diện ở đầu mũi tên của đầu nối.

Hãy cho tôi biết nếu bạn có thêm câu hỏi.

+1

Tài liệu tham khảo đẹp nhưng với tôi một Menu -> MenuItem có cùng quan hệ như một Order -> OrderItem nên cả hai đều là compositions. –

+4

Cả hai chỉ có nghĩa là, mục thứ tự thuộc về một đơn đặt hàng và không thể di chuyển được, trong khi đó Item Menu có thể được điều chỉnh - người dùng có thể thay đổi vị trí của Menu Item. Đó là giải pháp được chọn. Tại sao không? – Gangnus

+0

@Gangnus, cảm ơn bạn. Lời giải thích đó đã làm sáng tỏ sự khác biệt đã lảng tránh tôi trong một thời gian dài. – JMD

13

Bảng yêu thích "Cheat sheet" yêu thích của tôi là UML Distilled, bởi Martin Fowler. Đó là cuốn sách duy nhất của anh ấy mà tôi đã đọc mà tôi đề nghị.

+1

Thú vị, tôi rất thích Refactoring. Đó là một trong những bạn có ý kiến ​​về. – djna

+0

Vâng, tôi thấy nó hoàn toàn rõ ràng, và không thích sự tập trung vào Java. Ngoài ra, xin đừng lấy câu trả lời của tôi khi nói rằng những cuốn sách khác của anh ấy là rác rưởi. –

+0

Cuốn sách của Fowler cũng có một bảng gian lận bên trong bìa sách. Thực sự tốt để bắt đầu, đặc biệt là câu hỏi tiếp theo của bạn sẽ là những gì hướng làm các mũi tên đi? –

11

đây được đơn giản hóa hướng dẫn:

Practical UML

Để biết thêm tôi khuyên bạn nên để có được một số tài liệu.

9

Để tham khảo nhanh chóng cùng với các ví dụ súc tích rõ ràng, UML nhanh Reference Allen Holub là tuyệt vời:

http://www.holub.com/goodies/uml/

(Có khá một vài ví dụ cụ thể của mũi tên và con trỏ trong cột đầu tiên của một bảng, với mô tả trong cột thứ hai.)

5

Mô tả rất dễ hiểu là the documentation of yuml, với các ví dụ về biểu đồ lớp, trường hợp sử dụng và hoạt động.

11

Một cheat đẹp tấm: http://loufranco.com/wp-content/uploads/2012/11/cheatsheet.pdf

Nó bao gồm:

  • Class Diagram
  • Chuỗi Diagram
  • Diagram Gói
  • Diagram Object
  • Trường hợp sử dụng Sơ đồ

Và cung cấp một vài mẫu.

+3

Tôi đã tìm chính xác điều này trong 30 phút qua. Tôi biết các khái niệm, tôi chỉ quên các biểu tượng. – aclave1

3

Câu trả lời được chấp nhận đang được nói, Thiếu một số giải thích. Ví dụ: , sự khác biệt giữa một hiệp hội đơn hướng và hai hướng; cả hai được sử dụng trong ví dụ được cung cấp. (số '5' trong mũi tên) Vì vậy, nếu tìm kiếm câu trả lời hoàn chỉnh hơn và có nhiều thời gian hơn, hãy xem here.

50

enter image description here

enter image description here

Tôi nghĩ rằng những bức ảnh này là dễ hiểu.