状态建模
为什么要状态建模
领域模型描述了问题域中事物及其之间的关系与量化的约束,我们需要进一步验证模型的有效性与完备性,管理这些事物的生命周期成为有效的方法 - 状态建模。在软件分析与设计中,状态图是业务逻辑合理性分析的最重要工具。是设计分析师最常用工具。它主要解决以下问题:
- 从实例的角度识别业务事件,完善、优化业务过程的细节,细化业务过程与领域模型
- 给出业务过程合理性与完备性验证
- 为程序开发提供业务规范细节
绘图注意事项
- 必须有起始状态,通常有终止和取消状态
- 状态命名要用名词短语、动词过去时或正在进行时等具有延续性的词汇
- 在需求分析过程中,尽可能不涉及动作
状态建模步骤
确定研究对象
这是最难的!系统作为一个对象?所有对象?
通常是客户关注的业务交易实体,如订单,凭证等识别状态集合
I, F, S={S0…Sk}
状态不一定是门的开或关闭这样简单属性,可能是属性复杂的组合
事物中包含的 mode 和 state 属性识别事件和变迁条件
合理性、完整性检查与逻辑分析
终点的可达性
悬挂状态
循环分析(死循环条件与风险)
路径分析(最短路径、关键路径、平均距离)