780 слов
4 минут
二、 系统顺序图(SSD)与对象交互序列图(Sequence Diagrams)
Эта статья не переведена на текущий язык. Показывается на основном языке.
用于描述系统交互在时间维度上的动态协作过程。分析阶段使用系统顺序图(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/ru/docs/classes/system-analysis-design/06-uml-drawing-guide/02-sequence/