理解UML组件图中的依赖关系

理解UML组件图中的依赖关系,uml,component-diagram,Uml,Component Diagram,我正在努力理解UML组件图 我刚刚通过了“组装连接器”,以下是我(认为我)理解的内容: 圆圈代表一个接口,我将其理解为组件可以提供给其他组件的一组功能 半圆。。。嗯,我不知道如何调用它,但它说的是“为了正确操作,我需要一些函数”。在图中,我猜订单必须能够访问返回客户详细信息的函数(例如:方法GetName(),GetAddress(),等等),这就是为什么它具有与客户提供的客户详细信息接口的程序集连接 我的问题是:为什么帐户提供的接口(AccountDetails)和订单要求的接口(Paym

我正在努力理解UML组件图

我刚刚通过了“组装连接器”,以下是我(认为我)理解的内容:

  • 圆圈代表一个接口,我将其理解为组件可以提供给其他组件的一组功能
  • 半圆。。。嗯,我不知道如何调用它,但它说的是“为了正确操作,我需要一些函数”。在图中,我猜订单必须能够访问返回客户详细信息的函数(例如:方法
    GetName()
    GetAddress()
    ,等等),这就是为什么它具有与客户提供的
    客户详细信息
    接口的程序集连接
我的问题是:为什么帐户提供的接口(
AccountDetails
)和订单要求的接口(
Payment
)之间存在依赖关系箭头

这并不能解释

装配连接器(顶部显示两个)是一种临时概念。您知道应该使用一个接口来代替,但尚未编写详细信息。这是一个看起来像插座/棒棒糖的连接器。但它是一个连接器

单独的棒棒糖/插座是具体的接口用途。这些都是真实的元素。界面本身并没有实际显示(您将有一个单独的图表显示细节)。但是为了明确dependent接口与提供接口相关,您需要绘制一个依赖项


简单地说,以上是设计阶段的中间部分。最后,所有组件都应替换为提供的/必需的接口。

仍然感到困惑。既然
订单
似乎需要两者,为什么人们需要在
账户
订单
之间建立依赖关系,而不是在
客户
订单
之间建立依赖关系呢?这是有道理的,但你确定这种依赖关系存在仅仅是因为这个图像是一个不完整的原型吗?@Daniel look the norm(),第210页顶部的第二个§和第213页末尾解释的第214页图11.46是的,我确定。正如布鲁诺指出的,您可以查看UML规范。该标准有几个缺陷(幸运的是没有太多)。因此,我认为让装配连接器看起来像插座/棒棒糖对是不吉利的。这只会导致混乱,但目前是这样。