时序图图解 一图流
图例

图解
对象
对象代表时序图中的对象在交互中所扮演的角色,如:人、系统、子系统。

时间线 / 生命线
一根向下的虚线,代表对象存活时间。

控制焦点 / 激活器
用矩形表示,表示时间段,代表在这个矩形的时间段内它对应的对象去执行相应的操作。

消息
同步消息
以一条实线和实心箭头表示。
消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。
用来表示同步的意义。

异步消息
以一条实线和大于号表示。
消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。
异步消息的接收者和发送者是并发工作的。

返回消息
以小于号和虚线表示。
返回消息表示从过程调用返回。

自关联消息
以一个半闭合的长方形+下方实心剪头表示。
表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。

片段
| 片段类型 | 名称 | 说明 |
|---|---|---|
| Opt |
选项 | 包含一个可能发生或可能不发生的序列。 可以在临界中指定序列发生的条件。 相当于: - switch…case… - if…elif…elif… |
| Alt |
抉择 | 包含一个片段列表,这些片段包含备选消息序列。 在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。 else 的临界指示其他任何临界都不为 true 时应运行的片段。 如果所有临界都为 False 并且没有 else,则不执行任何片段。 相当于: - if…elif…else… |
| Loop | 循环 | 片段重复一定次数。 可以在临界中指示片段重复的条件。 Loop 组合片段具有 min 和 max 属性,它们指示片段可以重复的最小和最大次数。 默认值是无限制。 |
| Break | 中断 | 如果执行此片段,则放弃序列的其余部分。 可以使用临界来指示发生中断的条件。 |
| Par | 并行 | 并行处理。 片段中的事件可以交错。 |
| Critical | 关键 | 用在 Par 或 Seq 片段中。 指示此片段中的消息不得与其他消息交错。 |
| Seq | 弱顺序 | 有两个或更多操作数片段。 涉及同一生命线的消息必须以片段的顺序发生。 如果消息涉及的生命线不同,来自不同片段的消息可能会并行交错。 |
| Strict | 强顺序 | 有两个或更多操作数片段。 这些片段必须按给定顺序发生。 |
图例如下
