UML-通信图和交互概览图(通信图和顺序图的区别与联系)

  • 一、通信图简介
    • 1.消息
    • 2.链接
  • 二、通信图和[顺序图](https://blog.csdn.net/weixin_65032328/article/details/135587782)的联系与区别
  • 三、交互概览图
  • 四、顺序图转化为通信图练习

一、通信图简介

  • 通信图从另一个角度描述系统对象之间的链接,强调的是发送和接受消息的对象之间的组织结构。
  • 通信图由参与者对象链接消息构成。
  • 通信图使用长方形框表示对象,参与者使用人型符号来表示。
  • 当两个对象间有消息传递时用没有箭头的直线连接,表示这两个对象之间的链接。而两个对象间传递的消息使用带箭头的直线表示,由消息发出方指向接收方。
  • 顺序图通过激活期的垂直位置描述交互的时间顺序,但通信图是没有代表时间轴的生命线的,因此为表示发送消息的时间顺序,通信图的每个消息前都需要附加数字编号。顺序图中的消息编号可以省略,通信图不能省略。

1.消息

  • 通信图中的消息与顺序图中的消息一样,用于描述元素间的交互明细。
  • 通信图上的消息使用直线和实心箭头从消息发送者指向消息接收者。
  • 与顺序图一样,通信图上的系统元素也能发送传递给自身的消息。传递给自身的消息需要一个从对象到其本身的协作链接,以便能够调用消息。

2.链接

  • 链接是通信图特有的元素,是对象间发送消息的路径。链接以链接两个参与者的单一线条来表示。
  • 消息是对象之间传递的数据,而链接时消息传递的基础,只有有着链接的对象才可以传递消息。

二、通信图和顺序图的联系与区别

  • 通信图和顺序图在语义上是等价的,所以顺序图和通信图可以彼此转换而不会损失信息
    • 顺序图针对一个用例或子系统。
    • 通信图描述对象间的协作关系及影响,针对的是整个过程中的对象。
    • 顺序图侧重于描述对象交互序列,通常能够表达系统执行中的工作流。
    • 通信图侧重于描述系统各对象间的关系
    • 顺序图适用于描述对象间复杂的交互。
    • 通信图适用于描述多对象间的相互影响,适用于复杂的对象。
    • 通信图用于组织复杂的对象群体,通过对象群体间的协作关系,实现系统行为和功能。通信图更有利于描述给定对象间的所有影响,也更适合过程设计。
  • 通信图和顺序图的选择:
    • 如果主要针对特定交互期间的消息流,可以使用顺序图。
    • 如果集中处理交互所涉及的不同参与者与对象之间的链接,则可以使用通信图。

三、交互概览图

  • 交互概览图是活动图顺序图的混合版,其主要结构像活动图,表示一个功能的实现流程。但是参与流程的节点不是一般的动作,取而代之的是交互
  • 交互概览图是活动图的一种形式,它的节点代表交互图。交互图包含顺序图、通信图、交互概览图和时间图。大多数交互概览图标注和活动图一样。
  • 交互概览图将系统内单独的交互结合起来,并针对每个特定交互使用最合理的表示法,以显示出它们如何协同工作来实现系统的主要功能。
  • 交互概览图将活动图中的动作改为交互概览图的交互关系
  • 交互概览图的构成元素有初始状态终止状态工作流中的顺序图通信图交互以及判定决策点
  • 交互概览图将系统工作流中的每个过程使用顺序图或通信图来描述,并通过箭头和判定决策点将这些模型联系起来,构成一个完整的工作流。
  • 交互概览图与活动图一样,都是从初始节点开始,并以最终节点结束。在这两个节点之间的控制流为两者之间的所有交互。
  • 以交互概览图为用例建模时,首先必须将用例分解成单独的交互,并确定最有效表示交互的图类型。

四、顺序图转化为通信图练习

  • 下图为某零售过程的顺序图,请根据此设计结果画出对应的通信图, 用于描述各个对象两两之间的协作关系。