当前位置:首页 > draw.io教程

绘制通信图以简化 UML 序列

drawio1年前 (2025-03-07)draw.io教程8

通信图(以前称为协作图)展示了系统中执行操作或发生事件时传递的消息及其发送顺序。作为一种简化的序列图,它们更清晰地展示了系统中不同元素之间的信息共享关系。

在 draw.io 中打开此示例

您可以利用这些图表来调试软件应用程序中的通信问题并简化流程,也可以在团队和部门协同工作的实际流程中,或者在工业环境中(例如工厂车间的机器需要与中央监控站通信)使用这些图表。

通信图还可以用于清晰地记录需要进行信息安全认证审核的流程。

为什么要同时绘制通信图和序列图?

序列图中交互顺序更容易理解,而通信图则更清晰地显示了哪些系统元素参与其中。

通信图通常是在序列图最终确定后绘制的,用于审计文档,或向领导展示,以表明系统和流程的通信要求。

如何读懂图表

通信图可以从左到右或从上到下绘制,但是,您总是从消息 1.0 开始阅读该图。

通信图中的形状

这些图表中使用的形状很简单,可以在 draw.io 的通用形状库 中找到。

执行者:是指启动序列的人或系统。

实体(矩形):表示为实现操作目标而与之交互的系统元素。这些元素通常以冒号开头:。这些矩形代表匹配序列图中的各种生命线。

消息(连接器):是一端带有箭头的连接器,用于指示消息传递的方向,并带有编号的序列步骤标签。

框架:UMLUML2.5形状库中的一个可选形状,可用于包围通信图。框架标题应包含图表类型,communication后跟操作或事件的名称。

消息序列编号

通信图中的连接器标签始终显示消息序列号,通常类似于函数调用,其中可能包含变量——即传递给接收元件的信息。因此,必须仔细编号。

当两条或多条消息同时传递给不同的实体时,它们会具有相同的数字,但会多一个字母——1.1a表示1.1b两条消息同时发送(并发激活)。例如,当某人将书归还图书馆时,用户数据库中该读者的借阅记录必须更新,同时图书馆数据库中该书的可用状态也需要相应更改。

条件或“限制”用方括号添加到消息标签中。例如,如果某人想借阅多本书,但借阅数量限制为 10 本,1.1b *[book=1...10]: CheckOut(book)则只能连续借阅一本书 10 次。

虽然UML 2.5 规范中描述了循环(*||和)的其他表示法选项,但这些选项可能会使非 UML 专家更难阅读通信图,并且最好在序列图中显示。*

在下面的示例中,您可以看到如何将借阅1到10本书的图书馆用户的复杂序列图转换为通信图。消息序列标签包含了同时发送到用户数据库和图书馆图书数据库的重复消息。

在 draw.io 中打开此示例

更多 UML 图

通信图是 UML 规范中四种交互图之一。有关其他类型的 UML 图以及如何在 draw.io 中绘制它们,请参阅UML 图概述文章。