2024-03-03 08:00:04

UML箭头的解释

我最近一直在学习UML,并在类之间用普通的箭头绘制简单的图,但我知道这还不够。还有很多其他的箭头:概括,实现等等,这些对图表读者有意义。

是否有一个很好的资源可以解释每个箭头(普通,普通,虚线,钻石填充,钻石)?

这将是最好的,如果它将为他们提供一些代码示例。


当前回答

一个不错的小抄(http://loufranco.com/wp-content/uploads/2012/11/cheatsheet.pdf):)

它涵盖了:

类图 序列图 包图 对象图 用例图

并提供了一些示例。

其他回答

一个非常容易理解的描述是yuml的文档,其中有类图、用例和活动的示例。

Allen Holub的《UML quick reference》非常优秀,它提供了清晰简洁的示例,便于快速参考:

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

(在表的第一列中有相当多关于箭头和指针的具体示例,在第二列中有描述。)

如果你更喜欢MOOC,我推荐一门免费课程,它可以教你大多数UML图的所有内容,这门课程来自Udacity: https://www.udacity.com/course/software-architecture-design--ud821

以下是Visual Studio 2015文档中的一些解释:

UML类图:参考:https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2015/modeling/uml-class-diagrams-reference

5: Association: A relationship between the members of two classifiers. 5a: Aggregation: An association representing a shared ownership relationship. The Aggregation property of the owner role is set to Shared. 5b: Composition: An association representing a whole-part relationship. The Aggregation property of the owner role is set to Composite. 9: Generalization: The specific classifier inherits part of its definition from the general classifier. The general classifier is at the arrow end of the connector. Attributes, associations, and operations are inherited by the specific classifier. Use the Inheritance tool to create a generalization between two classifiers.

13: Import:包之间的关系,表示一个 包包含另一个包的所有定义。 14:依赖:依赖分类器的定义或实现可能会在以下情况下改变 完成箭头端分类器的修改。

15:实现:类实现由接口定义的操作和属性。 使用继承工具创建类和接口之间的实现。 16:实现:同一关系的另一种表现形式。标签上的 棒棒糖符号标识接口。

UML类图:指南:http://msdn.microsoft.com/library/dd409416%28VS.140%29.aspx

关联的属性 聚合:在连接器的一端显示为菱形。你可以用它来 指示聚合角色的实例拥有或包含其他角色的实例。 是否可导航:如果只有一个角色为真,则在可导航方向上显示一个箭头。你可以使用 这表明在软件中链接和数据库关系的可导航性。


泛化:泛化意味着专门化或派生类型继承属性, 操作,以及一般类型或基本类型的关联。一般类型出现在箭头处 关系的结束。 实现:实现意味着类实现了属性和指定的操作 接口。接口位于连接器的箭头端。

如果你还有其他问题,请告诉我。

公认的答案是,它缺少一些解释。 例如,单向关联和双向关联之间的区别是什么?在提供的示例中,两者都存在。(箭头上都是5)

如果你想要一个更完整的答案,并且有更多的时间,这里有一个详细的解释。