这种关系可以用UML建模吗?

时间:2013-10-30 17:26:13

标签: uml aggregation

我收到了以下用于实现的UML图:

enter image description here

从问题描述中我知道

  • 每个Foo完全属于Block。
  • 每个栏都属于Block。
  • 一个Bar可以属于none,一个或多个Foo的属于同一个Block

这是UML图表所表达的内容,如果没有, 如何在UML中表达所描述的关系?

换句话说:Foo和Bar之间的关系只能 如果两者都属于同一个块则存在。我被告知了 图中的聚合(菱形)确保这是真的。

我已经问过another question同样的问题。

3 个答案:

答案 0 :(得分:2)

你的图表没问题。为了表达条形的Foos必须位于条形块中的要求,您需要所谓的约束。在UML中,约束通常在Object Constraint Language(OCL)中制定。

你的约束可能写成这样:

context Bar
inv: self.foo -> forAll(t |  t.block = self.block)

答案 1 :(得分:1)

http://www.omg.org/spec/UML/2.5/Beta1/PDF/第194页(在文件204中),图11.5

答案 2 :(得分:0)