我可以在组件图上使用定向命名关联来显示“sys A”将数据发送到“sys B”的事实吗?
例:
答案 0 :(得分:1)
不,您应该使用通用依赖,而不是使用可选标题。
然而,在这方面,标题并不常见。更好地使用其他一些图表(例如序列)来显示通信细节(例如,打开连接,发送数据,关闭连接等)。
如果这些系统之间有明确定义的接口,您可以这样指示:
在两个类之间使用
关联来表明它们的实例可能已连接(同样,不是用于数据流指示)。
答案 1 :(得分:0)
在UML 2.0中,关联背后的概念含糊不清,请阅读本文:http://www.uml-diagrams.org/uml-core.html(搜索"语义关系")。关联表示"语义关系"在两个组件之间,我认为它不适合数据流。 我认为即使是依赖也不适合数据流:也许客户依赖于供应商,也许情况恰恰相反......所以箭头可能非常混乱。 棒棒糖符号是最好的,恕我直言:它清楚地表明有一个组件提供一个接口,另一个需要它。您可以在界面上使用构造型来显示通信/数据传输的类型,并使用标签来明确传输的数据。 这本书"记录软件架构"采用另一种风格,使用普遍的关联:见第145页。它与您的初始提案类似,但具有明确的角色且没有箭头。我认为这不是一个非常令人满意的解决方案,没有刻板印象......
答案 2 :(得分:-1)
如果sys A
向sys B
发送信息,而您对传输的确切方式不感兴趣,那么这就是信息流连接器的经典应用。
在这种情况下,依赖性会说sys A
需要(依赖于)sys B
。信息流通常(但并非总是)与依赖关系相反,因为它通常是接收者需要发送者。
显示这些类型的关系有许多不同的方式,最好的方式取决于具体情况。如果您的重点是传输的类型的信息,那么信息流是最合适的。如果您的重点是传输方式,那么使用Interface(可能是Assembly)的东西会更好。
EA实际上允许您在装配体上指定信息流,因此您甚至可以将两者结合起来。这完全取决于你想要表达的内容。