交互图(Interaction Diagram)用来描述系统中的对象是如何进行相互作用的。即一组对象是如何进行消息传递的。
当交互图建模时,通常既包括对象(每个对象都扮演某一特定的角色),又包括消息(每个消息都代表对象之间的通信活动,并导致一定的动作发生)。
交互图基本知识点:(点击进入大图)
交互主要用于描述协作的动态行为方面,包括:顺序图(强调消息的事件顺序) 、 合作图(强调对象之间的交互关系)。
一、顺序图
顺序图描述按照时间的先后顺序对象之间交互动作过程。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的事件。展示了对象之间的交互,这些交互是指在场景或用例的事件流中发生的。
顺序图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。表示了对象之间传送消息的时间顺序。
浏览顺序图的方法是:从上到下查看对象间交换的消息。
举例:(以机房收费系统为例)
(1)一般用户上机
(2)操作员充值
(3)管理员结账
二、协作图
协作图强调的是发送和接收消息的对象之间的组织结构,使用协作图来说明系统的动态情况。主要描述协作对象间的交互和链接,显示对象、对象间的链接以及对象间如何发送消息。
协作图可以表示类操作的实现。
举例:和上面的顺序图一一对应
(1)一般用户上机
(2)操作员充值
(3)管理员结账
三、协作图与顺序图的区别
顺序图与协作图都表示对象之间的交互作用,只是它们的侧重点有所不同:
(1)顺序图描述了交互过程中的时间顺序,但没有明确地表达对象之间的关系;协作图描述了对象之间的关系,但时间顺序必须从顺序号获得
(2)两个图中所使用的建模元素,也各有特点。顺序图中有生命周期线和控制焦点,协作图中没有;协作图中有路径,协作图中的消息必须要有消息顺序号,顺序图中没有路径,也可以没有消息顺序号
(3)和协作图相比,顺序图在表示算法,生命周期,具有多线程特征的对象等方面相对来说更容易一些,但在表示并发控制流方面困难一些。
(4) 两种图的语义是等价的,可以从一种形式的图转换成另一种形式的图,而不丢失任何信息。但两者不能完全代替。顺序图能表示协作图不能表示的信息,协作图也同理。