拆分UML类图?

时间:2016-02-14 22:07:58

标签: class uml diagram

所以我必须为我作为项目的一部分制作的Unity游戏制作一个类图。

麻烦的是我必须为每个脚本创建一个类,其中有60个。

给我的指导原则只是说明:创建游戏的类图。

那么我应该把它分成几个不同的类图,或者只是一个不可避免的令人厌恶的60类图?

3 个答案:

答案 0 :(得分:2)

您的指南已经告诉您该如何处理此项目:“创建 a 游戏类图表。”如果这是一个班级项目,创建一个马毯,让你的教授高兴,并获得良好的成绩。

但是,在实际项目中,您应该为受众创建许多微观主题区域图。只与每个人一起检查对他们而言重要的图表。这就是你(以及你的受害者)能够在非常大的项目中生存的方式。

要创建微主题区域图表,请创建一组图表,每个图表包含7±3个类别。每个类只有一个完全定义的图表,显示其所有的分区和关联。在其他任何地方,该类应该只显示 及其类名(以帮助定义其他类)和超链接。超链接使其像边缘连接器一样工作,将您带到完全定义的图表。 (如果您使用MagicDraw,则有一个名为AutoStyler的免费插件可自动执行此操作。)

答案 1 :(得分:1)

分离类图是合法的,因为类图是为了澄清一些巨大的类图可以说没有做的事情。因此,类图通常应该集中在您想要显示的几个特定方面:

  • 您想提供给定类别的详细结构表示吗?如果是这样,只用所有成员描述这些类,但跳过任何其他类(例如,不要将它们绘制为类节点,而只是在适当的时候将它们的名称作为成员/参数类型提及)。
  • 您想提供与特定功能相关的类结构吗?如果是这样,请绘制相关的类集,但跳过不相关的成员(例如,为了基础结构支持而必须在那里的成员,但这不是您关注的实际业务逻辑的一部分)。

现在,当有任何完整性的期望而不仅仅是概述时,需要明确图表的哪些部分是完整的以及哪些部分是缩写的。同样,这可以通过各种方式实现:

  • 与上面的第一个项目符号项一样,提及类型名称而不绘制它清楚地表明当前图表中没有描述的另一种类型,而不会使描述的类不完整。
  • 或者,您可以在代码中使用“抽象的自然边界”:如果您使用来自扩展层次结构的类,则在一个图表中仅绘制基类或一些通用基类可能就足够了,在单独的图表中详细说明实际的类层次结构(没有其他图中的任何上下文)。

关于您的具体问题的两点评论:

  • 在您的情况下,“60个脚本”听起来像其中的各种可能很容易落入最后一种情况,允许您将整体架构图与类层次结构图分开。
  • 你说有“指导方针”。如果这是针对某种竞争或任何其他类型的评估(例如,用于学习),请谨慎使用所有这些建议:内部评分指南可能不一定与实际项目中实际/有用的内容一致。 / LI>

答案 2 :(得分:1)

tl; dr

  • 创建与需要
  • 一样多的类图
  • 仅限使用壁纸图
  • 创建壁纸图表。但是从现有的图表中组装它们。
  • 尝试发现子域(属于一起的东西)并将它们放在一个图表中