第四章 功能逻辑评审节点:流程正确性、边界条件、异常分支、状态机覆盖
4.1 适用场景
本节点适用于所有包含逻辑判断、数据流转、多状态切换或用户交互流程的PRD评审。典型场景包括但不限于:
- 涉及业务审批流转(如订单、工单、审批链)的功能模块
- 输入参数存在取值范围、类型限制或组合约束的接口设计
- 需要处理超时、重试、幂等、并发等非功能逻辑的场景
- 存在有限状态且状态间存在切换条件的领域实体(如订单状态、任务状态)
- 用户操作路径存在多分支倒回或异常退出路径的交互流程
🔍 识别标志: 当PRD中出现“如果……则……否则……”或“当状态为X时可执行Y操作”这类描述时,必须进入功能逻辑评审节点。
4.2 前置条件
- PRD已通过需求合理性评审(第3章),需求无歧义且验收标准初版已锁定。
- 产品经理已提供流程图(泳道图/流程图)和状态机图(如有),或至少给出文本化的分支逻辑描述。
- 参与评审的开发、测试、QA已提前24h收到PRD及相关附件,并完成个人预审。
- 评审环境(共享屏幕、会议工具、白板/绘图工具)已就绪,可现场绘制或修改逻辑图。
4.3 操作步骤
功能逻辑评审分为四个阶段,按固定流程推进:
| 阶段 | 步骤 | 负责人 | 注意事项 |
|---|---|---|---|
| Step 1:流程正确性检查 |
|
产品经理(讲解)+ 架构师(交叉验证) | 使用不同颜色标记已走读路径 |
| Step 2:边界条件覆盖 |
|
测试负责人 | 建议使用边界值分析表现场记录 |
| Step 3:异常分支穷举 |
|
测试 + 开发(PM确认异常文案) | 异常处理需输出明确的错误码或用户提示 |
| Step 4:状态机覆盖率检查 |
|
PM + 开发架构师 | 使用状态机表辅助检查(见4.5节示例) |
💡 评审关键节奏: 每阶段结束后需由记录人当场朗读确认结论,再进入下一阶段。避免所有问题积压到最后才统一处理。
4.4 输入输出物
| 输入物 | 责任人 | 输出物 | 责任人 |
|---|---|---|---|
| PRD(含流程图、状态机图或文本逻辑描述) | 产品经理 | 评审通过的PRD(标注逻辑变更点) | 产品经理 |
| 接口定义文档(含参数范围、必填可选) | 后端开发 | 逻辑评审记录表(含边界值、异常用例、状态转换表) | 记录人(通常为测试或QA) |
| 外部依赖说明(第三方API超时/异常规范) | 架构师 | 问题决议清单(当场未达成一致的问题需指定owner和deadline) | 会议主持人 |
4.5 责任边界
- 产品经理: 必须确保所有分支逻辑都有显性文字描述,不能仅靠口头说明;现场接受质疑后需在24h内更新PRD并再次发送给评审组。
- 开发工程师: 负责识别边界条件中的技术实现难点(如并发竞争、分布式一致性问题),并提供可行方案供PM决策。
- 测试工程师: 独立穷举异常场景,不依赖PM提供的测试用例;对状态合法性负主要检验责任。
- 架构师: 对流程正确性(死循环、链路熔断)负最终把关责任。
4.6 记录材料
评审过程中需实时填写以下记录表格(建议使用共享在线表格):
| 问题编号 | 逻辑所在流程节点 | 问题类型 | 问题描述 | 决议 | 负责人 | 截止日期 |
|---|---|---|---|---|---|---|
| LOG-001 | 订单创建 → 支付检测 | 边界条件 | 当订单金额为0时,是否直接跳过支付?当前流程未定义0元订单处理路径 | PM确认:0元订单直接进入已支付状态 | 小王(PM) | 2025-05-10 |
| LOG-002 | 退款申请 → 审批 | 状态机遗漏 | 退款中状态是否可以撤回?当前状态机缺失“退款撤回”转换边 | 增加“撤回”动作,状态从“退款中”回到“已支付” | 小李(PM) | 2025-05-11 |
| LOG-003 | 短信发送 | 异常分支 | 第三方短信接口超时后默认重试2次,若依然失败未定义降级行为 | 改为重试1次后切换到备用供应商接口 | 张工(后端) | 2025-05-12 |
4.7 异常处理
- 当场无法达成共识的逻辑问题: 由主持人标记为“待决议”,指定PM在48h内输出方案并同步给全体评审成员;未决议前不允许进入下一开发阶段。
- 评审超时: 若单章逻辑评审超过预估时间(通常为60min),可拆分剩余逻辑到单独追加的短评审会,但需收齐已评审部分的结论。
- 人对逻辑理解产生明显分歧: 必须现场绘制临时流程图或状态机图(使用白板/绘图工具),以视觉化方式统一认知,文字讨论不得超过5分钟。
- 发现严重悖论逻辑: 如流程存在死循环或状态永远无法到达,立即中止该章节评审,要求PM重构逻辑后再申请补评。
⚠️ 常见陷阱: 不要默认“正常流程正确就行,异常先不管”。异常分支是线上事故的主要来源。必须确保每个异常分支都写入了PRD的验收标准中。
4.8 验收标准
完成本章节点评审后,需达到以下全部条件方可视为通过:
- 所有流程节点(主路径+分支路径)均被逐字朗读并确认无歧义,标注出至少一个完整路径。
- 每个参数/输入域的边界值(至少包含最小值、最大值、空值、特殊值)均已被测试用例覆盖。
- 每个外部调用/内部处理步骤至少列举了一个异常分支,并明确了该分支的预期行为。
- 状态机(如有)的所有合法转换边均被列出,且无非法转换边的存在。
- 所有未当场结论的问题均已登记编号并指定负责人和截止日期。
- 评审记录表已归档至项目共享文档库,可供后续开发和测试查阅。
4.9 功能逻辑评审流程总图
下图为本章评审节点的整体操作脉络,各阶段按固定顺序执行,不可颠倒或跳跃: