2013-08-07 56 views
0

我们有两个类,即客户端和查看,这里查看有一个字段其可能的值是拥有分配。客户可以有零个或多个视图。如何在UML类图中表示关系类型取决于相关类中的字段的关系?

现在我如何可以表示它在类图如果视图存在取决于它是否拥有分配拥有创建意见,并通过客户所有,未经客户的存在,不能存在,分配意见被分配给他们,并没有任何客户端可以存在

我可以很容易地创建一个类命名视图,并且可以扩展到有两个名为OwnedViews和AssignedViews的子类,并且定义了单独的关系,而不是类型的字段,但是我想知道如何在类图中表示它,而不是使用子类。

+0

是一个视图可以由客户端所拥有,并在同一时间分配给其它客户端? – Xaelis

+1

作为一个感兴趣的问题,为什么不/你不能像你描述的那样创建两个亚型?它会使模型变得更清洁和简单。 – sfinnie

+0

“assigned”视图可以分配给任何数量的客户端@Xaelis –

回答

1
+0

谢谢,这就是我在寻找。 –

+0

注意这允许任何单个视图都拥有和分配。这可能是你想要的 - 虽然type ='assigned'但仍然拥有一个拥有者是有点反直觉的。如果你想使它互斥,你需要扩展约束:self.type = ViewType :: OWNED意味着self.owner-> notEmpty()和self.clients-> empty()。您还需要一个用于确保所有者对分配的视图为空的等效项。 – sfinnie

+0

@amitpsat不客气。如果您想复制此模型,请添加链接。 – Xaelis