一、概述
1.什么是时序图(Sequence Diagram)?
描述了对象时间传递消息的时间顺序,它用来表示用例中的行为顺序,是强调消息顺序的交互图。
2.时序图的元素
对象(object)、生命线(Lifeline)、激活(Activation)和消息(Message)
3.时序图的作用
(1)确认和丰富一个使用语境的逻辑表达。一个系统的使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。一个使用情境的逻辑可能是一个用例的一部分,或是一条控制流。
(2)细化用例的表达。我们前面已经提到,时序图的主要用途之一,就是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的时序图。
(3)有效地描述如何分配各个类的职责以及各类具有相应职责的原因。我们可以根据对象之间的交互关系来定义类的职责,各个类之间的交互关系构成一个特定的用例。
二、内容
(1)对象(object)
对象代表时序图中的对象在交互中所扮演的角色。
图符
(2)生命线(Lifeline)
生命线是一条垂直的虚线,表示时序图中的对象在一段时间内的存在。
对象与生命线结合在一起称为对象的生命线
(3)激活(Activation)
时序图可以描述对象的激活和去激活。激活代表时序图中的对象执行一项操作的时期。
激活是对象操作的执行,它表示一个对象直接地或通过从属操作完成操作的过程。它对执行的持续时间和执行与其调用者之间的控制关系进行建模。
(4)消息(Message)
消息是定义交互和协作中交互信息的类,用于对实体间的通信内容建模。消息是对两个对象之间的单路通信,从发送方到接收方的控制信息流。消息可以用在对象间传递参数。
3.几种常用的消息符号
符号 | 含义 | 符号 | 含义 |
| 绘制两个对象之间的异步消息 |
| 显示过程调用返回的消息 |
| 在两个对象之间绘制消息 |
| 绘制两个对象之间的过程调用 |
| 绘制反身消息 |
|
|
三、机房收费系统用户登录时序图
四、对象的创建和撤销
创建一个对象指的是发送者发送一个实例化消息后实例化对象的结果。
撤销对象指的是将对象销毁并回收其拥有的资源,它通常是一个明确的动作,也可以是其他的动作,约束或垃圾回收机制的结构。
五、时序图的建模技术
使用时序图建模时,可以遵循如下策略
(1)设置交互语境,这些语境可以是系统,子系统,操作,类,用例和协作的一个脚本。
(2)通过识别对象在交互中扮演的角色,根据对象的重要性,将其按从左向右的放在时序图中。
(3)设置每个对象的生命线,
(4)从引发某个交互信息开始,生命线之间按从上向下的顺序画出随后的消息。
(5)设置对象的激活期,这可以可视化实际计算发生时的时间点,可视化消息嵌套。
(6)如果需要设置时间或空间的约束,可以为每个消息附上合适的时间课空间约束。
(7)给某个控制流的每个消息附上前置或后置条件,这可以更详细地说明这个控制流。
ATM取钱过程时序图为例