我最近一直在研究UML并用类之间的普通普通箭头绘制简单的图表,但我知道这还不够。还有很多其他箭头:概括,实现等对图解读者有意义。
是否有一个很好的资源可以解释每个箭头(普通,普通,点缀,钻石填充,钻石)?
如果它有一些代码示例,那将是最好的。
答案 0 :(得分:423)
以下是Visual Studio 2015文档的一些解释:
UML类图:参考:https://msdn.microsoft.com/library/dd409437%28VS.140%29.aspx
5 :关联:两个分类器成员之间的关系。
5a :聚合:表示共享所有权关系的关联。该 所有者角色的聚合属性设置为共享。
5b :合成:表示整体关系的关联。 聚合 所有者角色的属性设置为复合。
9 :泛化:特定分类器从一般继承其部分定义 分类。常规分类器位于连接器的箭头末端。属性,关联和 操作由特定分类器继承。使用继承工具创建 两个分类器之间的概括。
13 :导入:包之间的关系,表示一个 包中包含另一个的所有定义。
14 :依赖:依赖分类器的定义或实现可能会改变,如果 箭头端的分类器已更改。
15 :实现:该类实现接口定义的操作和属性。 使用继承工具在类和接口之间创建实现。
16 :实现:相同关系的替代演示。上的标签 棒棒糖符号标识界面。
UML类图:指南:http://msdn.microsoft.com/library/dd409416%28VS.140%29.aspx
协会的属性
聚合:这在连接器的一端显示为菱形。你可以用它来 指示聚合角色的实例拥有或包含另一个实例。
可导航:如果仅对一个角色为true,则会在可导航方向上显示箭头。您可以使用 这表示软件中链接和数据库关系的可导航性。
泛化:泛化意味着专门化或派生类型继承属性, 操作,以及一般或基本类型的关联。一般类型出现在箭头上 关系结束。
实现:实现意味着类实现由指定的属性和操作 界面。界面位于连接器的箭头末端。
如果您有更多问题,请与我们联系。
答案 1 :(得分:103)
答案 2 :(得分:17)
一个很好的备忘单: http://loufranco.com/wp-content/uploads/2012/11/cheatsheet.pdf
它包括:
并提供一些样本。
答案 3 :(得分:13)
我最喜欢的UML“备忘单”是UML Distilled,作者是Martin Fowler。这是他读过的唯一一本我推荐的书。
答案 4 :(得分:12)
答案 5 :(得分:9)
为了快速参考以及简明扼要的示例,Allen Holub的UML快速参考非常出色:
http://www.holub.com/goodies/uml/
(表格的第一列中有很多箭头和指针的具体示例,第二列中有描述。)
答案 6 :(得分:6)
一个非常容易理解的描述是the documentation of yuml,包含类图,用例和活动的示例。
答案 7 :(得分:3)
接受的答案是,它缺少一些解释。 例如,单向和双向关联之间的区别是什么;两者都在提供的示例中使用。 (箭头中的数字'5') 因此,如果要寻找更完整的答案并有更多时间,请查看here。
答案 8 :(得分:1)
如果你更像是一名MOOC人员,我推荐的一门免费课程教你大部分UML图的所有内容来自Udacity:https://www.udacity.com/course/software-architecture-design--ud821
答案 9 :(得分:0)
集合和组成有点混乱。但是,认为类似的组合是聚合的更强版本。这意味着什么? 让我们举个例子: (聚合) 1.上教室和学生: 在这种情况下,我们尝试分析它们之间的关系。教室 与学生有关系。这意味着教室由一个或多个学生组成。即使我们删除了课堂班,学生班也不需要销毁,这意味着我们可以独立使用学生班。
(组成) 2.看一下页面和书籍课堂。 在这种情况下,页面是 一本书,这意味着页面的集合构成了这本书。如果删除book类,则整个Page类将被销毁。这意味着我们不能单独使用页面的类。
如果您仍然不清楚该主题,请观看这段简短的精彩视频,该视频已更清楚地说明了汇总。