软件要求规范 (SRS):提示和模板
沟通是软件开发成功的关键。 我们先研究 该研究审查了为什么软件开发公司难以为客户提供满足其期望的软件解决方案,沟通不良和需求不明确是软件项目失败的主要原因之一。
足够清晰、沟通良好的需求可帮助开发团队创建正确的产品,并代表成功产品开发的基础。但是,这些要求实际上是什么样子的,应该如何传达它们?答案很简单:使用软件要求规范 (SRS)。
什么是SRS?
SRS 是一个文档,其目的是提供要开发的软件产品的全面描述,包括其用途、将支持的主要业务流程、功能、关键性能参数和行为。因此,它基本上充当了指导开发过程并使每个人走上正轨的地图。
SRS 通常在需求工程阶段结束时(软件开发过程的最早阶段)签核。它包含功能性和非功能性要求。功能要求描述软件系统及其组件的功能(如在描述大学图书馆系统时预先预订书籍),而非功能性要求描述软件系统的性能特征及其组件(如安全或服务可用性)。
IEEE(电气和电子工程师协会) 规范 830-1998 描述了定义 SRS 的方法和建议的方法,帮助软件客户准确描述他们希望获得的内容,同时使供应商更容易准确了解客户的需求。
编写SRS 文档的好处
SRS 除了通过在客户和供应商之间建立一致性以及让每个人都参与同一页面来为成功的产品开发奠定基础外,SRS 还提供许多其他好处,因此值得编写它。
Rideau 的全栈开发人员 Kurosh Farsimadan认为,”使用 SRS 可以消除和防止设计阶段的错误,因为此时可以修复任何需要验证的相互矛盾的要求和功能,并联系利益相关者进行重新评估。
在软件开发过程的早期进行更改总是比在花费无数小时和大量精力和资源的后期要便宜得多。写得井有条的 SRS 通过防止任务重复和以易于解决问题的方式构建问题,帮助优化开发过程。
所有其他文档(包括技术和业务文档)都可以基于 SRS 来保证其一致性和准确性。
SRS 的组件
没有两个 SRS 文档是相同的,因为所有软件项目都不同,有些使用瀑布开发模型,另一些则练习敏捷开发。但是,仍然可以提炼 SRS 的主要组件,并创建其外观的大致轮廓:
- 介绍
- 目的
- 目的
- 预期用途
- 适用范围
- 缩略词和定义
- 一般描述
- 用户的需求
- 依赖性和假设性
- 要求和系统功能
- 功能要求
- 外部接口要求
- 系统功能
- 非功能性需求
第一部分介绍正在开发的产品、其用途、目标受众、预期用途和范围。第二部分提供了有关用户需求以及可能阻止 SRS 中概述的要求满足的因素的详细信息。最后一个主要部分专门讨论功能性和非功能性的特定要求。

如何编写良好的SRS?
一个好的 SRS 应满足几个关键特征。它应该是:
- 正确:确保 SRS 始终反映产品功能和规格非常重要。
- 毫不含糊:过于具体比模棱两可更好。SRS不是文学杰作,所以即使是最基本的文体规则也可以以清晰的名义被忽略。
- 完成:最好不保留客户要求的任何功能。
- 一致:所有首字母缩略词和定义应在整个 SRS 中以一致的方式使用。
- 重要性和/或稳定性排名:在开发过程中,时间通常是稀缺资源,因此根据重要性和稳定性对需求进行排名是一个好主意。
- 可验证:每个要求都应有验证方法。
- 可修改:应系统地更改要求, 并应考虑其对其他要求 的影响。
- 可追溯:所有要求都应从其来源即追溯。

RM 软件如何帮助编写SRS 文档
在微软Word、谷歌文档或任何其他文字处理器中,完全可以编写一个好的SRS文档。这种方法的问题在于,它可以是极其繁琐和耗时的。事实是,简单的软件开发项目可能具有繁重的要求。当需求发生变化时, 字的界限 (如 Microsoft Word)的限制很快就会显现出来。
在开发过程的后期不会遇到障碍,最好从一开始就使用像 Visure 这样的专用需求管理工具。 专用的需求管理工具 (需求管理-rm-工具/)为完整的需求流程提供整体支持,管理所有与需求相关的信息及其与用户的关系和互动。
Visure 是现代需求管理工具的一个优秀示例,因为它专为为完整的需求流程提供整体支持而设计,包括需求捕获、分析、规范、验证和验证、 确保端到端管理和重用。Visure 是完全可定制的,它与许多第三方工具集成。

结语
所有从事过软件项目的人都知道需求堆积的速度有多快,管理它们的难度也有多大。软件需求规范提供了要开发的软件产品的全面描述,并使每个人参与在同一页上。