我今天正在运行一个教程,我们正在设计一个类图来模拟道路系统。该系统的一个限制因素是任何一段道路都具有最大容量;一旦到达,没有新车可以进入该细分市场。
绘制类图时,我可以使用capacity
作为多重性之一吗?这样,我可以拥有0..*
辆车,而不是在路段上拥有0..capacity
辆车。
我看了ISO 1905-1的灵感,我认为我想要的东西与他们称之为“多样性元素”的东西类似。在标准中,它指出:
如果Multiplicity与其符号为文本字符串(例如属性等)的元素相关联,则多重性字符串将放在方括号([])内,作为该文本字符串的一部分。图9.33显示了两个多重字符串作为类符号中属性规范的一部分。 - 第9.12节
然而,在它给出的例子中,他们似乎没有按我预期的方式使用这个功能 - 他们注释关联链接而不是替换多重性。
我宁愿为有问题的学生找到明确的答案,而不是根据标准做出猜测,所以我在这里问:还有其他人遇到过这个问题吗?你是怎么克服的?
答案 0 :(得分:2)
根据UML规范,您可以使用ValueSpecification
来表示多重性元素的下限和上限。 ValueSpecification
可以是表达式。所以在理论上它必须是可能的,尽管正确的表达会更复杂。实际上它混合了设计和实例级别。
在这种情况下,更常见的是使用这样的约束:
UML multiplicity constraint http://app.genmymodel.com/engine/xaelis/roads.jpg