这种链接类型在图中意味着什么?

问题描述 投票:0回答:3

我试过用plantuml制作组件图。

我想表示两个模块之间的tcp连接,所以我正在学习如何制作组件图。

学习中发现一个链接,不知道是什么意思

(来自PlantUML网站

上面链接所示的链接类型是否适合表达tcp连接?如果不是,应该用什么类型的链接来表达两个模块之间的tcp连接?

感谢阅读我的问题!

uml diagram
3个回答
3
投票

只有中间两个是有效的 UML 连接器。它们象征着插座棒棒糖连接。您(主要)在草稿中使用它们。在更详细的视图中,您将用与信息流连接的端口和接口替换/装饰它们。但是在您的阶段,这些连接器很好。棒棒糖面表示提供的接口,套接字表示所需的接口。

注意云朵是定型元素。因此它们的含义取决于定义它们的配置文件。您应该改用通用组件元素:


1
投票

实际上,与流行的看法相反,这张图没有显示any 有效的 UML 语法。

当然,ball and socket 表示法确实存在。球体定义组件实现显示的界面和它使用界面的套接字。但是,将球连接到插座具有 no 定义的含义。

这意味着它们只是彼此靠近放置,因此它们看起来好像它们是一个符号。真的很不幸,一些建模工具实际上会显示这样的符号(请注意,plantUML not 不符合建模工具的资格)。

现在,有些人会告诉你,它是插座和球之间依赖性的简写。规范不支持这一点,但让我们暂时接受这个概念。这是什么意思?由于球是一种实现而套接字是一种用法,因此依赖关系存在于用法和实现之间!规范对此进行了定义:

在 Usage 和 matching 之间创建 wiring Dependency InterfaceRealization,或兼容的简单端口之间,意味着 可能会有一些额外的信息,例如性能 要求、传输绑定或其他确定的策略 接口以适合的方式实现 依赖组件的消耗。

就我而言,我从未为接口实现定义“性能要求或传输绑定”。但如果你有,请继续使用依赖项。

现在,有一个地方,允许使用这个符号:在复合结构图中简单端口之间。请注意,这不是接口实现或用法,而是连接器具有有趣的形状。

如果部件具有简单的端口(具有单个必需或 提供的接口),那么球窝符号可用于 表示这些端口之间的组件连接器。球窝 符号不能用于连接复杂的(即非简单的)端口 或没有端口的零件。


1
投票

这张图的重点是组件如何组合。如果你想表达一个模块提供了一个对应于某些规范的接口(例如一个服务组件使用 tcp 暴露了一个接口)而另一个模块需要这个接口(例如一个客户端组件需要通过 tcp 使用服务器接口), 那么这个套接字/棒棒糖表示法就是你所需要的:

但是如果你想解释组件实例是如何部署在物理/虚拟基础设施上的,以及组件实例是如何连接的,你最好去一张部署图。这允许显示其设备上的组件(例如服务器/云、容器、最终用户设备……),以及设备/执行环境如何“物理”连接(例如通过 tcp/ip 链接):

© www.soinside.com 2019 - 2024. All rights reserved.