# ISO/IEC/IEEE 29148 需求规格模板 ## 来源和定位 本模板用于 UniDesk `project-management/` 下的 L0、L1、L2 需求规格文档。 模板基线包括: - ISO/IEC/IEEE 29148:2018 的需求工程分层思路; - HWLAB 项目管理约束的轻量裁剪。 参考来源: - ISO/IEC/IEEE 29148:2018: - IEEE 830-1998 已被替代的官方说明: - ReqView 对 29148 模板族的说明: - ReqView 的 29148 软件需求规格示例: 使用原则: - 需求规格类型如下: - 业务需求规格用于使命和商业目标; - 利益相关方需求规格用于用户和运营方诉求; - 系统需求规格用于跨硬件、软件、人员和流程的系统级要求; - 软件需求规格用于软件能力要求。 - L0、L1、L2 规格共用同一骨架,但粒度不同: - L0 写使命、边界、预期终态和全局需求; - L1 写内部模块职责和验收边界; - L2 写具体课题的目标交付物和验证契约。 - SPEC 全文只写预期终态: - 目标能力; - 稳定边界; - 目标架构、数据流和接口; - 原子需求; - 验收契约和稳定过程控制。 - SPEC 不写执行态: - 当前实现状态或能力基线; - 已完成、未完成、当前阻塞或阶段差距; - 源码路径、commit、PR、作业、日志、截图、样片或一次性证据。 - 执行态进入阶段报告、任务报告、偏离记录或 GitHub issue,并从这些载体引用 SPEC。 - 每条原子需求使用独立小节: - 信息表使用横向表格且只放编号、短名和主责模块等短元数据; - 主责模块填写下一层主责单元,L0 写 L1,L1 写 L2,L2 写 L3; - 不重复当前规格本级; - 关联模块、需求定义、职责划分、意图、范围和边界写在正文中。 - 不要为了凑全局需求条目自动添加次要需求: - 证据收集; - 硬编码诊断或建议; - 任务状态收集; - 结果包或结果收集。 - 除非用户明确授意,上述次要内容不进入 OA 规格。 ## 文档骨架 ```markdown # <编号> <短名> 需求规格 ## 修改历史 | 版本 | 更新日期 | 变更说明 | | --- | --- | --- | | 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 编号和适用的规格版本。 ```