前言

上一节,我简单地介绍了一下类图的构成以及类之间的关系。本节我将介绍时序图,时序图是指基于时间的对象之间的动态交互,描述对象之间传递信息的时间顺序

1.时序图的构成

  1.1 角色

    系统角色,可以是人、其他系统或者子系统,在UML中使用一个小人图标表示

  1.2 对象

    消息接受者或者发送者,在UML中使用方形框表示

  1.3 生命线

    时序图中对象的一段声明周期,在UML中使用一条在方形框下面的垂直虚线

  1.4 控制焦点

    表示时间线上某段时间执行的操作,在UML中使用一个很窄的矩形表示    

  1.5 消息

    1.5.1 同步消息

      消息的发送者将控制传递给消息的接受者,然后停止活动,等待消息接受者放弃或返回控制;在UML中使用一条实线和实心箭头表示

    1.5.2 异步消息

      消息的发送者将控制传递给消息接受者,然后接着自己的活动,不等待接受者返回消息;在UML中使用一条虚线+大于号表示

    1.5.3 返回消息

      表示过程调用返回,在UML中使用小于号和虚线表示

  1.6 自关联消息

    方法的自身调用或对象中的一个方法调用另外一个方法,在UML中使用一个半闭合的长方形和下方的实心箭头表示

2.时序图的示例

  2.1 用户打开微信扫描二维码支付流程

    1)输入密码(同步消息)

    2)打开手机(返回消息)

    3)打开微信扫一扫(同步消息)

    4)返回微信扫一扫页面(返回消息)

    5.1)扫描商家收款码(同步消息)

    5.2)商家生成收款二维码(自关联消息)

    5.3)返回收款二维码(返回消息)

    5.4)识别商家二维码(自关联消息)

    6)提示用户输入微信支付密码(返回消息)

    7.1)用户输入微信支付密码(同步消息)

    7.2)微信验证用户输入密码正确(自关联消息)

    7.3)向商家汇款(同步消息)

    7.4)汇款成功(返回消息)

    8)提示用户支付成功(返回消息)

  2.2 用户打开微信扫描二维码支付时序图

  

UML图之时序图_微信