缓存标识:cd0e000e18ea4318e67e3024cb3b9150
更新时间:2025-12-24 23:32
PRD 业务规则撰写指南
一、 触发条件
1. 定义
- 明确规则何时开始生效或被执行
- 描述启动规则必须满足的所有前提
2. 撰写要点
2.1 明确事件或状态
- 事件触发:当发生某个具体操作或事件时(例如:“用户点击提交按钮”、“支付成功通知到达”)
- 状态触发:当系统或数据达到特定状态时(例如:“订单状态变为‘已发货’”、“账户余额低于阈值”)
- 时间触发:在特定时间点或周期(例如:“每天凌晨2点”、“每月1号”)
- 组合触发:多个条件同时满足时(例如:“用户为VIP会员 且 订单金额大于100元”)
2.2 条件表述清晰无歧义
- 使用肯定、明确的语句
- 量化可量化的条件(例如:“库存数量 <=5”,而非“库存紧张”)
- 枚举可枚举的情况(例如:“订单状态属于 [‘待支付’, ‘支付超时’]”)
2.3 指明触发实体与上下文
- 说明是谁或什么触发了规则(例如:系统、用户、管理员、外部接口)
- 提供必要的业务上下文(例如:在“创建订单”流程中)
二、 优先级
1. 定义
- 当多条规则可能被同时触发或存在潜在冲突时,确定其执行的先后顺序或重要性等级
2. 撰写要点
2.1 设定优先级等级
- 定性分级:例如:高(High)、中(Medium)、低(Low);或 关键(Critical)、重要(Important)、一般(Normal)
- 定量分级:使用数字等级(例如:1-5,1为最高优先级)
- 业务重要性:根据规则影响的业务目标、营收、用户体验或合规要求来划分
2.2 明确优先级应用场景
- 执行顺序:当多条规则适用于同一对象时,按何顺序执行?
- 冲突裁决:当规则冲突时,优先级高的规则覆盖优先级低的规则。
- 资源分配:在系统资源紧张时,优先保证高优先级规则的执行。
2.3 优先级判定依据(可选但建议)
三、 冲突处理
1. 定义
- 定义当两条或多条规则在同一场景下产生矛盾或互斥时的解决机制
2. 撰写要点
2.1 冲突识别
- 预判可能发生冲突的规则组合。
- 描述冲突的具体表现(例如:规则A要求扣减X,规则B要求扣减Y,导致最终扣减金额不确定)。
2.2 解决策略
- 优先级覆盖:明确更高优先级的规则结果覆盖较低优先级规则(需与“优先级”部分联动)。
- 特定裁决规则:定义专门用于解决特定冲突的额外规则(例如:“当折扣规则冲突时,取折扣力度最大者生效”)。
- 顺序执行与累积:定义规则是按顺序执行(后者可能修改前者结果),还是效果独立累积。
- 互斥声明:明确声明某些规则彼此互斥,同一上下文不允许同时生效。
2.3 异常与兜底处理
- 规定当发生未预见的冲突时的处理方式(例如:记录日志、通知管理员、采用默认行为或拒绝执行)。
- 明确冲突解决后的最终输出状态或结果。
四、 通用撰写建议
- 唯一标识:为每条业务规则编号(如 BR-001),便于追踪和引用。
- 保持独立与可测试:每条规则应尽可能独立、完整,便于单独验证。
- 使用结构化语言:采用“如果(IF)…那么(THEN)…”或“当…时,执行…”等句式,增强清晰度。
- 与用例/流程关联:注明本规则关联的业务流程、用户故事或功能模块。
- 版本管理:业务规则可能变更,需记录版本历史。
2.4 记录与验证
- 冲突日志:要求系统记录所有规则冲突事件,包括触发的规则、上下文数据和最终裁决结果。
- 结果验证:定义冲突解决后,如何验证最终结果的业务正确性(如:与业务方确认样例)。
四、 通用撰写建议
- 业务可读性:使用业务术语,避免技术黑话,确保业务方能够无障碍审阅。
- 技术可实现性:与开发团队确认规则的描述是否清晰、无二义性,便于转化为代码逻辑。
- 维护性:将经常变化的规则参数(如阈值、比例)设计为可配置项,与硬编码的逻辑分离。
五、 示例模板
规则编号:BR-202
- 规则描述:新用户首单立减优惠。
- 触发条件:
- 主体:用户账户。
- 状态:用户标签为“新用户”(注册后未完成过订单)。
- 事件:提交订单。
- 上下文:订单中包含指定参与活动的商品。
- 优先级:P1(高级优惠)。
- 冲突处理:
- 潜在冲突:可能与“全场通用折扣券”冲突。
- 解决策略:本规则(新用户立减)优先级高于“全场通用折扣券”,若同时满足条件,仅生效本规则,并提示用户“已享受更优新用户优惠”。
- 兜底处理:若发生未预见冲突,则暂停优惠,记录错误日志并通知运营人员。
如何在应用内使用?
点击上方按钮将跳转至主应用并自动载入这份 Markdown,你可以继续修改结构并导出为 XMind。也可以复制地址 index.html?hash=cd0e000e18ea4318e67e3024cb3b9150 分享给团队成员快速进入编辑。