我试图了解如何创建符合UML2.0的组件图,我发现不同的源提供了如何显示组件内部结构的不同方法 - 特别是,用于委派和组装连接器的线路类型。
我检查了4个不同来源:
我发现这四种资源以不同的方式绘制连接器:
对于“委派”连接器:
对于“组装”连接器:
为什么四个声誉良好的资源以不同的方式解释标准图? 有谁知道这些连接器是否标准化了?标准对此有何评价?
谢谢!
答案 0 :(得分:1)
对于委派连接符后面的表示法是正确的:
该规范没有给出关于使用箭头的可能性的明确答案。没有箭头肯定是正确的。打开箭头可能是正确的(有关详细信息,请参阅详细答案)。 没有关于"代表"刻板印象,但刻板印象可以或多或少地在所有地方使用,所以我认为它是可接受的但不是强制性的。
带有空心箭头的虚线显示任何依赖关系。当然,代表团是某种依赖,但这种表示法并不能清楚地表明授权。它也可以是不同类型的依赖关系。因此,除非您知道自己在做什么,否则不应该使用它。
对于组装连接器,以下通知是正确的:
对于实线箭头,同样的陈述与委托部分一样。
我相信在这种情况下,最好能够找到最官方的来源,即UML规范。棘手的是信息在很多地方传播。下面是我发现一些提及确认上述陈述的清单:
11.2.4
使用与Association相似的表示法绘制连接器 (见11.5.4)。
另外"连接简单端口时,连接符号正常 用于组装或授权可以显示连接到球或 套接字符号而不是端口符号本身。"
11.2.5(图11.4)
11.2.3.3
连接器有一种,其值为汇编或委托。该 委托连接器的语义只与Ports和 在港口下描述(见11.3)。所有其他连接器都是组装 连接器。
11.6.5(图11.47)(图11.48)
对于箭头的使用,规范并未明确说明连接器的箭头用法(并且示例不包含任何箭头)。但是,由于箭头表示可导航的关联结束,并且连接器没有这样的概念,我认为连接器应该没有箭头。然而,由于这没有明确禁止,并且最终导航性也可以考虑连接器至少理论上箭头的使用应该是可接受的。