2013-12-19 114 views
0

我在网上看了很多。但仍然困惑,可能有人能为我澄清。uml类图关系问题

我有两个问题:

  1. CB类的一部分。如果类A需要通过类B(即B.getClassC())中的获取程序获得类C。假设AB之间没有其他关系。那么我应该在类图中画什么? A-B协会?或A-C协会?
  2. 类型的前一个反例。类B是类A(组合)的一部分。 A与类C有关联。现在B正在使用C作为参数。那么我是否需要指定BC之间的关系?和什么关系? (使用?)

理论上,问题1中A和B之间存在关系,问题2中B和C之间存在关系。但如果我在类图中指定所有这些关系,则可能会导致图更复杂。

在此先感谢。

+0

上课是非常罕见的操作。当然你的意思是别的。我们通常会获得/设定值。其次,区分类,实例,函数和属性。第三,“A类是B类的一部分”是什么意思? B是父母班吗?有一个属性的实例是A的一个实例吗? A被宣布为B中的内部类吗?纠正你的问题,它没有任何意义。 – Gangnus

+0

组合意味着类A具有由B的实例组成的属性。 – Gangnus

回答

0

我不会太在意UML中显示它的正确方式。 UML没有说明你必须在图中显示每一个关系,这会导致一团糟。

您正在谈论的'软'关系,我会离开图表,或者只是在图表中显示为依赖关系。这意味着如果有什么用C的变化,然后它会/可以对A.

enter image description here

UML的效果是有沟通的设计。它并没有说你必须展示一切。我会把这些“软”的关系排除在画面之外。构成关系(即在构造函数中形成)是您应该关注的唯一关系。如果它不是您想要展示的构图关系,请仔细考虑它是否将任何内容传达给最终用户。

+0

在如此小的图中,您必须显示所有关系,否则它们根本没有用处。 – Gangnus

+0

它取决于。我发现如果我想说明cardinality,那么我只是将这些链接放在中。uml非常灵活,更像是一个草图工具,而不是系统的绝对100%视觉表示。 –