780 字
4 分钟
二、 系统顺序图(SSD)与对象交互序列图(Sequence Diagrams)
2026-06-26
无标签

用于描述系统交互在时间维度上的动态协作过程。分析阶段使用系统顺序图(SSD),设计阶段使用对象交互序列图

1. 序列图核心元素含义说明#

  • 参与者(Actor):位于图的最左侧,发起业务请求的外部用户或系统角色。
  • 生命线(Lifeline):顶部为矩形框,格式为 对象名:类名(若省略对象名,如 :类名 则表示匿名对象)。下方延伸的垂直虚线代表对象在系统运行中的生命周期存活时间。
  • 激活期/控制焦点(Activation Bar / Focus of Control):生命线虚线上的垂直窄矩形条。代表该对象当前正在占用 CPU 时间片,执行某个操作或方法。
  • 组合碎片(Combined Fragments):带标签的框图,用于控制消息流的执行逻辑:
    • alt:条件分支(相当于代码中的 if-else)。
    • loop:循环执行(相当于代码中的 for/while 循环,框左上角需标明循环守卫条件)。
    • opt:可选执行(相当于无 else 的单分支 if)。

2. 消息线(Messages)与箭头规范#

  • 同步调用(Synchronous Call)实线 + 实心三角箭头。调用方发送消息后挂起,必须等待接收方处理完毕并返回结果。
  • 返回消息(Return Message)虚线 + 开放式箭头。代表某个同步方法执行完毕,将返回值传回给调用者。
  • 异步调用(Asynchronous Call)实线 + 开放式箭头。调用方发出消息后立即继续执行,不等待接收方响应。
  • 自调用(Self-Call):折线指向本对象的另一个激活条。代表对象内部的方法调用(如持久层类内部进行数据插入)。

3. 实战例图#

3.1 扫码租车系统顺序图(SSD)#

  • 题目背景:某共享电动车租用系统中,用户扫码开锁时,系统必须强制进行押金余额校验。如果用户信用分大于 700 分,则可选择性触发免押金骑行(免除校验)。成功开锁骑行后,若用户已开启“骑行意外险自动续保”,系统将自动完成保单生成(包含用例)。请绘制该场景的系统顺序图(SSD)。
Rendering diagram...

3.2 ATM取款交易创建序列图#

  • 题目背景:某银行自动柜员机(ATM)系统中,客户插入银行卡,选择取款功能并输入取款金额,系统验证账户后自动创建一条取款交易记录(WithdrawalTransaction),并调用数据仓库进行持久化保存。请设计并绘制该场景的详细设计对象交互序列图。
Rendering diagram...

3.3 批量结算利息任务时序图(含 Loop 循环)#

  • 题目背景:某银行核心系统需要在每月末定时触发批量结息任务。该任务将自动加载所有活跃的银行账户,循环遍历每个账户以计算应结利息与税费,并更新账户余额,最后记录结息流水。请绘制包含 Loop 组合碎片的时序图。
Rendering diagram...
二、 系统顺序图(SSD)与对象交互序列图(Sequence Diagrams)
https://blog.aquamarinez.com/docs/classes/system-analysis-design/06-uml-drawing-guide/02-sequence/
作者
Aquamarine
发布于
2026-06-26
许可协议
CC BY-NC-SA 4.0