UML组件图命名为关联以显示组件之间的依赖关系

时间:2014-05-28 08:08:54

标签: uml associations component-diagram

我可以在组件图上使用定向命名关联来显示“sys A”将数据发送到“sys B”的事实吗?

例:
diagram

3 个答案:

答案 0 :(得分:1)

不,您应该使用通用依赖,而不是使用可选标题。

enter image description here

然而,在这方面,标题并不常见。更好地使用其他一些图表(例如序列)来显示通信细节(例如,打开连接,发送数据,关闭连接等)。

如果这些系统之间有明确定义的接口,您可以这样指示:

enter image description here

在两个类之间使用

关联来表明它们的实例可能已连接(同样,不是用于数据流指示)。

答案 1 :(得分:0)

在UML 2.0中,关联背后的概念含糊不清,请阅读本文:http://www.uml-diagrams.org/uml-core.html(搜索"语义关系")。关联表示"语义关系"在两个组件之间,我认为它不适合数据流。 我认为即使是依赖也不适合数据流:也许客户依赖于供应商,也许情况恰恰相反......所以箭头可能非常混乱。 棒棒糖符号是最好的,恕我直言:它清楚地表明有一个组件提供一个接口,另一个需要它。您可以在界面上使用构造型来显示通信/数据传输的类型,并使用标签来明确传输的数据。 这本书"记录软件架构"采用另一种风格,使用普遍的关联:见第145页。它与您的初始提案类似,但具有明确的角色且没有箭头。我认为这不是一个非常令人满意的解决方案,没有刻板印象......

答案 2 :(得分:-1)

如果sys Asys B发送信息,而您对传输的确切方式不感兴趣,那么这就是信息流连接器的经典应用。

在这种情况下,依赖性会说sys A 需要(依赖于)sys B。信息流通常(但并非总是)与依赖关系相反,因为它通常是接收者需要发送者。

显示这些类型的关系有许多不同的方式,最好的方式取决于具体情况。如果您的重点是传输的类型的信息,那么信息流是最合适的。如果您的重点是传输方式,那么使用Interface(可能是Assembly)的东西会更好。

EA实际上允许您在装配体上指定信息流,因此您甚至可以将两者结合起来。这完全取决于你想要表达的内容。

enter image description here