繁体   English   中英

如何简化UML类图继承符号?

[英]How can I simplify an UML class diagram inheritance notation?

我有一个超类,其他40个clase都继承了,在这一点上,我想简化图,确切地说,所有继承关系(40个关系指向一个类)所有这些“箭头”只是使图完整一团糟,可以简化这个吗?

我建议以下内容:

**

  • 场景1

**

如果您不打算将模型用于代码生成

  • 将所有子类放入包中。 给这个包起一个名字来表明它包含的所有元素/类都继承自特定的超类。 例如,如果将超类命名为“ SuperFoo”,则将其称为“ SuperFoo_SubTypes”包
  • 在包中放置一个注释,以指示包中的所有类都继承自超类。

**

  • 场景2

**

您确实确实计划从模型生成代码:

选项1我可能建议您按照常规绘制所有继承关联,然后使用建模工具上的hide功能隐藏超类。

选项2通过使用替代符号来描述继承/泛化,对于每个子类,均以斜体字体和子类元素的右上角写出超类的名称。 本文将简要说明此方法: http : //www.sparxsystems.com/resources/uml2_tutorial/uml2_classdiagram.html当然,这取决于您的建模工具是否支持此表示法。

我希望这有帮助!

在UML规范中没有直接的方法可以简化这种情况,但是真的可以从一个类继承40个类吗? 我认为您可能需要重新考虑设计。

通常,您可以从类中省略属性和方法,至少这样更好。

您是否正在使用继承进行代码重用? 我从未遇到过有40个子类的情况。 无论如何,一种想法是将逻辑上相关的类分组为1个单独的包装图,然后具有包装关系。

我想提供一些建议

  1. UML图是90年代的;-)。 在当前的敏捷世界中,我很少使用这些图
  2. 研究可以对代码进行反向工程并在需要时创建类图和序列图的工具。 这可以帮助您仅按需可视化应用程序的相关部分
  3. 了解子类型与子类的关系

这是一个好问题,因为我在一个项目中也遇到了类似的问题。 我所做的是减小每个类的大小,以便仅显示名称。 然后,我选择了圆形+分层布局,并用鼠标移动了所有这些链接。

结果是辉煌的。 我使用的工具是EclipseUML Omondo。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM