一文学会UML时序图

工欲善其事必先利其器, UML作为常用的建模工具, 熟悉它的正确使用有助于系统设计效率的提升和降低团队的沟通成本. UML包含的类型很多, 有类图, 用例图, 活动图以及时序图等, 本文将介绍常用但相对复杂的时序图的使用.

简介

时序图描述的是组件间的交互过程, 通过生命线, 消息和箭头等元素来表示控制流的转移.
时序图中包含很多的元素, 下面将以一个示例展开, 说明时序图的基本组成部分, 并在元素说明中详细展开.

示例

模拟一个简单的结算业务, 包含以下几个流程:

  1. 用户向结算服务发起结算
  2. 结算服务通过库存系统进行库存检验
  3. 如果库存校验失败, 则向用户返回结算失败
  4. 如果库存检验成功, 则扣库存, 创建订单,然后返回用户新创建的订单

对应时序图如下:

image

红色部分为说明

元素说明

消息 Message

消息表示组件间的交互, 包括调用, 通知等, 具体有以下几类.

消息类型 表示
同步消息 实心箭头实线
异步消息 空心箭头实线
返回消息 空心箭头虚线

组合片段 Combined Fragment

组合片段包含了一个或多个操作, 有循环, 判断等类型, 具体如下:

类型 含义
alt alternative, 包含多个可执行逻辑, 但是只有一个状态值满足条件的逻辑会被执行
opt optional, 条件满足时执行
par parallel, 并发执行
loop loop, 循环执行
ref reference: 引用其他逻辑

总结

本文通过加注释的示例图展示了UML时序图的基本组成元素和效果, 并在元素说明部分对消息和组合片段进行详细的描述, 基本覆盖了日常工作中的使用. 但需注意的是, 元素说明部分中消息和组合片段的类型并不完整, 如有其它类型需求, 需自行查找资料.

参考

  • UML 2.5.1 specification
  • UML Sequence Diagrams
  • Sequence diagrams
  • Sequence Diagram

你可能感兴趣的:(一文学会UML时序图)