证明没有给定的UML图

时间:2019-03-27 16:05:54

标签: uml proof cardinality

鉴于右上角的图表,我应该决定是否有任何有效的实例。现在,给定的图像是反示例的(“ wegen”表示“因为”)。反证明使用对象的基数(“Mächtigkeit”)。

我不明白,为什么例如2 * | A |等于| C |,就像在UML中一样,A将与C的2个对象有关(rel1)。因此,对于每个A,必须有2个C才能构成有效实例。 2 * | A | = | C |因此应| A | = 2 * | C |。

为什么反过来呢?

enter image description here

1 个答案:

答案 0 :(得分:1)

  • 2*|A| = |C|,因为C的对象数量是A的两倍,因为每个A有两个关联的C
  • |A| = |B|因为他们之间存在1-1关系
  • 3*|C| = 2*|B|,因为每个C有3个B,每个B有2个C
  • (4)和(5)只是最后一个出现矛盾之处的替代物

q.e.d

P.S。正如@ShiDoiSi指出的那样,多重性中没有{unique}约束。这将使与同一实例具有多个关联成为可能。因此,您有1-1关系。因此,在这种情况下,您实际上 CAN 具有模型的有效实例。

现在去告诉你的老师xD