【问题标题】:Splitting up a UML Class Diagram?拆分 UML 类图?
【发布时间】:2016-02-14 22:07:57
【问题描述】:

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

问题是我必须为每个脚本创建一个类,其中有 60 个。

给我的指导方针简单地说:为你的游戏创建一个类图。

那么我应该把它分成几个不同的类图,还是只是一个不可避免地令人作呕的 60 个类图?

【问题讨论】:

  • 嗨@GreenBandit,如果答案已经解决了您的问题,请点击复选标记考虑accepting it。这向社区表明您找到了解决方案,并为回答者和您自己提供了一些声誉。

标签: class uml diagram


【解决方案1】:

您的指导方针已经告诉您为这个项目做什么:“为您的游戏创建一个类图。”如果这是一个课堂项目,请制作一条马毯,让您的教授开心,并取得好成绩。

但是,在实际项目中,您应该为您的受众创建许多微观主题区域图。仅与每个人一起查看对他们重要的图表。这就是您(和您的受害者)如何在大型项目中幸存下来的方式。

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

【讨论】:

    【解决方案2】:

    拆分类图是合法的,因为类图是为了澄清事情,而一个巨大的大型类图可以说是做不到的。因此,类图通常应该集中在您想要展示的几个特定方面:

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

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

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

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

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

    【讨论】:

      【解决方案3】:

      tl;dr

      • 根据需要创建尽可能多的类图
      • 仅避免使用壁纸图
      • 不过,请创建壁纸图。但是从现有图表中组装它们。
      • 尝试找出子域(属于一起的事物)并将它们放在一个图表中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-21
        • 1970-01-01
        • 2016-12-21
        • 2015-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多