
状态迁移
事件 + 条件 + 动作三段式标注
起止节点
UML 规范起止符号
组合状态
嵌套子状态表达复杂逻辑
高清导出
答辩投影清晰
产品能力
状态与迁移
圆角矩形表状态,箭头表迁移,事件和条件写在箭头上。
起止节点
实心圆起始、牛眼结束,符合 UML 画法。
组合状态
支持嵌套子状态表达复杂逻辑。

使用步骤
- 1
列出对象的状态集合
- 2
按事件连接状态迁移
- 3
标注迁移条件后导出
详细介绍
状态图的适用对象
状态图描述一个对象在其生命周期内的状态变化:有哪些状态、什么事件触发迁移、迁移需要什么条件。它适合状态复杂的业务对象,比如订单(待支付/已支付/已发货/已完成/已取消)、审批单、设备控制器。如果对象只有两三个状态,用文字说明就够了,不必画图。

状态、事件与迁移
状态用圆角矩形表示,迁移用箭头连接,箭头上的标注格式为「事件 [守卫条件] / 动作」,比如「支付成功 [金额校验通过] / 生成发货单」。起始状态用实心圆,终止状态用牛眼符号。每个状态至少有一条进一条出(终止状态除外),不要出现孤立状态。

组合状态与实践建议
复杂对象可以拆出子状态:比如「已下单」可以包含「待付款」「待发货」两个子状态,用组合状态框包起来。画图时先列出状态清单和事件清单,再画迁移,最后检查可达性——从初始状态出发能不能走到每个状态、能不能到达终止状态。

适用场景
交稿前核对清单
按这份清单过一遍,能挡掉答辩时最常见的格式扣分点。
- 状态清单是否完整无遗漏
- 迁移标注是否为三段式格式
- 每个状态是否都有进有出
- 从初始状态是否可达每个状态
- 守卫条件是否互斥且完备
- 孤立状态是否已清除
相关工具
同一类图一起用,论文里的图就齐了。
常见问题
什么对象需要画状态图?
状态复杂、迁移规则多的业务对象才值得画,比如订单(5+ 个状态)、审批单、设备控制器。只有两三个状态的对象用文字说明即可。
迁移标注的格式是什么?
「事件 [守卫条件] / 动作」三段式,比如「支付成功 [金额校验通过] / 生成发货单」。事件必填,条件和动作可选。
一个状态可以有多个出口吗?
可以。同一事件在不同条件下走向不同状态时,一个状态引出多条迁移箭头,每条标注各自的守卫条件,条件互斥且完备。
组合状态怎么画?
用大圆角矩形表示组合状态,内部画子状态和它们之间的迁移。比如「已下单」包含「待付款」「待发货」两个子状态,对外表现为一个整体状态。
状态图和活动图怎么区分?
状态图从对象视角画「它经历了什么状态」,活动图从业务流程视角画「活动怎么流转」。订单状态用状态图,下单流程用活动图。
画完怎么自查?
检查三件事:从初始状态能到达每个状态、每个状态(除终止)有出边、不存在孤立状态。再对照需求文档核对状态是否齐全。
免费开始使用 状态图
图表交给工具,时间还给论文。
免费开始