引言
时序图描述了对象之间发送消息的时间顺序抑或是调用关系,它显示了多个对象之间的动态协作。
时序图一般有如下的一些元素
- 角色(Actor)
- 对象(Object)
- 生命线(Lifeline)
- 控制焦点(Focus of Control)
- 消息(Message)
- 组合片段
角色(Actor)
可以是人、机器、其他系统、子系统
对象(Object)
类或者对象
生命线(Lifeline)
从对象图标向下延伸的一条虚线,表示对象存在的时间。
控制焦点(Focus of Control)
表示时间段的符号,在这个时间段内对象将执行相应的操作, 用小矩形表示。
消息(Message)
消息一般分为同步消息(Synchronous Message),异步消息(Asynchronous Message)和返回消息(Return Message)。
消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义;
消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。
返回消息表示从过程调用返回。
组合片段
组合片段用来解决交互执行的条件和方式,它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。 主要有以下的几种:
- Alternative fragment(denoted “alt”) 与 if…then…else对应
- Option fragment (denoted “opt”) 与 Switch对应
- Parallel fragment (denoted “par”) 表示同时发生
- Loop fragment(denoted “loop”) 与 for 或者 Foreach对应