UML-通信图|协作图

概述

通信图(Communication Diagram),描述了对象与对象之间的协作/合作关系,侧重说明对象的消息传递,强调发送和接收消息的对象之间的结构组织。早期的UML 1.0版本,也叫协作图(Collaboration Diagram),现不再使用协作图称呼。统一使用通信图。

序列图和通信图是同构的,构成基本相同。它们之间可以互相转换。通信图强调参加交互的对象的组织。

建议先阅读序列图文章:UML-序列图|时序图|顺序图(生命线,会话,消息,组合框)

构成

通信图由三部分组成:对象(Object),链(Link) 和消息(Message)。

对象

对象,指与业务、产品或系统相关的人、事、物,可以是人、部门、系统等。

通常用矩形表示,对象名写在矩形内,一般格式为:对象名:类名。冒号和类名是必需的,对象名是可选的。实践中,不需要具体到实例,对象名可以不写。

通信图中的对象与顺序图中的对象一样,使用人形图案或矩形来表示。

在通信图中,链由一个或多个相连的线(直线或弧线)形成,链的两端是消息发送者和消息接收者,并且消息发送者与消息接收者可以是一样的。

对象之间的箭头方向表明对象之间交换的信息流,一个对象发出消息,箭头指向对象接收消息。链用于实现消息的传输。

与类的关系不同,通信图中的链是临时关联,只在本次交互中存在,而类图中的关联是永久的。

消息

消息,表示对象之间发送的信息或做的事情。消息分为三种:同步消息、异步消息、返回消息。如果从产品层面,并不需要规定技术的实现方式,可以不考虑同步与异步消息。所以也可简单分为简单消息与返回消息。

消息的表示与序列图相同。

1)同步消息

同步消息也称调用消息,即发送消息是通过顺序执行的方式调用目标函数。用实心三角箭头实线指向下级对象。

2)异步消息

即发送消息是通过异步执行的方式调用目标函数。用箭头实线指向下级对象。

 

简单消息,用箭头实线,表示一个对象向另一个对象发送信息,或做的事情。它不强调消息的类型,只表示交互,足以满足大部分情况。

3)返回消息

返回消息,用箭头虚线,表示一个对象收到另一个对象的信息后再向其返回的信息。

消息线上方的文字,则是注明传递的消息或执行的动作。

通信图与顺序图转换

序列图图示:

通信图图示:

 

通信图与顺序图差异

3.1 相同点

  1. 具备相似的责任主体
  2. 都是通过消息驱动
  3. 具有顺序性

3.2 不同点

  1. 通信图中,对象无法创建和撤销,位置没有限制。
  2. 协作图展示对象间的关系使得更适用于获得对象结构的理解,顺序图则更适合获取调用过程的理解。
  3. 顺序图强调的是时间顺序,通信图强调的是空间的顺序。

参考文献

https://zhuanlan.zhihu.com/p/77813139

http://tool.uml.com.cn/ToolsEA/communication-diagram.asp

作者:Miracle
来源:麦瑞克博客
链接:https://www.unitymake.com/archives/programming-life/2793
本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议,转载请注明!
THE END
分享
打赏
海报
UML-通信图|协作图
概述 通信图(Communication Diagram),描述了对象与对象之间的协作/合作关系,侧重说明对象的消息传递,强调发送和接收消息的对象之间的结构组织。早期的UML 1……
<<上一篇
下一篇>>
文章目录
关闭
目 录