【发布时间】:2017-08-21 15:30:07
【问题描述】:
假设我的 A 类分别与 X、Y 和 Z 类关联。我需要指出,对于任何给定的 A 类实例,只能实例化这些关联中的一个(因此,一个异或约束)。如果约束只是跨两个关联,我知道该怎么做。显然,我可以只制作三个单独的异或约束(X-Y、X-Z、Y-Z),但我想知道是否有更好/更清洁/正确的方法来做到这一点?
edit:各个关联的多重性约束不一样。使用抽象类或接口将不起作用。此外,一个注释是不够的。我需要使用某种形式化的结构,最好是标准化的(例如通过 OMG)来表达这一点,因为我正在以编程方式处理模型元素(即它不仅仅是一张图片)。我了解 UML 的底层模型是如何为这个工具提供的。它还指定(虽然有点模糊)它应该如何表示。事实上,我想我的主要问题是找到一个允许我制作这种符号的工具。我不认为 MagicDraw 这样做。我应该早点说这些事情的。
FWIW,我正在使用 MagicDraw。如果我能以 MagicDraw 真正理解的方式做到这一点,那将是一个很好的奖励。如果不可能,我可以忍受它。
【问题讨论】:
标签: uml ocl magic-draw