在UML多重性中使用变量

时间:2013-08-15 14:08:24

标签: uml

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

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

我看了ISO 1905-1的灵感,我认为我想要的东西与他们称之为“多样性元素”的东西类似。在标准中,它指出:

  

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

然而,在它给出的例子中,他们似乎没有按我预期的方式使用这个功能 - 他们注释关联链接而不是替换多重性。

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

1 个答案:

答案 0 :(得分:2)

根据UML规范,您可以使用ValueSpecification来表示多重性元素的下限和上限。 ValueSpecification可以是表达式。所以在理论上它必须是可能的,尽管正确的表达会更复杂。实际上它混合了设计和实例级别。

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

UML multiplicity constraint http://app.genmymodel.com/engine/xaelis/roads.jpg