数据模型中的状态表与状态图详解
状态表的常见问题与相关模型
在创建状态表时,若未能正确识别所有状态,就会使模型失去价值。通过识别状态间的转换,若发现从一个状态到另一个状态的转换不合理,就能帮助找出缺失的状态。
有时,大家可能会在未仔细思考的情况下,一致认为某个状态转换是不被允许的。比如在抵押贷款申请中,当申请进入“未结清”状态时,可能大家都觉得它不能再离开这个状态。但深入探究后会发现,长时间过后,客户常常会回来想重新启动流程。在当前系统中,经纪人实际上会违反公司政策,将状态设置为开放并开始编辑原始申请。经过进一步讨论,大家仍可能认为这种转换确实不被允许,但可能会有将信息复制到新记录的需求。这样做能让经纪人避免重新输入系统已有的申请人信息,节省大量时间。新记录会包含所有原始数据和一个新的初始状态,但没有历史记录。
与状态表相关的重要模型有:
| 模型名称 | 作用 |
| — | — |
| 业务数据图(BDDs) | 用于确定在状态表中分析状态时应考虑哪些业务数据对象 |
| 状态图 | 以可视化方式展示状态转换,在转换流程很重要时更易阅读 |
| 流程流、系统流和用例 | 帮助寻找触发状态转换的事件,状态表的转换事件也可确保这些模型没有漏洞 |
| 显示 - 动作 - 响应(DAR)模型 | 将状态表中的状态作为用户界面显示和行为的可能前提条件 |
| 数据字典 | 对于状态表中表示的业务数据对象,包含指示对象状态的字段 |
| 报表表 | 当按状态查看对象的完整报表有用时,状态表可能会触发对报表表的需求 |
下面是一个创建状态表的练习场景。假设你正在帮助构建一个销售火烈鸟和其他