引言
通信图(在UML 1.x中也称为协作图)是一种交互图,强调对象之间的关系以及它们交换的消息。与顺序图相比,这些图提供了更灵活的交互视图,特别有助于理解系统中不同交互之间的控制流。本文将深入探讨通信图的关键概念,重点介绍它们如何建模模型-视图-控制器(MVC)模式,并对一个通信图示例进行详细解读。
通信图的关键概念
对象与链接
- 对象:用矩形表示,通信图中的对象是类或接口的实例。它们是参与交互的主要实体。
- 链接:连接对象的线条,表示它们之间的关联或其他关系。链接可以是简单的关联、聚合或组合。
消息
- 消息:对象之间的箭头,表示它们之间的通信。消息可以是同步的(实线箭头)或异步的(虚线箭头)。
- 消息类型:
- 同步消息:表示调用方法,调用者会等待被调用者完成操作。
- 异步消息:表示信号或事件,调用者不会等待被调用者完成操作。
序列号
- 序列号:消息旁边的数字,表示消息发送的顺序。这些数字有助于理解交互的顺序。
建模MVC模式
模型-视图-控制器(MVC)模式是一种用于开发用户界面的设计模式,它将相关程序逻辑划分为三个相互关联的元素。这种分离通过划分职责,有助于管理复杂的应用程序:
- 模型:管理应用程序的数据、逻辑和规则。
- 视图:表示用户界面元素,如文本框、下拉列表等。
- 控制器:作为模型和视图之间的中介,处理所有业务逻辑和传入的请求,使用模型操作数据,并与视图交互以显示输出。
解读通信图

让我们分析所提供的通信图,该图描述了用于安排检查的MVC模式:
参与者和对象
- 检查员:发起检查安排流程的用户。
- 检查员助理:另一位审查检查详情的用户。
- 检查表单:允许用户输入检查详情的用户界面组件。
- 检查列表:显示检查列表的用户界面组件。
- 安全检查控制器:负责管理检查流程的控制器。
- 安全检查:表示检查数据的模型。
链接和消息
- 检查员选择一项检查(消息1):
- 检查员从
检查列表. - 此操作会触发一条消息,弹出
检查表单(消息2)。
- 检查员从
- 检查表单加载检查信息(消息3和8):
- 该
检查表单向安全检查控制器发送消息以加载所选检查(消息3)。 - 该
安全检查控制器从安全检查模型(消息4) - 该
安全检查控制器然后将检查详情发送回检查表单(消息8)
- 该
- 检查员指定检查日期(消息5、6和7):
- 如果检查未过期,检查员指定检查日期(消息5)
- 如果检查已过期,检查员指定过期的检查日期(消息6)
- 检查员点击
检查表单上的保存按钮(消息7)
- 检查表单保存检查信息(消息9至14):
- 该
检查表单向安全检查控制器发送消息以保存检查详情(消息9) - 该
安全检查控制器更新安全检查模型的最新详情(消息10至14)
- 该
- 检查员助理审核检查详情(消息15至18):
- 该
检验助理审查检验详情(消息15)。 - 该
检验助理从检验列表(消息16)。 - 该
检验助理点击检验表单(消息17)。 - 该
检验表单向安全检验控制器发送消息以保存检验详情(消息18)。 - 该
安全检验控制器从安全检验模型中获取检验详情(消息19)。 - 该
安全检验控制器将检验详情返回给检验表单(消息20)。 - 该
检查员助理审查更新后的检查详情(消息 21)。
- 该
序列号
- 序列号:消息旁边的数字表示消息发送的顺序。例如,消息 1 是第一个发送的消息,消息 21 是最后一个发送的消息。
通信图的重要性
通信图在软件开发过程中具有重要作用,原因如下:
- 系统设计:它们通过展示对象之间的交互顺序,有助于可视化系统的动态行为。
- 沟通:它们作为视觉辅助工具,帮助利益相关者在不深入技术细节的情况下理解系统的行为。
- 需求分析:它们通过展示对象之间的交互,有助于识别和记录系统的需求。
- 测试:它们为创建测试用例提供了基础,以验证系统是否满足指定的需求。
结论
通信图是软件工程中用于可视化系统动态行为的强大工具。通过展示对象之间交互的顺序,这些图表促进了更好的沟通、需求分析和系统设计。MVC 模式示例展示了通信图如何有效捕捉系统内部的关键交互,确保对系统行为有全面的理解。无论您是初学者还是经验丰富的开发人员,通信图都提供了设计和文档化复杂系统所需的各种工具和洞察。
参考文献
Visual Paradigm
- 什么是通信图?
- 什么是通信图?——Visual Paradigm 22
- 本文介绍了 UML 中通信图的基本知识,包括其结构和组成部分。同时提供了使用 Visual Paradigm 创建这些图表的见解。
- 如何绘制通信图?
- 如何绘制通信图?——Visual Paradigm 23
- 一份使用 Visual Paradigm 绘制通信图的逐步指南,包括使用组合片段和自消息的技巧。
- 通信图——UML 2 图表
- 通信图——UML 2 图表——Visual Paradigm 24
- 本文解释了如何使用通信图来建模用例的动态行为,重点在于对象之间的协作,而非时间顺序。
Cybermedian
- 通信图 – UML 2 教程
- 通信图 – UML 2 教程 – Sparx Systems 25
- 本教程概述了通信图、其组成部分,以及它们如何用于建模系统的动态行为。
- UML 图:全面指南
- UML 图:全面指南 – Cybermedian 26
- 关于各种 UML 图的全面指南,包括通信图,以及它们在软件工程中的重要性。
- 通信图 – 统一建模语言(UML)
- 通信图 – 统一建模语言(UML) – GeeksforGeeks 27
- 本文详细介绍了 UML 通信图的关键概念及其在可视化系统中对象或组件之间交互方面的应用。
ArchiMetric
- 什么是序列图 – ArchiMetric
- 什么是序列图 – ArchiMetric 28
- 本文解释了序列图是什么,以及如何使用 Visual Paradigm 来建模系统的动态行为。
- Visual Paradigm 中的 UML 图简介
- Visual Paradigm 中的 UML 图简介 – ArchiMetric 29
- 介绍 Visual Paradigm 支持的各种 UML 图,包括通信图及其在建模系统交互中的作用。
- 探索 UML:14 种图类型的概述及其在敏捷环境中的相关性
- 探索 UML:14 种图类型的概述及其在敏捷环境中的相关性 – ArchiMetric 30
- 本概述讨论了各种 UML 图,包括通信图,以及它们在敏捷软件开发环境中的相关性。
这些参考资料提供了对通信图和 UML 的全面理解,以及使用 Visual Paradigm 创建这些图的实用指南。












