需求规格说明与验收标准
一、需求规格说明书(SRS)的作用与结构
需求规格说明书(Software Requirements Specification, SRS)是一份正式文档,用来描述系统应满足的需求,作为设计、开发、测试和验收的共识依据。它的核心作用有三:共识(干系人对「要做什么」有一份统一的参照)、追溯(设计、代码、测试能对应到具体需求)、验收依据(验收时能逐条对照「做到了没有」)。
实际项目中 SRS 的详略可以按规模调整:小项目可以是一份几页的文档或结构化 Backlog;大项目或合规要求高的会写得很细、带版本与变更历史。关键是有一份「唯一的真相来源」,大家以它为准,而不是靠口口相传或零散记录。
二、清晰、无歧义、可测试的表述
写进 SRS 的每一条需求,都应尽量做到清晰、无歧义、可测试。这样设计不会猜、开发不会偏、测试能对照着验。
- 清晰:用简单直白的语言,避免模糊词(「尽量」「方便」「友好」);主语和对象明确(谁、对什么、在什么条件下)。
- 无歧义:同一句话不应有两种合理理解;必要时对术语下定义(例如「订单状态」指哪几种、何时算「已取消」)。
- 可测试:能通过操作、用例或自动化手段判断「是否满足」;不能测试的(如「体验要好」)要拆成可观测、可验收的条款。
例如:「用户能导出订单」不够具体;改成「已登录用户能在订单列表页选择时间范围后点击『导出』,下载包含订单号、金额、状态的 CSV 文件,且单次最多 1 万条」——谁、在哪、做什么、结果是什么、有什么限制都清楚了,测试也能据此写用例。
三、验收标准与 Definition of Done
验收标准(Acceptance Criteria, AC)是针对某条需求或某个用户故事的「通过条件」:满足这些条件,就算这条需求或这个故事验收通过。通常写成「Given… When… Then…」或 bullet 列表,每条都可直接对应测试用例。
Definition of Done(DoD,完成定义)是团队对「什么算做完」的共识,通常是一条清单:代码已提交并合并、通过评审、通过自动化测试、文档已更新、产品/负责人确认等。一条需求或一个迭代不仅要「功能实现」,还要满足 DoD 才算真正「完成」——可发布、可交付。
- ✓ 代码已合并到目标分支,并通过 CI
- ✓ 已通过 Code Review
- ✓ 相关自动化测试已通过(或已补充)
- ✓ 验收标准已满足(产品/测试确认)
- ✓ 文档/帮助已更新(若适用)
验收标准回答「这条需求怎样算做到」;DoD 回答「交付物怎样算可以 release」。两者配合:需求有 AC、交付满足 DoD,质量和交付节奏才有保障。
四、需求变更与基线管理
需求在项目进行中难免会变:业务调整、理解深化、市场变化。若变更没有流程,就会出现「有人口头说改、有人不知道」「改完不知道影响了哪些设计和测试」——混乱与返工。所以需要变更流程和基线管理。
变更流程
典型步骤:提出变更(谁、改什么、为什么)→ 影响分析(对范围、进度、设计、测试的影响)→ 决策(接受/拒绝/延后,由谁拍板)→ 更新文档与通知(SRS、Backlog、设计文档等更新,并同步干系人)。小团队可以简化,但「有记录、有分析、有决策」不能省。
基线管理
基线(Baseline)是某一时点「已批准、冻结」的需求(或设计、计划)版本。例如「V1.0 需求基线」表示在某个里程碑上,这些需求是大家共识、后续变更要对照的参照。新变更与基线对比,能看出「改了什么」;发布或合同验收时,也可以按基线来验。基线不阻止变更,但要求变更走流程、有版本、可追溯。
一句话: SRS 是需求的「唯一真相来源」,结构上包含引言、功能需求、非功能需求与附录;表述要清晰、无歧义、可测试。验收标准定义「这条需求怎样算通过」,Definition of Done 定义「交付物怎样算完成」。需求变更要走流程(提出→分析→决策→更新),基线管理保证有版本可追溯、变更受控。
五、小结
需求规格说明书(SRS)是系统需求的正式文档,作用在于共识、追溯与验收依据;典型结构包括引言/范围、功能需求、非功能需求、附录。SRS 中的表述应清晰、无歧义、可测试,必要时对术语下定义、把虚词拆成可验收条款。验收标准(AC)定义单条需求或用户故事的通过条件;Definition of Done(DoD)定义交付物「做完」的清单(合并、评审、测试、验收、文档等)。需求变更应走流程:提出→影响分析→决策→更新与同步;基线管理使需求有版本、变更可追溯。下一章我们讲用例与用户故事:如何用用例和用户故事把需求拆成可开发、可验收的条目,以及 Backlog 管理入门。