状态表的使用与创建指南
1. 状态表模板
状态表以网格形式呈现,顶行列出所有状态,首列重复这些状态。网格中每个单元格的值表示从该行的初始状态到该列的目标状态是否存在有效的转换。首列的状态集标记为“初始状态”,顶行的状态集标记为“目标状态”,以展示转换流程的顺序。阅读状态表时,从首列的初始状态开始,找到期望的最终状态,然后确定交叉单元格的值。
例如,在模板中,标记为“状态 C”的行中包含“是”的两个单元格表示从状态 C 到状态 B 和从状态 C 到状态 D 的转换都是允许的。
如果状态有明显的顺序,可按其在解决方案中出现的顺序(从上到下、从左到右)在表中列出。如果状态根据用户操作可能以不同顺序出现,则需自行判断最易理解的顺序。
每个单元格可以简单地用“是”表示转换有效,用“否”表示转换无效。也可以用引发转换的事件或允许转换发生的条件代替“是”。如果需要关于转换的额外要求信息,或者状态转换事件难以描述,或者多个事件导致相同的转换,则可以用唯一的 ID(如 REQ001、REQ002 等)代替“是”,相关要求会在表外进一步详细说明。通常,状态表可在 Microsoft Excel 等工具中创建。
2. 示例
以贷款申请系统的状态表为例,每个贷款申请从“预合格”状态开始。如果输入房产地址,申请可进入“已提交”状态;如果申请立即被拒绝,则进入“未结清”状态。在“审核中”状态下,如果申请被拒绝,会进入“未结清”状态;否则进入“待结清”状态。
从该状态表可以提出一些问题,如“未结清的贷款申请是否有情况可以重新开启到其他状态?”还可能发现有趣的转换,例如申请人得分足够高时,申请可通过简化审核流程进入“待结清”状态