图例

图解

对象

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

时间线 / 生命线

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

控制焦点 / 激活器

用矩形表示,表示时间段,代表在这个矩形的时间段内它对应的对象去执行相应的操作。

消息

同步消息

以一条实线和实心箭头表示。

消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。

用来表示同步的意义。

异步消息

以一条实线和大于号表示。

消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。

异步消息的接收者和发送者是并发工作的。

返回消息

以小于号和虚线表示。

返回消息表示从过程调用返回。

自关联消息

以一个半闭合的长方形+下方实心剪头表示。

表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。

片段

片段类型 名称 说明
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 强顺序 有两个或更多操作数片段。 这些片段必须按给定顺序发生。

图例如下