在UML类图中建模唯一关系

时间:2014-07-21 18:58:05

标签: associations uml unique diagram

这个问题是关于分析阶段的UML类图。 我为了说明目的编写了一个最小的例子:

UML diagram

票证适用于一个席位和一个特定研讨会。 可以将座位分配给多个票证,但仅限于一个唯一的票证/研讨会组合。 (研讨会和独特的门票/座位组合也是如此。)

该图未反映出来。我用红色标记了错误的多重性。

您知道正确建模需求的选项(越多越好)吗?

3 个答案:

答案 0 :(得分:1)

UML或实体关系图无法表达这种可交换的一致性检查。顺便说一句,您无法从票证实例中表达路径票证 - >座位 - >研讨会地点必须与票证相同 - >研讨会 - >研讨会地点。

正式地,您用红色标记的多重性是正确的。一个座位看到不止一张票,只是针对不同的研讨会,反之亦然。

因此,我能提供的唯一解决方案是将要求包含在这些关系的文本规范中。这不是一件坏事,因为任何有限的图形符号集只能表达所有可能要求的子集。

答案 1 :(得分:1)

票证可以是座位和研讨会之间的关联类。或者只是使用OCL来表达这种约束

答案 2 :(得分:0)

"您无法从故障单实例中表达路径故障单 - >座位 - >研讨会地点必须与票证相同 - >研讨会 - >研讨会地点"

1)OCL - context Ticket inv:seminar.seminarLocation = seat.seminarLocation

2)在座位和研讨会之间绘制席位,研讨会和协会类门票 - 进入SeminarLocation(图13-70 http://msdl.cs.mcgill.ca/people/tfeng/docs/The%20Unified%20Modeling%20Language%20Reference%20Manual.pdf或图14-84 http://www.utdallas.edu/~chung/Fujitsu/UML_2.0/Rumbaugh--UML_2.0_Reference_CD.pdf