UML之时序图

时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

本文并非原创,仅为整理他人文献作为笔记使用
原创文献:

1. 序列图强调消息的时间顺序。

  • 纵向是时间轴,时间显示为自上而下。横向显示了交互中各个对象的角色。
  • 每个对象用方框表示,对象可以表示出对象出自的类,中间用冒号区别,冒号前面是对象名称,后面是类的名字。同时一个方框内对象加上下划线。
  • 消息表示的是一个方法的名称。从一个对象到一个对象的生命线上的箭头表示。从上到下表示消息的时间顺序。
  • UML须垒土的一个用途是显示用例的行为序列。当行为被实现时,每个序列图中的消息同对象的操作或状态机中迁移上的事件触发相一致。

2. 时序图的元素

  • 我们在画时序图时会涉及7种元素:角色(Actor)、对象(Object)、生命线(LifeLine)、控制焦点(Activation)、消息(Message)、自关联消息、组合片段。
角色(Actor)

系统角色,可以是人或者其他系统,子系统。以一个小人图标表示。

对象(Object)

对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:
1 对象名和类名。例如:华为手机:手机、loginServiceObject:LoginService。
2 只显示类名,不显示对象,即为一个匿名类。例如::手机、:LoginSservice。
3 只显示对象名,不显示类名。例如:华为手机:、loginServiceObject:。

生命线(LifeLine)

时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表。(当角色处于**的时间内是,生命线为两条双线。即控制焦点)

控制焦点(Activation)

控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示。

消息(Message)

表现代表对象之间发送的信息。消息分为三种类型。

  • 同步消息(Synchronous Message)
    消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线+大于号表示。
  • 异步消息(Asynchronous Message)
    消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。以一条实线+大于号表示。
  • 返回消息(Return Message)
    返回消息表示从过程调用返回。以小于号+虚线表示。
自关联消息

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

示例

UML之时序图
2.
UML之时序图
3.
UML之时序图