软件需求说明是软件系统需求的规格化说明,是对将要开发系统的行为的说明。它包括功能性需求,也包括非功能性需求,非功能性需求对设计和实现提出了限制,比如性能要求,质量标准,或者设计限制。
英文维基上的最新说明如下
A Software requirements specification (SRS), a requirements specification
for a software system,
is a complete description of the behavior of a system to be developed and may include a set of use
cases that describe interactions the users will have with the software. In addition it also contains non-functional
requirements. Non-functional requirements impose constraints on the design or implementation (such as performance
engineering requirements, quality standards,
or design constraints) .
根据中国大陆GB 8567-88 计算机软件产品开发文件编制指南,软件需求说明书章节如下:
1引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料 2任务概述 2.1目标 2.2用户的特点 2.3假定与约束 3需求规定 3.1对功能的规定 3.2对性能的规定 3.2.1精度 3.2.2时间特性耍求 3.2.3灵活性 3.3输入输出要求 3.4数据管理能力要求 3.5故障处理要求 3.6其他专门要求 4运行环境规定 4.1设备 4.2支持软件 4.3接口 4.4控制
至今各组织的软件需求说明书模板虽然经过使用后历经调整,但往往仍然能够看到上述章节要求的痕迹。
到目前的2014年,在软件需求表达方式领域出现了如下三种常见情况:
有些组织虽然仍然称呼需求文档为需求说明书(或者SRS),而实质的表达采用的是用例,这种情况归属于上述的第2种情况。这样包含用例的SRS的常见章节如下:
1 项目概况 1.1 产品或系统名称 1.2 产品或系统用户 1.3 运行平台 1.4 词汇表 1.5 数据字典 2 性能指标和验收标准 3 功能需求概况 3.1 总体概述 3.2 功能模块划分 3.3 功能块编码 4 模块1 [例如]用户组织 4.1 模块概述 4.2 业务逻辑规则 4.3 用例图 4.4 用例1 [例如]用例:用户登录 4.4.1 描述 4.4.2 对应的原始需求 4.4.3 前提条件 4.4.4 事件流 4.4.5 用户界面 4.4.6 后置条件、特别要求和扩展点 4.5 用例2实现 4.5.1 描述 4.5.2 对应的原始需求 4.5.3 前提 4.5.4 事件流 4.5.5 用户界面 4.5.6 后置条件、特别要求和扩展点 4.6 外部接口 5 模块2 格式同第5章 5.1 概述 5.2 业务逻辑规则 5.3 用例图 5.4 用例1实现 5.5 用例2实现 5.6 外部接口 6 模块3…n 7 信息安全方面需求 7.1 许可证方面需求 7.2 身份认证和授权方面需求 7.3 可恢复性方面需求 8 其它非功能性需求 9 其它要求
在最新的SWEBOK V3.0中,在这一领域仍然采用了“Software requirements specification”的说法。
但是在中文领域,软件需求说明书是无法在字面意思上涵盖:1,不采用SRS写法的用例分析;2,用户故事。
因此,提议中文领域对应词汇是“软件需求说明"或者“软件需求规格说明", 没有“书”字,这样的字面意思就能够涵盖用例和用户故事。
说明:至于表达内部事务的用户故事是否属于需求范畴,那是另一回事,毕竟多数的用户故事表达的是需求。
原文:http://blog.csdn.net/zhangmike/article/details/24088385