如何用简单易懂的方式制作复杂的大型UML类图?

问题描述 投票:0回答:3

我有公司的工作流管理项目,正在尝试设计一个UML类图,但是显示变得非常大且笨拙,所以我需要的是使复杂的类图变得简单易懂。

uml class-diagram
3个回答
11
投票

一般来说,你不应该在同一个图表中表示太多的类:你最好将软件的结构分成多个图表。每个图应该只包含一起交互的类。理想情况下,在单个图中,应该有很少的相互依赖的类,但对其他图中包含的类的依赖性也很少。 如果由于依赖关系太多而无法以这种方式划分图表,那么您的图表试图告诉您一些事情:也许您的设计中的类耦合度太高,并且您需要对项目进行更多模块化。

另一条建议:如果您使用 UML 作为推理工具(而不仅仅是文档),类图对于显示软件的静态结构,特别是类之间的依赖关系很有用。您不需要将每个细节都放在图中,因此不要显示类的每个属性和方法,而只显示最重要的方法。理想情况下,您应该只展示可以建议软件行为的方法。请记住,UML 代表统一建模语言,模型并不是包含所有细节的真实事物的副本:-)


3
投票

“分而治之”!

使用不同的策略来构建和分解图表以更易于管理的单元:

  • 将包中的相关类分组并管理包之间的依赖关系。在单独的图表中显示包,为您的整体模型提供“导航骨干”(如文件夹和文件)
  • 使用继承层次结构来简化类结构
  • 尽可能使用组合关系来耦合基于整体-部分范式的高度相关的类
  • 最终将复杂的图表分解为几个较小且具有逻辑意义的图表

UML 中的语义价值来自元素及其关系以及其他功能,而不是图表的布局方式。 因此,可以使用 10 个图表来实现 1 个图表中 100 个类的相同语义值。 另一方面,第二种情况更容易遵循、理解、扩展和维护。


2
投票

将一些示例的链接(根据要求)添加到 @Daniele 和 @Aleks 的答案

链接按照我推荐的阅读顺序排列:

所有其他“概念”点都已经得到解答。

顺便说一句:好的建模工具允许交互式切换所需的细节级别(折叠不感兴趣的类、放大/缩小、打开/关闭属性显示等),因此如果不应该的话,阅读一个复杂的图表是可能的打印在一张A4纸上

© www.soinside.com 2019 - 2024. All rights reserved.