第4章 异常流捕获:可能失败场景识别、错误状态列举、异常处理优先级

本章聚焦于用户故事向业务流程转化中的异常流捕获。在梳理正常步骤后,必须系统性地识别可能失败的场景、枚举错误状态,并按优先级编排异常处理逻辑,才能构建健壮的业务流程。本章提供完整的SOP操作指引。

核心目标:从用户故事中提取“如果…那么…否则…”的异常分支,形成可执行的异常处理矩阵,防止业务中断或数据不一致。

适用场景

  • 新业务流程设计,需要预埋异常兜底逻辑
  • 已有流程优化,排查高频失败环节并补充恢复方案
  • 需求评审阶段,检验用户故事是否覆盖边界条件
  • 自动化或半自动化流程开发,需要明确异常返回路径

前置条件

  1. 已完成正常流的步骤识别(章节2、3)
  2. 每个正常步骤的输入/输出物已定义
  3. 用户故事中已标注可能出现的“失败”关键词
  4. 已确定流程责任角色(系统/人工)

操作步骤

  1. 扫描正常流步骤:逐条检查第3章输出的步骤列表,对每个步骤提问“什么情况下该步骤会失败?”
  2. 分类失败场景:将失败原因归为三类——数据错误(格式/缺失/重复)、外部依赖超时/不可用、业务规则冲突。
  3. 枚举错误状态:为每个失败场景定义一个唯一错误码和描述(见输出物表格)。
  4. 确定异常处理优先级:按影响严重性(阻塞/恢复成本/数据安全)从高到低排序,采用 1(最高)→ 3(最低)三级。
  5. 关联恢复动作:为每个异常码指定重试、回滚、人工干预或静默忽略。
  6. 输出异常处理矩阵:汇总为结构化表格(见输出物)。

输入输出物

类型 名称 格式/内容要求 来源/去向
输入 正常流程步骤列表 步骤编号+动作+预期结果 第3章输出
输入 用户故事原文 含“如果不能/否则/失败”等关键词 产品需求文档
输出 异常处理矩阵 见下表“记录材料” 交付给流程设计/开发团队

责任边界

  • 业务分析师(BA):主导失败场景识别,确保覆盖所有用户故事边界条件。
  • 技术架构师:评估自动化恢复可行性,设定重试次数和超时阈值。
  • QA:验收异常流覆盖率,验证每个异常码有对应的测试用例。
  • PO/产品经理:确认优先级排序符合业务影响预期。

记录材料

必须维护以下文档(格式示例):

异常处理矩阵(示例片段)
+------+----------+-----------+-----------+-----------------+
| 编码 | 所属步骤 | 失败场景  | 错误状态  | 优先级 | 恢复动作  |
+------+----------+-----------+-----------+-------+----------+
| E01  | 3.2      | 用户ID为空 | ERR_EMPTY| 1     | 弹窗提示  |
| E02  | 3.4      | 支付超时   | ERR_TIMEOUT| 2    | 重试3次   |
| E03  | 4.1      | 库存不足   | ERR_STOCK | 1     | 回滚+通知 |
+------+----------+-----------+-----------+-------+----------+

异常处理

⚠ 常见陷阱:
  • 遗漏“部分成功”场景——例如流程中途中断,部分步骤已执行;需定义补偿事务。
  • 优先级与恢复动作不匹配:高优先级却用静默忽略,导致数据丢失。
  • 错误状态枚举过于粗粒度:不同失败原因共用同一错误码,无法精准路由。

若在识别过程中发现新的边界条件,应回溯更新正常流输入条件,并重新评估已有异常优先级。

验收标准

  1. 每个正常步骤至少有一个对应的异常场景(若步骤具备失败可能)。
  2. 所有错误状态均有独立编码,且与恢复动作一一对应。
  3. 异常优先级排序已由PO签字确认。
  4. 异常处理矩阵表格可在15分钟内被开发人员理解并实现。
  5. 通过至少一个用户故事的逆向测试:故意输入非法数据,流程应触发预期恢复动作而非系统崩溃。
异常流捕获流程 用户故事输入 正常流步骤 失败场景识别 错误状态枚举 异常处理优先级 异常处理矩阵输出 💡 说明:正常流步骤可分裂出多个失败场景,每个场景对应唯一错误状态。 优先级排序后,所有异常合并为矩阵输出,作为流程健壮性的核心交付物。