如何在UML类图中表达“返回”关系?

时间:2015-03-27 17:57:35

标签: uml

我想(在视觉上)用UML表达class Foo返回class BarBar对象是使用Foo方法之一创建的,并作为结果返回。

我不知道是否要使用依赖关系或关联关系。有什么建议吗?

修改

我应该澄清一下,我正在处理的UML图不包含任何类属性或操作。它只是作为概述显示类之间的关系。已经从源代码生成了属性和操作的描述(通过Doxygen)。

编辑2

我应该进一步澄清,我想从类图中显示这种关系。我为从一开始就不清楚而道歉。

编辑3

进一步挖掘,看一些例子,我意识到记录Foo 创建 Bar更重要。 Foo的一个方法返回Bar的事实是一个实现细节,我可以从我的类图中省略。所以现在,我的问题是:什么是展示" Foo创建Bar"的最佳方式。类图中的关系?

2 个答案:

答案 0 :(得分:2)

正如我在第三次编辑中提到的,我意识到记录Foo 创建 Bar的关系更为重要。事实上Foo的一些方法返回Bar是一个更好的细节留给了Doxygen文档(在我的情况下无论如何)。

正如其他人所提到的,Foo返回Bar的事实也可以在Foo类的操作区或行为图中表示。但在我的问题中,我只限制了自己的类图而没有列出属性和操作。

我已经做了一些挖掘,并且发现UML具有<<create>>预定义的用法依赖性构造型,将here说明为

+------------+               +------------+
|            |  <<create>>   |            |
| Datasource +-- -- -- -- -->+ Connection |
|            |               |            |
+------------+               +------------+

<<create>>刻板印象在UML 2.4.1 Superstructure specification,第704页中描述为:

  

表示客户端分类器的用法依赖项   创建供应商分类器的实例。

用法依赖(UML 2.4.1超结构,页面139)

  

一个元素需要另一个元素(或集合)的关系   要素的全面实施或运作。

此外:

  

使用依赖性未指定客户端如何使用供应商   除了供应商被定义或使用的事实   实施客户。

UML规范还具有<<instantiate>>预定义的构造型,定义为:

  

分类符之间的用法依赖性,表示对该操作的操作   客户创建供应商的实例。

<<create>><<instantiate>>刻板印象似乎有些重叠。

答案 1 :(得分:1)

方法中的返回类型在类中的方法定义中表示。大多数工具可以打开/关闭属性和方法可见性。如果类Foo在类Bar上创建或操作,则可以使用从Foo到Bar的方向关联。这听起来不像是依赖。