软件需求规格说明书
(模板)
内容表
1 引言
1.1 目的
1.2 文档约定
1.3 预期的读者和阅读建议
1.4 产品的范围
1.5 参考文献
2 综合描述
2.1 产品的前景
2.2 产品的功能
2.3 用户类和特征
2.4 运行环境
2.5 设计和实现上的限制
2.6 假设和依赖
3 外部接口要求
3.1 用户界面
3.2 硬件接口
3.3 软件接口
3.4 通信接口
4 系统特征
4.1 说明和优先级
4.2 激励/响应序列
4.3 功能需求
5 其他非功能需求
5.1 性能需求
5.2 安全设施需求
5.3 安全性需求
5.4 软件质量属性
5.5 业务规则
5.6 用户文档
6 其他需求
附录A 词汇表
附录B 分析模型
附录C 待确定问题的列表
1 引言
提出对软件需求规格说明的纵览,帮助读者理解该文档是如何编写并且如何阅读和解释。
1.1 目的
对产品进行定义,在该文档中详尽说明这个产品的软件需求,包括修正或发行版本号。如果这个软件需求规格说明只与整个系统的一部分有关系,那么就只定义文档中说明的部分或子系统。
1.2 文档约定
描述编写文档时所采用的标准或排版约定,包括正文风格、提示区或重要符号。例如,说明高层需求的优先级是否可以被其所有细化的需求所继承,或者每个需求陈述是否都有其自身的优先级。
1.3 预期的读者和阅读建议
列举了软件需求规格说明所针对的不同读者。例如开发人员、项目经理、营销人员、用户、测试人员或文档编写人员。描述了文档中剩余部分的内容及其组织结构。提出了最适合于每一类型读者阅读文档的建议。
1.4 产品的范围
提供了对指定的软件及其项目的简短描述,包括利益和目标。把软件与企业目标或业务策略相联系。可以参考项目视图和范围文档而不是将其内容复制到这里 。
1.5 参考文献
列举了编写软件需求规格说明时所参考的资料或其他资源。可能包括用户界面风格指导、合同、标准、系统需求规格说明、使用实例文档,或相关产品的软件需求规格说明,在这里应该给出详细的信息,包括标题的名称、作者、版本号、日期、出版单位或资料来源,以方便读者查阅这些文献。
2 综合描述
概述了正在定义的产品以及它所运行的环境、使用产品的用户和已知的限制、假设和依赖。
2.1 产品的前景
描述了软件需求规格说明中所定义的产品的背景和起源。说明了该产品是否是产品系列中的下一成员,是否是成熟产品所改进的下一代产品、是否是现有应用程序的替代品,或者是否是一个新型的、自含型产品。如果软件需求规格说明定义了大系统的一个组成部分,那么就要说明这部分软件是怎样与整个系统相关联的,并且要定义出两者之间的接口。
2.2 产品的功能
概述了产品所具有的主要功能。其详细内容将在第4节中描述,所以在此只需要概括地总结。例如用列表的方法给出,很好的组织产品的功能,使每个读者都易于理解。用图形表示主要的需求分组以及他们之间的联系,例如数据流程图的顶层图或类图,都是有用的。
2.3 用户类和特征
确定可能使用该产品的不同用户类并描述他们相关的特征。有一些需求可能只与特定的用户类相关。将该产品的重要用户类与那些不太重要的用户类区分开。
2.4 运行环境
描述了软件的运行环境,包括硬件平台、操作系统和版本,还有其他的软件组件或与其共存的应用程序。
2.5 设计和实现上的限制
确定影响开发人员自由选择的问题,并说明这些问题为什么成为一种限制。可能的限制包括以下内容:
l 必须使用或者避免的特定技术、工具、编程语言和数据库。
l 所要求的开发规范或标准(例如,如果有客户的公司负责软件维护,就必须定义转包者所使用的设计符号表示和编码标准。
l 企业策略、政府法规或工业标准。
l 硬件限制,例如定时需求或存储器限制。
l 数据转换格式标准。
2.6 假设和依赖
列举出在对软件需求规格说明中影响需求陈述的假设因素(与已知因素相对立)。可能包括打算要用的商业组件或有关开发或运行环境的问题。你可能认为产品将符合一个特殊的用户界面设计约定,但是另一个SRS读者却可能不这样认为。如果这些假设不正确、不一致或被更改,就会使项目受到影响。
此外,确定项目对外部因素存在的依赖。例如,如果你打算把其他项目开发集成到系统中,那么你就要依赖那个项目按时提供正确的操作组件。如果这些依赖已经记录到其他文档(例如项目计划)中了,那么在此就可以参考其他文档。
3 外部接口需求
本节确定可以保证新产品与外部组件正确连接的需求。关联图表示了高层抽象的外部接口。需要把对接口数据和控制组件的详细描述写入数据字典中。如果产品的不通部分有不同的外部接口,那么应该把这些外部接口的详细需求并入到这一部分的实例中。
3.1 用户界面
陈述所需要的用户界面的软件组件。描述每个用户界面的逻辑特征。以下是可能要包括的一些特征:
l 将要采用的图形用户界面(GUI)标准或产品系列的风格
l 屏幕布局或解决方案的限制
l 将出现在每个屏幕的按钮、功能或导航链结(例如一个帮助按钮)。
l 快捷键
l 错误信息显示标准
对于用户界面的细节,例如特定对话框的布局,应该写入一个独立的用户界面规格说
明中,而不能写入软件需求规格说明中。
3.2 硬件接口
描述系统中软件和硬件每一接口的特征。这种描述可能包括支持的硬件类型、软硬件之间交流的数据和控制信息的性质以及所使用的通信协议。
3.3 软件接口
描述该产品与其他外部组件(由名字和版本识别)的连接,包括数据库、操作系统、工具、库和集成的商业组件。明确并描述在软件组件之间交换数据或消息的目的。描述所需要的服务以及内部组件通信的性质。确定将在组件之间共享的数据。如果必须用一种特殊的方法来实现数据共享机制,例如在多任务操作系统中的一个全局数据区,那么就必须把它定义为一种实现上的限制。
3.4 通信接口
描述与产品所使用的通信功能相关的需求,包括电子邮件、Web浏览器、网络通信标准或协议及电子表格等等。定义了相关的消息格式。规定通信安全或加密问题、数据传输速率和同步通信机制。
4 系统特性
在模板中,功能需求是根据系统特性即产品所提供的主要服务来组织的。你可能更喜欢通过使用实例、运行模式、用户类、对象类或功能等级来组织这部分内容(IEEE1998)。你还可以使用这些元素的组合。总而言之,你必须选择一种使读者易于理解预期产品的组织方案。
仅用简短的语句说明特性的名称,例如“4.1拼写检查和拼写字典管理”。无论你想说明何种特性,阐述每种特性时都将重复从4.1到4.3这三步系统特性。
4.1 说明和优先级
提出了对该系统特性的简短说明并指出该特性的优先级是高、中,还是低。或者你还可以包括对特定优先级部分的评价,例如利益、损失、费用或风险,其相对优先等级还可以从1(低)到9(高)。
4.2 激励/响应序列
列出输入激励(用户动作、来自外部设备的信号或其他触发器)和定义这一特性行为的系统响应序列。这些序列将与使用实例相关的对话元素相对应。
4.3 功能需求
详列出于该特性相关的详细功能需求。这些是必须提交给用户的软件功能,使用户可以使用所提供的特性执行服务或者使用所指定的使用实例执行任务。描述产品如何响应可预知的出错条件或者非法输入或动作。必须唯一地标示每一个需求。
5 非功能需求
列举出所有非功能需求,而不是外部接口需求和限制。
5.1 性能需求
阐述了不同的应用领域对产品性能的需求,并解释它们的原理以帮助开发人员做出合理的设计选择。确定相互合作的用户数或者所支持的操作、响应时间以及与实时系统的时间关系。你还可以在这里定义容量需求,例如存储器和磁盘空间的需求或者存储在数据库中表中的最大行数。尽可能详细地确定性能需求。可能需要针对每个功能需求或特性分别陈述其性能需求,而不是把它们都集中在一起陈述。例如,“在运行微软Windows 2000的450 MhzPentium II的计算机上,当系统至少有50%的空闲资源时,95%的目录数据苦查询必须在两秒内完成”。
5.2 安全设施需求
详尽陈述与产品使用过程中可能发生的损失、破坏或危害相关的需求。定义必须采取的安全保护或动作,还有那些预防的潜在的危险动作。明确产品必须遵从的安全标准、策略或规则。一个安全设施需求的范例如下:“如果油箱的压力超过了规定的最大压力的95%,那么必须在1秒中内终止操作”。
5.3 安全性需求
详尽陈述与系统安全性、完整性或与私人问题相关的需求,这些问题将会影响到产品的使用和产品所创建或使用的数据的保护。定义用户身份确认或授权需求。明确产品必须满足的安全性或保密性策略。你可能更喜欢通过称为完整性的质量属性来阐述这些需求,。一个软件系统的安全性需求的范例如下:“每个用户在第一次登录后,必须更改他的最初登录密码。最初的登录密码不能重用。”
5.4 软件质量属性
详尽陈述与客户或开发人员至关重要的其他产品质量特性。这些特性必须是确定、定量的并在可能时是可验证的。至少应指明不通属性的相对侧重点。例如易用程度优于易学程度,或者可移植性优于有效性。
5.5 业务规则
列举出有关产品的所有操作规则,例如什么人在特定的环境下可以进行何种操作。这些本身不是功能需求,但它们可以暗示某些功能需求执行这些规则。一个业务规则的范例如下:“只有持有管理员密码的用户才能执行¥100.00或更大额的退款操作。”
5.6 用户文档
列举出将与软件一同发行的用户文档部分。例如,用户手册、在线帮助和教程。明确所有已知的用户文档的交付格式或标准。
6 其他需求
定义在软件需求规格说明的其他部分未出现的需求,例如国际化需求或法律上的需求。还可以增加有关操作、管理和维护部分来完善产品安装、配置、启动和关闭、修复和容错,以及登录和监控操作等方面的需求。在模板中加入与你相关的新部分。如果你不需要增加其它需求,就省略这一部分。
附录A:词汇表
定义所有必要的术语,以便读者可以正确地解释软件需求规格说明,包括词头和缩写。可能希望为整个公司创建一张跨多项项目的词汇表,并且只包括特定于单一项目的软件需求规格说明中的术语。
附录B: 分析模型
这个可选部分包括后涉及到相关的分析模型的位置,例如数据流程图、类图、状态转换图或实体……关系图。
附录C:待确定问题的列表
编辑一张在软件需求规格说明中待确定的问题的列表,其中每一表项都是编上号的,以便于跟踪调查。
分享到:
相关推荐
《软件项目管理需求分析书规范》是一份详细指导如何进行软件开发需求分析的重要文档,它为项目的成功实施提供了坚实的基础。以下将详细阐述其主要内容: ### 第一章 引言 1.1 编写目的 需求分析说明书的编写旨在...
软件项目管理-需求分析书规范,软件项目管理-需求分析书规范
软件项目管理_需求分析书规范标准.doc
需求分析说明书规范文档是软件开发过程中的核心文档之一,它为项目的实施提供了明确的指导,确保所有参与者对软件目标有共同的理解。以下是该文档的主要内容和相关知识点的详细说明: 1. **文档管理**:文档的文件...
行业报告需求分析书写作规范 行业报告需求分析书写作规范是指在编写行业报告时,对需求分析的书写规范和要求。需求分析是行业报告的重要组成部分,它对报告的质量和可靠性产生着重要影响。 什么是需求分析? 需求...
《软件需求分析说明书审查规范》是一份至关重要的文档,它为软件开发项目的初期阶段设定了标准,确保所有相关人员对项目需求有清晰、准确的理解。这份规范详细规定了如何审查和评估软件需求分析说明书,以保证其质量...
《软件需求分析-数据要求说明书编写规范》 在软件开发过程中,需求分析是至关重要的第一步,它为后续的设计、编码和测试提供了明确的指导。数据要求说明书作为需求分析的重要组成部分,详细阐述了软件系统对数据...
需求分析说明书是这一阶段的重要文档,详细阐述了用户的需求和系统的预期行为。以下将对"软件工程--需求分析说明书范例"中的关键知识点进行深入讲解。 1. 需求分析说明书: 这份文档旨在全面描述软件系统的目标和...
《图书馆管理系统需求分析说明书》是IT领域中针对软件开发的一项重要文档,主要目的是明确图书馆管理系统的功能需求、性能需求以及用户界面需求等关键要素。在系统设计与开发的初期阶段,这一说明书对于确保项目顺利...
"固定资产管理系统需求分析说明书" 固定资产管理系统需求分析说明书是对固定资产管理系统的需求进行详细分析和说明的文件。该文件对固定资产管理系统的功能、性能和界面进行了详细的描述,以便开发出一个满足学校...
软件需求分析说明指导书审查标准规范.doc 软件需求分析说明指导书审查标准规范是一份重要的文档,旨在指导和规范软件需求分析说明书的编制和审查过程。本文档提供了一系列的指南和标准,旨在确保软件需求分析说明书...
《需求分析说明书》是一本专为初学者设计的指南,旨在深入浅出地介绍软件开发过程中至关重要的需求分析阶段。需求分析是软件工程的第一步,它定义了项目的目标、功能和预期性能,为后续的设计、编码和测试奠定了基础...
ISO标准,特别是ISO/IEC 29148:2011《信息技术 - 用户需求工程 - 用户需求的表述》提供了指导,帮助我们规范地进行需求分析。本篇文章将深入探讨ISO标准在需求分析说明书中的应用,以及如何根据该标准制定详细的...
"网上书店的需求分析说明书" 需求分析 本网上书店系统的需求分析是基于对大学图书市场的前期调查,和多位软件使用者进行了全面深入的探讨和分析的基础上提出的。这份软件需求规格说明书对网上书店系统做了全面细致...
### 需求分析报告编写规范相关知识点 #### 一、引言 **目的:** 需求分析报告的主要目的是确保待开发系统的各项需求被完整且准确地记录下来,从而指导后续的设计与开发工作。通过规范化的编写流程,可以提高报告的...
这份“软件需求分析说明书实例”旨在为开发者和项目团队提供一个模板,帮助他们理解如何编写规范、全面的需求文档,确保所有利益相关者对项目目标有共同的理解。 在需求分析中,我们需要明确以下几个关键要素: 1....
综上所述,软件需求分析指导书为读者展示了软件需求分析的整个流程和关键环节,强调了需求规格说明书在软件开发过程中的重要性,以及如何使用各种工具和模板来规范编写过程。通过这一系列的指导和实践,开发者可以更...
5. **需求文档**:需求分析的结果通常被记录在需求规格书或需求文档中,包括问题陈述、业务规则、用户案例、数据流图、用例图等。这些文档应清晰、准确且完整,便于团队理解和执行。 6. **需求收集方法**:常用的有...