一、什么是PRD?
PRD(Product Requirements Document)产品需求文档
在后端流程里:开发正式开始前的输入文档,产品写,后端干活的依据
所处流程顺序(非常重要,整个开发过程的流程)
产品输出 PRD → 需求评审会(后端参加) → 后端看 PRD 做技术方案、库表设计 → 写接口、业务代码 → 开发、联调、测试
PRD 讲业务要做成什么样(业务规则、场景、异常、权限) ;后端看完 PRD 输出技术方案文档 ,讲代码、表结构、接口怎么实现。
PRD 里面后端重点看什么
- 业务流程:正常流程、各种异常场景
- 数据:需要哪些字段、字段约束
- 权限:哪些角色能查 / 改数据
- 边界:判空、重复、状态流转
- 验收标准:功能做到算完成
后端拿到 PRD 要做的事
- 读 PRD,找逻辑漏洞、不合理点,需求评审会上提出来
- 根据业务,设计数据库表结构
- 设计接口:入参、出参、错误码
- 评估开发工时,排期
- 写业务代码,实现 PRD 描述的全部逻辑
- 自测,保证符合 PRD 业务规则
简单区分容易混淆文档
- PRD:产品视角,做什么业务功能(给研发看)
- 技术方案文档:后端写,技术怎么实现
- 接口文档:接口入参出参,前后端联调用
二、PRD的文档结构
PRD 完整文档结构(后端重点关注标记★)
- 文档头部 & 修订记录
- 文档名称、版本、作者、日期、阅读对象
- 修改历史:版本、修改人、修改内容、时间★
需求变更看这里,避免旧版本开发
2. 需求背景与目标
- 业务背景:为什么做,解决什么痛点
- 业务目标、预期效果
- 需求优先级 P0/P1/P2★
- 名词术语解释★(B 端非常重要,统一业务概念)
3. 用户角色与业务场景★
- 角色列表:普通用户、管理员、第三方系统
- 用户场景:什么角色,在什么条件下做什么事
4. 业务流程图★(后端重中之重)
- 主流程:正常业务流转
- 分支流程、异常流程
- 状态流转图:订单状态、单据状态变更规则★
**5. 功能需求详情(PRD 核心)**每个功能包含:
- 功能简述
- 前置条件
- 正常操作逻辑
- 异常逻辑、边界条件★
- 字段说明:字段含义、是否必填、取值范围、长度★
- 权限规则:哪些角色可读、可新增、可修改、可删除★
6. 原型 / 交互说明
原型链接,前端重点看;后端主要参考业务逻辑。
7. 非功能需求★(后端必看)
- 性能:响应时间、并发量
- 安全:鉴权、数据加密、防重复提交
- 兼容性
- 依赖外部系统:需要调用哪些第三方接口
8. 数据需求★
- 需要存储哪些业务数据
- 数据埋点、报表统计要求
9. 验收标准★(测试 + 开发依据)
可验证,描述 "做到什么算完成",包含正常场景、异常场景。
10. 附录
- 评审记录、待确认问题、参考文档
后端读 PRD 重点抓 4 块
业务流程图、状态流转、字段与权限、异常边界。
PRD 只讲业务;库表、接口、SQL、技术方案不由 PRD 写,后端自己输出。
三、后端开发在需求评审会议上要做到哪些才符合专业素养
后端开发|需求评审会专业要点
核心:不纠结 UI 交互,聚焦业务逻辑、数据、边界、可行性、风险、排期,不要会后才发现问题
1、会前(最重要,很多人忽略)
- 提前阅读 PRD、流程图、原型,不要开会现场才读。
- 把看不懂、逻辑矛盾、缺少异常场景的点先标记出来。
- 确认名词定义,同一个业务名词不能有两种解释。
2、会上重点提问方向(后端视角)
①业务逻辑与状态
- 业务主流程是否闭环,状态流转是否完整,有没有状态跳变漏洞。
- 每种失败、回滚、取消场景业务上希望怎么处理。
- 是否存在并发操作场景(多人同时修改同一条数据),业务期望结果是什么。
②数据相关
- 字段:字段类型、长度、枚举值、是否允许为空,删除是物理删除还是逻辑删除。
- 唯一性约束:哪些字段不能重复。
- 数据来源:哪些是用户输入、系统生成、第三方接口返回。
③权限
- 不同角色的增删改查权限;数据权限(能看到哪些范围的数据)。
④边界和异常(高频踩坑点)
- 参数为空、超限、重复提交怎么处理。
- 依赖第三方接口超时、失败,业务是重试、回滚还是报错。
- 极限场景:数据量大、高频调用业务怎么表现。
⑤可行性、风险、依赖
- 判断需求能不能实现,有无技术卡点。
- 外部依赖哪些系统,对方排期是否对齐。
- 识别风险点,当众抛出,而不是自己扛到开发阶段。
⑥排期与优先级
- P0/P1/P2 确认,区分本次迭代做,还是后续版本。
- 评估粗略工作量,判断迭代周期是否合理,不能实现直接说明。
3、会上不要做的事
- 不讨论页面长什么样、按钮颜色,交给产品、前端。
- 不现场深入聊具体代码、SQL、表结构,那是会后技术方案评审干的。
- 不随口答应 "都能做",有风险要明确说。
- 不要沉默,有疑问不提,会后再提属于后端失职。
4、会后动作
- 评审问题、待确认项记录,同步文档。
- 拿到确认版 PRD,以此作为开发依据。
- 输出技术方案、库表、接口设计,再进入开发。
四、后端看 PRD 做技术方案、库表设计,需要注意什么?
阅读 PRD 阶段
- 核对业务名词、术语统一,消除歧义,确认主流程、分支、异常、状态流转闭环。
- 识别并发、重复提交、第三方依赖超时失败等边界场景,PRD 缺失需提出确认。
- 理清角色权限,区分功能权限与数据权限,确认删除逻辑是物理删除还是逻辑删除。
- 提取字段信息,确认字段含义、类型、长度、枚举、非空、唯一性约束。
- 确认非功能需求:并发、响应时间、安全鉴权、数据埋点、外部系统依赖关系。
技术方案设计
- 评估需求技术可行性 ,识别技术风险、依赖风险,明确本次迭代范围,区分暂不实现功能。
- 梳理业务模块拆分,确定调用链路,明确内部调用、第三方调用、异步同步场景。
- 设计异常处理、失败重试、回滚策略,考虑事务边界,避免数据不一致。
- 评估性能,预估数据量,提前考虑索引、分页、缓存、限流等方案。
- 明确兼容性 ,老数据兼容处理,版本变更带来的数据迁移方案。
库表设计
- 遵循数据库范式,适度冗余,平衡查询性能与维护成本。
- 主键、索引合理设计,高频查询字段建索引,避免冗余索引。
- 状态、枚举字段使用数字编码,注释完整;预留扩展字段。
- 增加通用字段:id、创建人、创建时间、更新人、更新时间、is_deleted 逻辑删除标记。
- 字段类型、长度严格对齐 PRD 业务约束,禁止字段长度不足。
- 外键尽量业务代码控制,数据库少用外键约束;大字段单独拆分。
- 考虑分表可能性,预估后期数据膨胀问题。
其他
- 技术方案、库表不能脱离 PRD 业务逻辑,不额外实现 PRD 未定义功能。
- 方案评审对齐产品、测试,记录待确认项;需求变更后同步修改技术方案与库表。
五、后端开发技术方案的标准格式
后端技术方案标准格式
1. 文档概述
1.1 文档目的
1.2 需求背景
1.3 业务范围与迭代边界(本次做、不做的内容)
1.4 阅读对象
1.5 术语与缩略词
1.6 修改记录
2. 需求分析
2.1 业务简述
2.2 PRD 核心业务流程
2.3 核心状态流转
2.4 非功能需求(性能、并发、安全、可靠性)
2.5 外部依赖系统
3. 总体方案设计
3.1 整体架构 / 调用链路图
3.2 模块拆分
3.3 同步 / 异步方案选型
3.4 核心设计思路
4. 详细方案设计
4.1 核心业务处理逻辑
4.2 异常处理策略、失败重试、回滚、降级逻辑
4.3 并发控制方案(锁、幂等、防重复提交)
4.4 缓存设计(缓存 key、失效策略、缓存更新)
4.5 时序图 / 流程图
5. 数据库设计
5.1 库表说明
5.2 ER 图
5.3 表结构(字段名、类型、长度、注释、默认值、索引)
5.4索引设计
5.5 数据迁移方案(如有)
6. 接口设计
6.1 内部接口
6.2 对外 / 第三方调用接口
6.3 核心入参、出参、错误码定义
7. 风险点与应对措施
7.1 技术风险
7.2 依赖风险
7.3 业务风险
7.4对应解决方案
8. 工作量评估与排期
8.1 开发工作量评估
8.2 联调、自测时间
8.3 里程碑节点
补充: 里程碑节点主要写什么?
- 技术方案评审完成时间
- 库表创建、接口定义完成时间
- 开发编码完成时间
- 单元自测完成时间 (验证是否符合PRD需求,代码逻辑是否有问题,减少联调、提测发现bug返工时间)
- 前后端联调完成时间 (发现真实调用接口格式等问题)
- 提测时间(交付测试)(将问题流转到测试侧,由测试发现缺陷并提交 bug。)
- bug 修复完毕时间
- 预发布环境验证完成时间(复刻生产环境,验证版本在接近真实生产条件下功能是否正常。提前发现上线才会暴露的隐藏 bug。确认版本质量达标,作为正式上线前最后一道校验关口。)
- 正式上线发布时间
- 上线后观察结束时间
9. 测试要点
9.1 重点测试场景
9.2 边界、异常测试点
10. 附录
10.1 参考文档(PRD 链接等)
10.2 待确认问题列表
六、后端开发进行库表设计的标准文档格式?
库表设计文档标准格式
1. 文档头部
1.1 文档名称
1.2 版本、作者、日期
1.3 修改记录:版本号、修改人、修改内容、修改时间
1.4 术语说明
2. 概述
2.1 业务说明
2.2 设计依据(PRD、技术方案链接)
2.3 数据库信息:数据库名、字符集、排序规则
3. ER 关系图
实体之间关联关系图示
4. 表结构详情
每张表包含:表名、表注释| 字段名 | 字段类型 | 长度 | 是否允许为空 | 默认值 | 注释 |
5. 索引设计
| 索引名称 | 索引类型 | 索引字段 | 索引说明 |
6. 枚举说明
枚举编码、枚举值、业务含义
7. 特殊字段说明
逻辑删除、创建时间、更新时间、创建人、更新人等通用字段说明
8. 数据迁移脚本(如有)
历史数据处理逻辑、执行 SQL 脚本
9. 注意事项
锁、分表、大字段、禁止数据库外键等约束说明
10. 附录
待确认问题 、参考文档