时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图
我们在画时序图时会涉及下面7种元素:
- 角色(Actor)
系统角色,可以是人或者其他系统和子系统。以一个小人图标表示。 - 对象(Object)
对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:
对象名和类名。例如:华为手机:手机、loginServiceObject:LoginService;
只显示类名,不显示对象,即为一个匿名类。例如::手机、:LoginSservice。
只显示对象名,不显示类名。例如:华为手机:、loginServiceObject:。 - 生命线(LifeLine)
- 控制焦点(Activation)
控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示。 - 消息(Message)
表示对象之间发送的信息。消息分为三种类型。
同步消息(Synchronous Message)消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线和实心箭头表示。
异步消息(Asynchronous Message)消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。以一条实线和大于号表示。
返回消息(Return Message)返回消息表示从过程调用返回。以小于号和虚线表示。 - 自关联消息
表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。以一个半闭合的长方形+下方实心剪头表示。
- 组合片段
组合片段一共有13种,他们的含义分别如下:
ref:引用其他地方定义的组合片段;
alt:在一组行为中根据特定的条件选择某个交互;
opt:表示一个可选的行为;
break:提供了和编程语言中的break类拟的机制;
par:支持交互片段的并发执行;
seq:强迫交互按照特定的顺序执行;
strict:明确定义了一组交互片段的执行顺序;
neg:用来标志不应该发生的交互;
region:标志在组合片段中先于其他交互片断发生的交互;
ignore:明确定义了交互片段不应该响应的消息;
consider:明确标志了应该被处理的消息
assert:标志了在交互片段中作为事件唯一的合法继续者的操作数;
loop:说明交互片段会被重复执行
参考:时序图学习5_组合片段
绘图工具
visio
processon(免费在线网站)
Flowchart(免费在线网站)
参考博客:
程序员必备画图技能之——时序图
时序图学习5_组合片段