时序图(Sequence Diagram)又名序列图、循序图,它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
时序图包含下列元素:
1,角色(Actor)
系统角色,可以是用户或者其它子系统、系统。用小人图标表示。
2,对象(Object)
对象位于时序图的顶部,用矩形表示。对象的命名一般有3种方式:
对象名:类名
,比如:classInstance:Class
:类名
,比如::Class
对象名:
,比如:classInstance:
对象置于时序图的顶部说明对象在交互开始时就已经存在了;如果对象的位置不在顶部,表示对象是在交互的过程中被创建的
3,生命线(Lifeline)
每个对象的底部中心都有一条垂直的虚线,就是对象的生命线,它表示对象在一段生命周期内存在
4,消息(Message)
两个对象之间的单路通信,从发送方指向接收方。消息分以下类型:
同步消息(Synchronous Message),也叫调用消息:
消息的发送者把控制传递给消息的接收者,然后停止活动 ,等待消息的接受者放弃或返回控制,用来表示同步的语义
异步消息(Asynchronous Message)
消息的发送者通过消息把信号传递给接收者,然后继续活动,不等待接收者返回消息或控制。异步消息的发送者和接收者是并发工作的
返回消息(Return Message)
返回消息表示从过程调用中返回
自关联消息
表示方法调用自身以及一个对象内的一个方法调用另一个方法
激活和钝化
激活表示对象被占用以完成某项任务,钝化是指对象处于空闲状态等待消息。对象激活时将对象的生命线拓宽为矩形,矩形被称为计划条或控制期
对象的创建和销毁
对象的默认位置在图的顶部,这说明对象在开始交互之前就已经存在了;如果对象是在交互过程中被创建的,那么应该将对象放到中间部分。如果要撤销一个对象,那么应该在其生命线终止点放置“X”符号
组合片段用来解决交互执行的条件和方式,它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。组合片段共有13种,名称及含义如下: