如何将复杂的大型uml类图变成简单易懂的方式

如何将复杂的大型uml类图变成简单易懂的方式,uml,class-diagram,Uml,Class Diagram,我有一个公司的工作流管理项目,正在尝试设计uml类图,但是显示变得非常大和笨拙,所以我需要的是将复杂的类图变成简单易懂的?请对此提供帮助 提前感谢。“分而治之” 使用不同的策略,以更易于管理的单元构建和分解图表: 对包中的相关类进行分组,并管理包之间的依赖关系。在单独的图表中显示软件包,使您的整体模型具有“导航主干”(如文件夹和文件) 使用继承层次结构简化类结构 尽可能使用组合关系,以基于整体-部分范式耦合高度相关的类 最后,将复杂的图表分解为几个较小且逻辑上有意义的图表 UML中的语义值来

我有一个公司的工作流管理项目,正在尝试设计uml类图,但是显示变得非常大和笨拙,所以我需要的是将复杂的类图变成简单易懂的?请对此提供帮助

提前感谢。

“分而治之”

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

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

UML中的语义值来自元素及其关系和其他特性,而不是图表的布局方式因此,一个Diagram中100个类的相同语义值可以通过10个图来实现。另一方面是第二种情况,更易于理解、扩展和维护

一般来说,您不应该在同一个图中表示太多的类:您最好将软件的结构拆分为多个图。每个图应该只包含相互作用的类。理想情况下,在一个图中,您应该有几个相互依赖的类,但对其他图中包含的类的依赖性很少。 如果因为依赖关系太多而无法以这种方式划分图表,那么您的图表:可能您的设计中的类过于耦合,您需要对项目进行更多的模块化


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

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

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

所有其他“概念”问题都已得到回答


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

谢谢你的回复。是否有任何示例或请提供包含示例的链接,以便我可以遵循示例。我没有任何想法(当然,除了我自己的模型)。UML工具通常附带一些示例,互联网上可能有一些示例。我们可以区分整体UML模型结构和特定模型结构(例如用例模型、设计模型、架构模型等)。这两种方法都是先使用包,然后使用单独的图表。第一级结构对应于整个模型结构。这取决于项目、方法和工具(例如,您可以为业务模型、用例、设计和行为制作包)。每个包的内部结构都是特定于内容的(围绕功能模块的用例结构,而围绕系统结构的类模型设计)。希望这有助于感谢您的回答。是否有任何示例或请提供包含示例的链接,以便我可以按照示例更好地理解。