2019年12月4日

UML通讯图

UML通讯图

通信图是另一种可视化信息的方式,该信息通常由UML序列图表示。它们比顺序图更简单,并且仅显示在软件程序,基础结构或任何类型的过程中的对象或角色之间传递的消息。

如果在一个用例中有多个场景,则UML通信图可帮助您清楚地确定在每个特定场景中,对象/角色之间需要发送哪些消息(数据)。

在draw.io中启用UML形状库

要创建UML通信图时,请确保在draw.io中启用了UML形状库:

  • 在左侧面板中,点击更多形状
  • 向下滚动以在左侧的“软件”部分中找到UML形状库,确保选中了该复选框,然后单击“ 应用”

如果您的团队在Confluence中大量使用UML图,则可以自定义draw.io以默认显示此库

UML通信图形状

UML通信图中使用的表示法与UML序列图中使用的表示法相同,只是简单得多:

  • 对象:一个矩形用于对象(或角色)。供应商对象调用提供消息的功能,而客户对象接收消息。在每种情况下,每个对象在不同时间可能是客户或供应商。
  • 链接:实心连接器将对象连接起来,以表明不同对象之间(或自身)存在关系。
  • 消息:带有箭头的一个或多个其他连接器显示在对象及其方向之间传递的消息。

在消息标签中指示顺序

这些附加连接器上的标签应以数字开头,以指示消息的顺序。消息可以被嵌套-简单地用一个小数点1.11.1.2等,你可以清楚地看到哪些信息属于哪个函数调用。

在下面的简单示例中,通信图及其匹配序列图都在Habit Tracker应用程序中可视化了一种场景(用户交互),该示例在所有UML图博客文章中均使用。

在draw.io中打开这些图

如您在上面的通讯图中所看到的,用户界面(UI)运行并向“自身”发送消息有两个功能。此关系通过链接“循环”指示。当然,它发送给自己的消息仍会编号,因此您可以查看所有消息的发送顺序。

UML通信图仅显示消息

UML通信图显然比顺序图简单得多–它们可以帮助您专注于函数调用,不同对象和角色之间传递的数据以及基本顺序。它们不代表迭代,条件或并行操作,所有这些都可以在更复杂的序列图中实现。

在上面的示例序列图中,您可以看到一个循环,其中提取并显示了每个习惯的历史记录。这在通讯图中根本不可见。

在接下来的两个图表中,这种简化更加清晰,它们直观地显示了用户执行习惯检查时发生的事情-并行执行和两个条件都被忽略。

在draw.io中打开这些图

了解有关UML图的更多信息

UML图有14种不同类型,您可以选择对您的团队和项目最有意义的图。

通信图是交互图的一种形式,它显示了组件之间如何传递消息(数据)。其他交互图着眼于不同方面–还使用了时序图,时序图和交互概述图。

了解有关UML图的不同类型的更多信息:查看何时使用哪种类型的图以及如何使用draw.io创建它们。