2016-11-29 39 views
4

我對如何正確使用UML中的{XOR}約束存在一些疑問。UML中的工作原理{XOR}如何工作?

enter image description here

我理解它是如何工作在兩種不同的方式。哪一個是正確的?

  1. xor約束適用於關聯。 (或者:類型A的對象可能與C類型的1個對象相關聯;或者:類型A的對象可能與0或1對象相關聯,類型爲B;或者:對象A可能僅僅是因爲我們有[ 0..1]靠近B)。 xor約束適用於鏈接(或者:A類型的對象必須恰好與C類型的一個對象相關聯;或者:A類型的對象必須與B類型中的一個對象相關聯)。

+5

@duffymo誰需要代碼?完全昨天。 –

回答

4

這根本就是錯的(或一個謎題)。您只需要將一個CA關聯。但是,由於XOR,您可能不會聯繫B。這意味着:B關係始終爲0,您可以將其保留。

也許(!)某人把多重性放在了錯誤的一邊。如果你交換它們,這是有道理的。如果你使用真實姓名而不是A,B,C,你可以從上下文中猜測。

0

選項2需要的正好一個B.

鄰近

選項1的多個在下列情況下是合適的:

  1. 1的附近A,0..1鄰近乙
  2. 0 .. 1的近,近0..1乙
  3. 0..1附近A,1近乙