【问题标题】:Representing a grid in UML Class Diagram在 UML 类图中表示网格
【发布时间】:2016-08-11 05:24:35
【问题描述】:

我想在创建软件之前在 UML 类图中表示一个时间表网格,但在线资源使这变得混乱。

我知道列和行(这是我想要的)可以这样表示:

 MyClass
 + <<column>> Monday: String
 + <<column>> Tuesday: String
 + ...
 + <<row>> 9am: String
 + <<row>> 10am: String

问题在于它不像网格。据我了解,这将分别处理列和行,而不是坐标:例如如果我想为星期一早上 9 点设置一些东西。

我的问题是,我该怎么做呢?是否有我遗漏的步骤,或者我是否以完全错误的方式考虑了这一点?

【问题讨论】:

    标签: class uml diagram class-diagram


    【解决方案1】:

    如果您真的想通过按小时显示时间表来表示时间表,您应该将时间表构建为一组(有序的)工作日,而这又将构建(再次订购)小时。在这种情况下,图表将如下所示:

    此外,不要将对象表示为类的一部分。使用其他类,如果有必要标记它的多样性。

    因此,您最终将获得 3 个类。

    另请注意,这是最简单的版本。我还建议对 DayOfWeek 和 HourOfDay 的名称使用一些枚举器。您的图表可能如下所示:

    这也是您特别想要表示演示的方法。为活动构建类肯定更好,这部分仅用于 GUI。

    【讨论】:

    • “此外,不要将对象表示为类的一部分” 您能否对此进行扩展,抱歉?我不太明白你的意思。
    • 我建议 DoW 和 HoD 使用 &lt;&lt;enumeration&gt;&gt; 来修复 Mo、Tu、We 等。
    • 如,将 dayName 设为枚举而不是字符串,@ThomasKilian ?
    • 是的,我在回答中也建议使用枚举器。我将添加另一个图表来说明这种情况。
    • 在您的问题中,您建议添加属性“星期一”、“星期二”......等等。它们实际上代表特定的对象。相反,您应该有一个 DayOfWeek 集合,集合中最多包含 7 个元素(或者,如果您想始终代表工作周,则正好是 5 个)。但是在 UML 和代码级别上,它将是 DayOfWeek 类型元素的集合(具体的序列),但在启动时,您应该立即创建代表星期一、星期二等的这 5 个对象。也可以在 UML 图中描述。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多