UML表示法 - 一个或多个可选项

时间:2015-02-24 15:32:45

标签: uml enterprise-architect

我正在使用Enterprise Architect创建一个显示对象A的类模型,该对象具有与三个对象B,C和C的单个实例的可选关联。 D即A ----> B(0..1),A -----> C(0 ... 1),A -----> D(0..1)。

问题在于我希望能够说集体A必须至少有一个B或C或D的实例。为了让事情变得棘手,我不能在B,C,D之上创建一个概括(让我们将它称为X)并使用1 ... *链接到该泛化,因为我正在从Enterprise Architect中的模型生成XSD。然后XSD表示任何XML作为一个元素必须包含X作为子元素(而不是说B AND / OR C和/或D)。

我认为有一些聪明的方法可以加入从A到B,C和D的三个关联,以至于说必须存在这些关联中的至少一个,而不必在B,C和C之上创建泛化X. d。

1 个答案:

答案 0 :(得分:6)

在UML中,关系主要在两个元素之间,因此很难实现您之后的目标。您描述的泛化构造是此的常规解决方案。

您还可以添加约束并将其链接到连接器。这将告知人类读者,但EA不会关心。我非常确定即使您在OCL(正式约束语言)中编写约束,EA也不会在生成过程中对其进行评估。

enter image description here