状态图笔记

一、状态图的核心概念

  1. 定义
    状态图(State Diagram)是UML中用于描述对象在其生命周期内状态变化的图形化工具,通过状态、事件、转换和动作等元素,展现对象的动态行为。
  2. 适用场景
    • 对象具有三个及以上潜在状态(如订单的“未支付”“已发货”“已完成”)
    • 需明确状态间的转换规则(如电梯的运行状态)
  3. 核心元素
    • 状态:圆角矩形表示(如未选课已满),分初态(实心圆)、终态(双圆环)和中间状态。
    • 转换:带箭头的实线,标注触发事件和动作(如选课操作/课程数+1
    • 事件:引起状态变化的动作(如用户点击按钮、系统超时)
    • 决策节点:菱形表示条件分支(如库存是否充足)

二、状态图绘制步骤

  1. 确定建模对象
    • 选择具有复杂状态变化的实体(如用户、订单、设备)
    • 示例:选课系统中的“学生选课状态”
  2. 识别状态与转换
    • 列出所有可能状态(如未选课选课中已满
    • 定义触发转换的事件(如选课操作删除课程
  3. 优化逻辑结构
    • 合并冗余状态:将相似状态合并(如“待审核”和“审核中”)
    • 层次化设计:使用子状态管理复杂流程(如电商订单的“物流子状态”)

三、设计技巧与注意事项

  1. 最佳实践
    • 精简状态数量:避免过度细化(如不区分“选课中1”和“选课中2”)
    • 明确转换条件:标注警戒条件和动作(如[库存>0]/生成订单
    • 标注活动与动作:在状态内描述进入/退出时的操作(如进入时检查权限
  2. 常见错误规避
    • 遗漏终态:需明确终止条件(如订单终态为“已完成”或“已取消”)
    • 循环转换未处理:确保每个转换都有明确的退出路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao--xin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值