序列图又叫顺序图,是交互图的一种,交互图包括顺序图和合作图。那么什么是交互图呢?
Ø 交互图
u 定义
交互图是用来描述系统中的对象是如何进行相互作用的。即一组对象是如何进行消息传递的。
交互主要用于描述协作的动态行为方面。
当对交互进行建模时,通常既包括对象(每一个对象都扮演某一特定的角色),又包括消息(每个消息都代表对象之间的通信活动,并导致一定的顺序发生)
u 分类
² 描述方式
——强调消息的时间顺序
——强调发送和接受消息的对象的结构组织
² 两类
顺序图:强调消息的事件顺序。
合作图:强调对象之间的交互关系。
下面先来介绍序列图也就是顺序图
Ø 什么是时序图(顺序图)?
时序图也是顺序图(SequenceDiagram),亦称为序列图或循序图,是一种UML行为图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。
u (时序图)顺序图的构成
——对象
——消息:对象之间的通信,可以是信号或者操作调用。
——生命线(激活):表示在某段时间内对象是存在的。
² 对象
1.序列图中的对象可以是系统的参与者或者任何有效的系统对象。
2.对象的表示形式也和对象图中的对象的表示方式一样,使用包围名称的矩形框来标记,所显示的对象及其类的 名称带有下划线,二者用冒号隔开,使用“对象名:类名”的形式,对象的下部有一条被成为“生命线”的垂直虚线。
举例:
² 消息
1.消息(Messages)是从一个对象(发送者)向另一个或几个其他对象(接收者)发送信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作。
2.它可以有不同的实现方式,比如过程调用、活动线程间的内部通讯、事件的发生等。
举例
² 生命线(激活)
l 生命线
生命线(Lifeline)是一条垂直的虚线,用来表示序列图中的对象在一段时间内的存在。
每个对象的底部中心的位置都带有生命线。生命线是一个时间线,从序列图的顶部一直延伸到底部,所用时间取决于交互持续的时间,也就是说生命线表现了对象存在的时段。
举例
l 激活
1.激活(Activation)是对象操作的执行,它表示一个对象直接地或通过从属操作完成操作的过程。
2.它对执行的持续时间和执行与其调用者之间的控制关系进行建模。
3.激活在序列图中用一个细长的矩形框表示。
举例
² 消息的形式
——Call
——Return
——Send
——Create
——Destroy
² 消息的分类
a)简单消息:表示简单的控制流。
b)同步消息:表示嵌套的控制流。
c)异步消息:表示异步控制流。
同步:直接等待一件事情的发生,并且等待这件事情的消息返回
异步:可以同时进行不同的事情,可以接受不同的消息的返回
可以将一个简单消息和一个同步消息合并成为一个消息。
符号表示:
² 举例
Ø 序列图举例
Ø 合作图
合作图强调对象之间的交互关系。
Ø 两者画图比较
两者的区别与联系
联系:两者都是交互图,语义上是等价的,并且可以相互转化。
不同点:
1、时序图强调的是时间,而合作图强调的是空间。
2、顺序图是强调消息时间顺序,有对象生命线和控制焦点。
协作图是强调接收和发送消息的对象的结构组织,有路径和顺序号。
3、协作图(collaborationdiagram)用数字表示之间的交互关系,及交互的顺序。
顺序图:先发生的事件在上面,进而知道其过程
4、一般情况下选择顺序图,