1.什么是时序图
时序图([Sequence] Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作
画时序图时会涉及下面7种元素:
角色(Actor)
对象(Object)
生命线(LifeLine)
控制焦点(Activation)
消息(Message)
自关联消息
组合片段
1. 角色(Actor)
系统角色,可以是人或者其他系统和子系统。以一个小人图标表示。
2. 对象(Object)
对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:
对象名和类名。例如:华为手机:手机、loginServiceObject:LoginService;
只显示类名,不显示对象,即为一个匿名类。例如::手机、:LoginSservice。
只显示对象名,不显示类名。例如:华为手机:、loginServiceObject:。
3. 生命线(LifeLine)
时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表。
4. 控制焦点(Activation)
控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示。
5. 消息(Message)
表示对象之间发送的信息。消息分为三种类型。
同步消息(Synchronous Message) 消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线和实心箭头表示。
异步消息(Asynchronous Message)
消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。以一条实线和大于号表示。
返回消息(Return Message) 返回消息表示从过程调用返回。以小于号和虚线表示。
6. 自关联消息
表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。以一个半闭合的长方形+下方实心剪头表示
2.组合片段
组合片段用来解决交互执行的条件及方式。它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。
常用的组合片段:
抉择(Alt)
抉择用来指明在两个或更多的消息序列之间的互斥的选择,相当于经典的if..else..。
抉择在任何场合下只发生一个序列。 可以在每个片段中设置一个临界来指示该片段可以运行的条件。else 的临界指示其他任何临界都不为 True 时应运行的片段。如果所有临界都为 False 并且没有 else,则不执行任何片段。
选项(Opt)
包含一个可能发生或不发生的序列。
注意:
alt用于描述工作流的替代方案。将仅执行其中一个选项。
opt用于描述工作流程中的可选步骤。
例如,对于在线商店购买序列图,您可以使用opt描述用户如何根据需要添加礼品包装。 alt可用于描述两种付款方式:使用信用卡或电汇。
循环(Loop)
片段重复一定次数。 可以在临界中指示片段重复的条件。
并行(Par)
有关如何解释序列的片段
默认情况下,序列图表明可能发生的一系列消息。 在运行的系统中,可能会出现您未选择显示在关系图上的其他消息。
以下片段类型可用于更改此释义: