我已收到以下UML图实施:这个关系可以用UML建模吗?
从问题描述我知道
- 每美孚只能属于分块。
- 每个酒吧都属于Block。
- 酒吧可以不属于同一个Block的一个或多个Foo的。
这是什么UML图表示,如果没有, 怎么能说明关系在UML表示?
换句话说:如果两者都属于同一个Block,则Foo和Bar之间的关系只能存在 。我被告知图中的 聚合(菱形)确保这是真实的。我已经问了another question关于同样的问题。
我已收到以下UML图实施:这个关系可以用UML建模吗?
从问题描述我知道
这是什么UML图表示,如果没有, 怎么能说明关系在UML表示?
换句话说:如果两者都属于同一个Block,则Foo和Bar之间的关系只能存在 。我被告知图中的 聚合(菱形)确保这是真实的。我已经问了another question关于同样的问题。
您的图表正常。为了表达要求酒吧的Foos必须位于酒吧的同一个区块中,您需要所谓的约束。在UML中,约束条件通常在Object Constraint Language(OCL)中制定。
你的约束可以这样写:
context Bar
inv: self.foo -> forAll(t | t.block = self.block)
那么这个图中的聚合与Foo和Bar之间的关系没有关系吗? OCL要求是完全不同的并且与聚合分开的东西? – bbuser
http://www.omg.org/spec/UML/2.5/Beta1/PDF/第194页(文件204),图11.5
莫非关系用组合而不是聚合来表达? – bbuser