采用以下类图:
我想建模以下约束: 成员不得参加同一日期编制的若干论文答辩。
答案 0 :(得分:1)
我会使用限定符表示给定日期,将有零或一个论文防御。这看起来像是关联成员端的一个额外矩形,包含字符串“防御日期:DateTime”和另一端的多重[0..1]。有关示例,请参阅Qualified Association | Applying UML and Patterns: UML Class Diagrams | InformIT。
答案 1 :(得分:1)
如果您将{bag}
附加到多重性,它会告诉读者该集合是唯一的。
来自上层建筑2.1.1:
可以在行尾附近放置各种其他符号,如下所示:
- 多重性
- 用大括号括起来的属性字符串。以下属性字符串可以应用于关联结束:
- {subsets
<property-name>
}表示结尾是名为<property-name>
的属性的子集。- {重新定义
<end-name>
}以显示结尾重新定义名为<end-name>
的那个。- {union}表示结束是通过其子集的联合派生的。
- {ordered}显示结尾代表有序集。
- {bag}表示结尾表示允许同一元素出现多次的集合。 •{sequence}或{seq} to 表明结尾代表一个序列(一个有序的包)。
- 如果结尾是可导航的,则应用于属性的任何属性字符串。
要添加其他约束,例如日期是唯一的,您应该将该约束附加到连接器而不是对象。