Class 在UML类图中表示网格

Class 在UML类图中表示网格,class,uml,diagram,class-diagram,Class,Uml,Diagram,Class Diagram,在创建软件之前,我想在UML类图中表示一个时间表的网格,但是在线资源使这一点令人困惑 我知道列和行(这是我想要的)可以这样表示: MyClass + <<column>> Monday: String + <<column>> Tuesday: String + ... + <<row>> 9am: String + <<row>> 10am: String MyClass +星期一:字

在创建软件之前,我想在UML类图中表示一个时间表的网格,但是在线资源使这一点令人困惑

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

 MyClass
 + <<column>> Monday: String
 + <<column>> Tuesday: String
 + ...
 + <<row>> 9am: String
 + <<row>> 10am: String
MyClass
+星期一:字符串
+星期二:字符串
+ ...
+上午9点:字符串
+上午10点:弦
问题是它不像网格。据我所知,这将分别处理列和行,而不是像坐标一样:例如,如果我想为周一上午9点设置一些内容


我的问题是,我该怎么做?是否有我遗漏的步骤,或者我的想法完全错误?

如果你真的想通过逐小时显示来表示时间表,那么你应该将时间表构建为一组(有序的)周日,而这些周日又将构建为(再次有序的)小时。在这种情况下,图表将如下所示:


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

结果,你将得到3门课

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


这也是您特别希望表示演示文稿的方法。当然,最好是为活动构建类,这部分仅用于GUI。

“此外,不要将对象表示为类的一部分”对不起,您可以在此基础上进行扩展吗?我不太明白你的意思。我建议对DoW和HoD使用
来修复Mo、Tu、We等。例如,将dayName作为枚举而不是字符串,@ThomasKilian?是的,我在回答中建议的枚举数的用法也是如此。我将添加另一个图表来说明这种情况。在您的问题中,您建议添加属性“星期一”、“星期二”。。。等等。它们实际上代表特定的对象。相反,您应该有一个DayOfWeek集合,集合中最多有7个元素(例如,如果您希望始终表示工作周,则正好有5个元素)。但在UML和代码级别上,它将是DayOfWeek类型元素的集合(具体顺序),但在启动时,您应该立即创建表示周一、周二等的5个对象。也可以在UML图中描述这一点。