一、定义
序列图是对对象之间传送消息的时间顺序的可视化表示。序列图的主要用途是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。同时序列图更有效地描述如何分配各个类的职责以及各类具有相应职责的原因。
描述了对象之间传递消息的时间顺序,它用来表示用例的行为顺序,是强调时间顺序的交互图。
二、结构
序列图是由对象(object)、生命线(lifeline)、激活(activation)、消息(message)元素构成。
2.1、对象
对象就是指类的实例,具有特定的属性和操作。在交互图,属性展示了对象的信息和状态,操作展示了对象的行为和功能。
2.2、生命线
生命线(Lifeline)是一条垂直的虚线,表示对象存在的时间。生命线从对象创建开始到对象销毁时终止。
对象在生命线上有两种状态:休眠、激活。
2.3、激活
序列图可以描述对象的激活(Activation),激活是对象操作的执行,它表示一个对象直接或通过从属操作完成操作的过程。
在UML图中通过一个窄长的矩形来表示,矩形的高度表示对象存在的过程。
2.4消息
消息(Messages)是对象间的一种通信机制。由发送对象向另一个或其他几个接收对象发送信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作。
消息从源对象指向目标对象。消息一旦发送便将从源对象转移到目标对象。
消息的类型与符号
序列图中,消息的阅读顺序是严格自上而下的。
三、示例
四、如何画图
1)新建一个序列图
方法1:
方法2:右击某个用例,如下图所示
这种便于将用例图与时序图衔接起来
2)重命名并双击该时序图
3)添加对象
方法1:利用已经存在(创建)的类
a.从浏览器中将类(事先已创建)拖到时序图中
b. 双击该对象以设置对象的名称
方法2:新建对象,然后给该对象指定一个类
a.通过工具栏的对象按纽在时序图中添加一个对象
b.双击对象,给该对象指定一个类或新建一个类
4)添加消息
1、添加简单消息
a.使用此按纽在两个对象之间拖动
b.双击消息,在弹出的窗口中设置消息的名称
2、添加同步消息
方法:双击简单消息,在弹出的对话框选择“detail”选项卡,选中”procedure a call”
3、添加异步消息
方法:双击简单消息,在弹出的对话框选择“detail”选项卡,选中”Asynchronous”
4、删除对象
方法1:在”edit”菜单中选择“Delete from Model”
方法2:ctrl+D
5、时序图中的常用设置
以嵌套的形式显示消息的序号
取消或隐藏消息的编号
显示或隐藏激活条
(1)以嵌套的形式显示消息的序号
选择菜单【 Tools->Options 】,弹出以下对话框,选择 Diagram选项卡,选中Hierarchical Message
(2)取消或隐藏消息的编号
选择菜单【 Tools->Options 】,弹出以下对话框,选择 Diagram选项卡,选中或取消Sequence numbering
(3)显示或隐藏激活条
选择菜单【 Tools->Options 】,弹出以下对话框,选择 Diagram选项卡,选中或取消Focus of control