第五章:交互图
概述
- 动态模型用来描述系统的动态行为,分为状态模型和交互模型。
- 交互图描述对象间的动态合作关系及合作过程中的行为次序。常用来描述一个用例的行为,显示该用例中所涉及的对象及它们间的消息传递情况。
- 交互图有序列图和协作图两种形式。
序列图主要用来描述对象之间信息交换时的时间顺序.
协作图则用来描述系统对象之间如何协作共同完成系统功能的要求。 - 它们在语义上是等价的。这意味着序列图和协同图内部包含的信息是相同的。因此两图可以互相推导,可通过工具互相自动转换
- 交互图可以为软件系统的下列构成的对象的动态行为进行建模:类、接口、部件、节点
序列图
概述
- 定义:序列图是交互图的一种,它强调的是消息发送的时间的先后顺序
组成
(1)对象:序列图中所包含的每个对象用一个对象框(短式)表示,对象名需带下划线。
(2)生存线:对象框下画的一条垂直虚线,称为该对象的生存线,表示对象的生存时间。
(3)激活期:对象生存线上的一个细长方形框,表示该对象的激活时间段,即活动期间。
(4)消息:对象之间消息的发送和接收用两个 对象生存线(激活期)之间的消息箭头线。
协作图
概述
定义:协作图是交互图的另一种表现形式,它在语义上和交互图是等价的
① 从用例中识别交互过程;
② 识别参与交互过程的对象;
③ 确定对象之间的链,以及链上的消息;
④ 从引发交互的初始消息开始,将随后每个消息附在相应的链上;
⑤ 如果需要,可以给消息增加时间约束,以及前置条件和后置条件。
对比
- 协作图VS序列图
- 序列图和协作图都属于交互图,用来描述对象之间的动态关系。
- 序列图和协作图在语义上是等价的,两者可以相互转换。
- 与序列图相比,通过编 来看消息的执行顺序比较困难,但协作图中对象间灵活的空间布局可以更方便地展示动态连接关系等有用信息。
- 序列图强调消息的时间顺序,协作图强调参与交互的对象的组织关系。
- 当行为比较简单时,交互图比较好;当行为比较复杂时,则应使用活动图。
- 如果想描述跨越多个用例的单个对象的行为,应当使用状态图。如果想描述跨越多个用例或多个线程的复杂行为,则应使用活动图。
变化
- 在UML2.0中,通信图实际上是以前版本的协作图
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!