2

我今天正在运行一个教程,我们正在设计一个类图来模拟道路系统。该系统的约束之一是任何一段道路都具有最大通行能力;一旦达到,没有新车可以进入该细分市场。

绘制类图时,可以capacity作为多重性之一使用吗?这样0..*,我可以拥有车辆,而不是在路段上拥有0..capacity车辆。

我查看了 ISO 1905-1 以获得灵感,我认为我想要的类似于他们所说的“多重元素”。在标准中,它指出:

如果 Multiplicity 与符号为文本字符串(例如属性等)的元素相关联,则 multiplicity 字符串将作为该文本字符串的一部分放在方括号 ([]) 中。图 9.33 显示了作为类符号中属性规范的一部分的两个多重性字符串。-- 第 9.12 节

然而,在它给出的例子中,他们似乎并没有像我预期的那样使用这个特性——他们注释关联链接而不是替换多重性。

我宁愿为有问题的学生得到一个确定的答案,也不愿根据标准做出猜测,所以我在这里问:有没有其他人遇到过这个问题?你是怎么克服的?

4

1 回答 1

3

根据 UML 规范,您可以将 aValueSpecification用于多重性元素的下限和上限。aValueSpecification可以是一个表达式。所以理论上它一定是可能的,尽管正确的表达会更复杂。事实上,它混合了设计和实例级别。

在这种情况下,更通常使用这样的约束:

UML 多重性约束 http://app.genmymodel.com/engine/xaelis/roads.jpg

于 2013-08-16T06:20:26.927 回答