5.5 KiB
5.5 KiB
ISO/IEC/IEEE 29148 需求规格模板
来源和定位
本模板用于 UniDesk project-management/ 下的 L0、L1、L2 需求规格文档。
模板基线包括:
- ISO/IEC/IEEE 29148:2018 的需求工程分层思路;
- HWLAB 项目管理约束的轻量裁剪。
参考来源:
- ISO/IEC/IEEE 29148:2018:https://www.iso.org/standard/72089.html
- IEEE 830-1998 已被替代的官方说明:https://standards.ieee.org/ieee/830/1222/
- ReqView 对 29148 模板族的说明:https://www.reqview.com/doc/iso-iec-ieee-29148-templates/
- ReqView 的 29148 软件需求规格示例:https://www.reqview.com/doc/iso-iec-ieee-29148-srs-example/
使用原则:
- 需求规格类型如下:
- 业务需求规格用于使命和商业目标;
- 利益相关方需求规格用于用户和运营方诉求;
- 系统需求规格用于跨硬件、软件、人员和流程的系统级要求;
- 软件需求规格用于软件能力要求。
- L0、L1、L2 规格共用同一骨架,但粒度不同:
- L0 写使命、边界、预期终态和全局需求;
- L1 写内部模块职责和验收边界;
- L2 写具体课题的目标交付物和验证契约。
- SPEC 全文只写预期终态:
- 目标能力;
- 稳定边界;
- 目标架构、数据流和接口;
- 原子需求;
- 验收契约和稳定过程控制。
- SPEC 不写执行态:
- 当前实现状态或能力基线;
- 已完成、未完成、当前阻塞或阶段差距;
- 源码路径、commit、PR、作业、日志、截图、样片或一次性证据。
- 执行态进入阶段报告、任务报告、偏离记录或 GitHub issue,并从这些载体引用 SPEC。
- 每条原子需求使用独立小节:
- 信息表使用横向表格且只放编号、短名和主责模块等短元数据;
- 主责模块填写下一层主责单元,L0 写 L1,L1 写 L2,L2 写 L3;
- 不重复当前规格本级;
- 关联模块、需求定义、职责划分、意图、范围和边界写在正文中。
- 不要为了凑全局需求条目自动添加次要需求:
- 证据收集;
- 硬编码诊断或建议;
- 任务状态收集;
- 结果包或结果收集。
- 除非用户明确授意,上述次要内容不进入 OA 规格。
文档骨架
# <编号> <短名> 需求规格
## 修改历史
| 版本 | 更新日期 | 变更说明 |
| --- | --- | --- |
| v0.1 | <年-月-日> | 创建预期终态需求规格;如来自历史议题,只在这里写迁移来源 <组织>/<仓库>#<编号>。 |
修改历史只记录规格语义变更,不记录实现进度、阶段基线或一次性证据。
## 正文
## <编号> <短名> 需求规格
## 1. 文档控制
| 字段 | 内容 |
| --- | --- |
| 编号 | <项目编号> |
| 短名 | <短名> |
| 层级 | L0、L1 或 L2 |
| 规格状态 | 已生效、已废弃或未生效;只表示规格生命周期 |
| 需求规格模板 | [ISO/IEC/IEEE 29148 需求规格模板](<相对路径>) |
| 上级规格 | <相对路径链接;L0 可留空> |
| 规格治理索引 | <相对路径链接> |
本文采用 ISO/IEC/IEEE 29148 需求规格模板的项目裁剪版。
正文边界如下:
- 只定义预期终态、稳定使命、范围、术语、系统边界、内部分工、原子需求和验收契约;
- 不记录实现进度、阶段基线或执行证据;
- 编号、层级职责、回写、偏离判定和交叉引用治理由规格治理文档承载。
## 2. 目的和范围
### 2.1 目的
<用一段话说明该规格服务的项目目标、用户目标或系统目标。>
### 2.2 范围内
- <范围项>
### 2.3 范围外
- <非目标或转交范围>
## 3. 术语表
| 术语 | 定义 |
| --- | --- |
| <术语> | <稳定定义> |
## 4. 系统边界和接口
本规格把目标对象作为一个完整系统看待;本章只描述外部输入、外部输出和系统边界,不描述内部治理流程。
| 边界项 | 内容 |
| --- | --- |
| 外部使用者 | <用户、管理员或自动化任务> |
| 外部输入 | <用户请求、业务对象、资源约束、身份凭据、配置项或文件> |
| 受控资源 | <系统管理的资源、数据、运行环境或外部设备> |
| 外部输出 | <用户可获得的状态、结果、产物、通知、报告或记录> |
| 用户接口 | <网页端、命令行、应用接口、开发工具包等> |
| 系统边界 | <系统负责什么;明确不替代用户、管理员或运行环境负责什么> |
## 5. 内部分工与规格索引
| 编号 | 模块或课题 | 规格文档 | 主责边界 | 上游依赖 | 下游支撑 |
| --- | --- | --- | --- | --- | --- |
| <项目编号> | <短名> | [<规格名>](<相对路径>) | <主责> | <依赖> | <支撑对象> |
## 6. 原子需求
### 6.1 <需求编号> <需求短名>
| 编号 | 短名 | 主责模块 | 关联模块 |
| --- | --- | --- | --- |
| <需求编号> | <需求短名> | <下一层项目编号 短名,必要时使用相对路径链接> | <关联模块,使用相对路径链接> |
<正文第一段写完整需求定义。正文后续段落写主责职责、关联模块职责、意图、范围和边界。正文不放执行流水和长证据。>
## 7. 过程控制
本章只定义长期稳定的实现引用、验收、配置、安全、偏离和回写规则。
- 当前状态、阶段验证、内测、灰度和用户反馈进入阶段报告或执行 issue;
- 问卷、参与者资料、原始反馈、长证据和执行流水不进入 SPEC;
- 执行载体应引用本 SPEC 编号和适用的规格版本。