需求规格说明书模板

需求规格说明书模板
需求规格说明阐述一个软件系统必须提供的功能和性能以及它所要考虑的限制条件,它不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础。它应该尽可能完整地描述系统预期的外部行为和用户可视化行为。除了设计和实现上的限制,软件需求规格说明不应该包括设计、构造、测试或工程管理的细节。
  1)采用软件需求规格说明模版: 采用需求规格说明书模板在你的组织中要为编写软件需求文档定义一种标准模板。该模板为记录功能需求和各种其它与需求相关的重要信息提供了统一的结构。注意,其目的并非是创建一种全新的模板,而是采用一种已有的且可满足项目需要并适合项目特点的模板。许多组织一开始都采用IEEE标准830-1998(IEEE 1998)描述的需求规格说明书模板。要相信模板是很有用的,但有时要根据项目特点进行适当的改动。

1 2 3 4 5 6
A引言 目的 文档约定 预期的读者和阅读建议 产品的范围 参考文献
B综合描述 产品的前景 产品的功能 用户类和特征 运行环境 设计和实现上的限制 假设和依赖附录
C外部接口需求附录 用户界面附录 硬件接口 软件接口 通信接口
D系统特性 说明和优先级 激励/响应序列 功能需求
E 其它非功能需求 性能需求 安全设施需求 安全性需求 软件质量属性 业务规则 用户文档
F其它需求
G附件 词汇表 分析模型 待确定问题的列表
             

  表2 需求规格说明模板

  a. 引言

  引言提出了对软件需求规格说明的纵览,这有助于读者理解文档如何编写并且如何阅读和解释。

  a . 1 目的

  对产品进行定义,在该文档中详尽说明了这个产品的软件需求,包括修正或发行版本号。如果这个软件需求规格说明只与整个系统的一部分有关系,那么就只定义文档中说明的部分或子系统。

  a.2 文档约定

  描述编写文档时所采用的标准或排版约定,包括正文风格、提示区或重要符号。

  a.3 预期的读者和阅读建议

  列举了软件需求规格说明所针对的不同读者,例如开发人员、项目经理、营销人员、用户、测试人员或文档的编写人员。描述了文档中剩余部分的内容及其组织结构。提出了最适合于每一类型读者阅读文档的建议。

  a.4 产品的范围

  提供了对指定的软件及其目的的简短描述,包括利益和目标。把软件与企业目标或业务策略相联系。可以参考项目视图和范围文档而不是将其内容复制到这里。

  a.5 参考文献

  列举了编写软件需求规格说明时所参考的资料或其它资源。这可能包括用户界面风格指导、合同、标准、系统需求规格说明、使用实例文档,或相关产品的软件需求规格说明。

b. 综合描述

  这一部分概述了正在定义的产品以及它所运行的环境、使用产品的用户和已知的限制、假设和依赖。

  b.1 产品的前景

  描述了软件需求规格说明中所定义的产品的背景和起源。说明了该产品是否是产品系列中的下一成员,是否是成熟产品所改进的下一代产品、是否是现有应用程序的替代品,或者是否是一个新型的、自含型产品。

  b.2 产品的功能

  概述了产品所具有的主要功能。其详细内容将在d 中描述,所以在此只需要概略地总结。很好地组织产品的功能,使每个读者都易于理解。

  b.3 用户类和特征

  确定你觉得可能使用该产品的不同用户类并描述它们相关的特征。有一些需求可能只与特定的用户类相关。

  b.4 运行环境

  描述了软件的运行环境,包括硬件平台、操作系统和版本,还有其它的软件组件或与其共存的应用程序。

  b.5 设计和实现上的限制

  确定影响开发人员自由选择的问题,并说明这些问题为什么成为一种限制。

  b.6 假设和依赖

  列举出在对软件需求规格说明中影响需求陈述的假设因素(与已知因素相对立)。这可能包括你打算要用的商业组件或有关开发或运行环境的问题。你可能认为产品将符合一个特殊的用户界面设计约定,但是另一个S R S 读者却可能不这样认为。如果这些假设不正确、不一致或被更改,就会使项目受到影响。

  此外,确定项目对外部因素存在的依赖。例如,如果你打算把其它项目开发的组件集成到系统中,那么你就要依赖那个项目按时提供正确的操作组件。如果这些依赖已经记录到其它文档(例如项目计划)中了,那么在此就可以参考其它文档。

  c. 外部接口需求

  利用本节来确定可以保证新产品与外部组件正确连接的需求。关联图表示了高层抽象的外部接。需要把对接口数据和控制组件的详细描述写入数据字典中。如果产品的不同部分有不同的外部接口,那么应把这些外部接口的详细需求并入到这一部分的实例中。

  c.1 用户界面

  陈述所需要的用户界面的软件组件。描述每个用户界面的逻辑特征。而对于用户界面的细节,例如特定对话框的布局,应该写入一个独立的用户界面规格说明中,而不能写入软件需求规格说明中。

  c.2 硬件接口

  描述系统中软件和硬件每一接口的特征。这种描述可能包括支持的硬件类型、软硬件之间交流的数据和控制信息的性质以及所使用的通信协议。

  c.3 软件接口

  描述该产品与其它外部组件(由名字和版本识别)的连接,包括数据库、操作系统、工具、库和集成的商业组件。明确并描述在软件组件之间交换数据或消息的目的。描述所需要的服务以及内部组件通信的性质。确定将在组件之间共享的数据。

  c.4 通信接口

  描述与产品所使用的通信功能相关的需求,包括电子邮件、We b 浏览器、网络通信标准或协议及电子表格等等。定义了相关的消息格式。规定通信安全或加密问题、数据传输速率和同步通信机制。

  d. 系统特性

  d.1 说明和优先级

  提出了对该系统特性的简短说明并指出该特性的优先级是高、中,还是低。或者你还可以包括对特定优先级部分的评价,例如利益、损失、费用和风险,其相对优先等级可以从1(低)到9 (高)。

  d.2 激励/响应序列

  列出输入激励(用户动作、来自外部设备的信号或其它触发器)和定义这一特性行为的系统响应序列。这些序列将与使用实例相关的对话元素相对应。

  d.3 功能需求

  详列出与该特性相关的详细功能需求。这些是必须提交给用户的软件功能,使用户可以使用所提供的特性执行服务或者使用所指定的使用实例执行任务。描述产品如何响应可预知的出错条件或者非法输入或动作。就像本章开头所描述的那样,你必须唯一地标识每个需求。

  e. 其它非功能需求

  这部分列举出了所有非功能需求,如产品的易用程度如何,执行速度如何,可靠性如何,当发生异常情况时,系统如何处理,而不是外部接口需求和限制。

  e.1 性能需求

  阐述了不同的应用领域对产品性能的需求,并解释它们的原理以帮助开发人员作出合理的设计选择。确定相互合作的用户数或者所支持的操作、响应时间以及与实时系统的时间关系。你还可以在这里定义容量需求,例如存储器和磁盘空间的需求或者存储在数据库中表的最大行数。尽可能详细地确定性能需求。可能需要针对每个功能需求或特性分别陈述其性能需求,而不是把它们都集中在一起陈述。

  e.2 安全设施需求

  详尽陈述与产品使用过程中可能发生的损失、破坏或危害相关的需求。定义必须采取的安全保护或动作,还有那些预防的潜在的危险动作。明确产品必须遵从的安全标准、策略或规则。

  e.3 安全性需求

  详尽陈述与系统安全性、完整性或与私人问题相关的需求,这些问题将会影响到产品的使用和产品所创建或使用的数据的保护。定义用户身份确认或授权需求。明确产品必须满足的安全性或保密性策略。

  e.4 软件质量属性

  详尽陈述与客户或开发人员至关重要的其它产品质量特性。这些特性必须是确定、定量的并在可能时是可验证的。至少应指明不同属性的相对侧重点,例如易用程度优于易学程度,或者可移植性优于有效性。

  e.5 业务规则

  列举出有关产品的所有操作规则,例如什么人在特定环境下可以进行何种操作。这些本身不是功能需求,但它们可以暗示某些功能需求执行这些规则。

  e.6 用户文档

  列举出将与软件一同发行的用户文档部分,例如,用户手册、在线帮助和教程。明确所有已知的用户文档的交付格式或标准。

f. 其它需求

  定义在软件需求规格说明的其它部分未出现的需求,例如国际化需求或法律上的需求。你还可以增加有关操作、管理和维护部分来完善产品安装、配置、启动和关闭、修复和容错,以及登录和监控操作等方面的需求。

  附录A :词汇表

  定义所有必要的术语,以便读者可以正确地解释软件需求规格说明,包括词头和缩写。你可能希望为整个公司创建一张跨越多项项目的词汇表,并且只包括特定于单一项目的软件需求规格说明中的术语。

  附录B :分析模型

  这个可选部分包括或涉及到相关的分析模型的位置,例如数据流程图、类图、状态转换图或实体-关系图。

  附录C :待确定问题的列表

  编辑一张在软件需求规格说明中待确定问题的列表,其中每一表项都是编上号的,以便于跟踪调查。

  2)指明需求来源:指明需求的来源为了让所有项目风险承担者明白需求规格说明书中为何提供这些功能需求,要都能追溯每项需求的来源,这可能是一种使用实例或其它客户要求,也可能是某项更高层系统需求、业务规范、政府法规、标准或别的外部来源。

  3)为每项需求注上标号:为了满足软件需求规格说明的可跟踪性和可修改性的质量标准,必须唯一确定每个软件需求。为每项需求注上标号制定一种惯例来为需求规格说明书中的每项需求提供一个独立的可识别的标号或记号。这种惯例应当很健全,允许增加、删除和修改。作了标号的需求使得需求能被跟踪,记录需求变更并为需求状态和变更活动建立度量。需求标识方法有序列号;层次化编码;使用"待确定"(to be determined, TBD )符号等。

  4)记录业务规范:是指关于产品的操作原则,比如谁能在什么情况下采取什么动作。将这些编写成需求规格说明书中的一个独立部分,或一独立的业务规范文档。某些业务规范将引出相应的功能需求;当然这些需求也应能追溯相应业务规范。

  5)创建需求跟踪能力矩阵:建立一个矩阵把每项需求与实现、测试它的设计和代码部分联系起来。这样的需求跟踪能力矩阵同时也把功能需求和高层的需求及其它相关需求联系起来了。在开发过程中建立这个矩阵,而不要等到最后才去补建。

  这里我们还要介绍需求规格说明书中设计阶段,用到的图形模型--数据字典、数据流图、数据流图、状态转换图、对话图和类图。

  数据字典:一个定义应用程序中使用的所有数据元素和结构的含义、类型、数据大小、格式、度量单位、精度以及允许取值范围的共享仓库。数据字典的维护独立于软件需求规格说明,并且在产品的开发和维护的任何阶段,各个风险承担者都可以访问数据字典。它定义了原数据元素、组成结构体的复杂数据元素、重复的数据项、一个数据项的枚举值以及可选的数据项。

  数据流图:是结构化系统分析的基本工具。一个数据流图确定了系统的转化过程、系统所操纵的数据或物质的收集(存储),还有过程、存储、外部世界之间的数据流或物质流。数据流模型把层次分解方法运用到系统分析上,这种方法很适用于事务处理系统和其它功能密集型应用程序。

  数据流图:描绘了系统的数据关系。分析实体联系图有助于对业务或系统数据组成的理解和交互,并暗示产品将有必要包含一个数据库。相反,当你在系统设计阶段建立实体联系图时,通常要定义系统数据库的物理结构。

  状态转换图:实时系统和过程控制应用程序可以在任何给定的时间内以有限的状态存在。当满足所定义的标准时,状态就会发生改变,例如在特定条件下,接收到一个特定的输入激励。这样的系统是有限状态机的例子。大多数软件系统需要一些状态建模或分析,就像大多数系统涉及到转换过程、数据实体和业务对象。

  对话图:在许多应用程序中,用户界面可以看作是一个有限状态机。在任何情况下仅有一个对话元素(例如一个菜单,工作区,行提示符或对话框)对用户输入是可用的。在激活的输入区中,用户根据他所采取的活动,可以导航到有限个其它对话元素。因此,许多用户界面可以用状态转换图中的一种称为对话图来建模。对话图描绘了系统中的对话元素和它们之间的导航连接,但它没有揭示具体的屏幕设计。

  类图:面向对象的软件开发优于结构化分析和设计,并且它运用于许多项目的设计中,从而产生了面向对象分析、设计和编程的域。类图是用图形方式叙述面向对象分析所确定的类以及它们之间的关系
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XXX项目 软件需求规格说明书 版本:V1.1 文 档 编 号 保 密 等 级 作 者 最后修改日期 审 核 人 最后审批日期 批 准 人 最后批准日期 修订记录 日期 版本 修订说明 修订人 目 录 1 简介 2 1.1 背景 2 1.2 目的 2 1.3 范围 2 1.4 缩略语 2 1.5 参考文档 2 2 运行环境 2 2.1 硬件环境 3 2.2 网络环境 3 2.3 软件环境 3 3 系统结构 3 3.1 系统功能结构 3 3.2 本系统与其它系统的关系 3 3.3 系统的行为架构 3 4 软件系统功能需求 3 对于结构化分析请采用如下格式: 4 4.1 XXX软件需求 4 4.1.1 需求编号 4 4.1.2 复杂度 4 4.1.3 优先级 4 4.1.4 功能描述 4 4.1.5 输入 4 4.1.6 处理 4 4.1.7 输出 4 4.1.8 约束条件 4 4.1.9 相关的性能需求 4 对于UML分析请采用如下格式: 4 4.2 XXX用例-UC001 4 5 非功能性需求 7 5.1 性能需求 7 5.2 可靠性需求 7 5.3 可移植性需求 7 5.4 可维护性需求 7 5.5 可用性需求 7 5.6 兼容性需求 7 5.7 分布性需求 7 6 在线用户文档和帮助系统需求 7 7 设计约束 7 8 需要购买的组件 7 9 接口与协议 7 9.1 用户接口 7 9.2 硬件接口 7 9.3 软件接口 7 9.4 通信接口 8 10 词汇表 8 简介 背景 【说明项目背景】 目的 【说明编写SRS的目的】 范围 【说明该SRS在整个项目周期的适用范围】 术语/缩略语 【说明本SRS涉及的术语、缩略语的详细含义】 参考文档 【说明编写SRS时引用和参考的文档】 运行环境 【说明用户期望的待开发系统的运行环境】 硬件环境 网络环境 软件环境 系统结构 【说明软件系统的业务层次结构,以及与其他外部系统之间的业务接口关系。】 系统功能结构 【说明软件系统的分解结构,可以采用功能分解树,或者系统静态架构图,或者高层系统用例模型图表示】 本系统与其它系统的关系 【对于研发项目和预研项目,说明该软件产品在ModelBank中的逻辑位置;对于客户化子项目,说明该软件系统在大系统中的逻辑位置,可以采用逻辑结构图表示】 系统的行为架构 【如果采用UML开发,可以说明系统的高层业务行为模型】 软件系统功能需求 【说明待开发系统业务功能需求被分配的软件需求,并统一编号组织。】 Eg:SRS1 XXX SRS1.1 XXX 或者 UC1 XXX UC1.1XXX XXX软件需求(对于结构化分析请采用如下格式) 需求编号 功能描述 输入 处理 输出 约束条件 相关的性能需求 XXX用例-UC001(对于UML分析请采用如下格式) 用例功能描述:制订修改计划的申请信息,并上报给上级单位。用户可以查询、查看计划调整申请信息。 界面图: 申请计划调整―――查看计划调整申请界面 申请计划调整―――计划调整界面 界面说明: 查询条件描述 序号 栏位名称 栏位说明 备注 页面表示形式 1 计划文号 字符型 64位长 输入项 弹出页面显示 2 申请标题 字符型 128位长 输入项 输入框 3 申请日期 日期型,YYYY-MM-DD;分为开始日期和截止日期 输入项 日期控件 计划调整申请信息描述 序号 栏位名称 栏位说明 备注 页面表现形式 1 标题 输入 必输项 输入框 2 调整顺序号 输入,字符型 32位长 输入项 文本输入框 3 调整原因 用户输入调整的原因和建议调整的其它说明信息 必输项 文本输入框 4 负责人 库内负责轮换申请人的姓名,20字符。 必输项 下拉列表框 5 申请日期 计划调整申请提出的具体日期,系统自动读取服务器日期。 输入项 日期控件 6 调整后开始日期 本库计划调整后的开始时间 必输项 日期控件 7 调整后结束日期 本库计划调整后的结束时间 必输项 日期控件 8 原计划文号 输入,字符型20位长 显示项 文本 9 原计划标题 输入,字符型128位长 显示项 文本 10 计划开始执行日期 原计划中的开始执行日期 显示项 文本 11 计划截止执行日期 原计划中的截止执行日期 显示项 文本 前置条件:无 后置条件:无 功能说明: 查询功能:查询已经制订的计划调整申请信息。查询条件:计划文号,申请标题,申请日期。查询列表:申请标题、计划文号,申请日期、负责人、状态。系统默认按申请日期降序排序。 查看计划调整申请信息功能:查看一条具体的计划调整申请信息,页面上并能显示原计划信息。 根据计划调整申请,查看原计划信息; 新增计划调整申请信息:用户首先选择原计划信息,然后对原计划进行修改; 修改计划调整申请信息:用户可以看到原计划信息; 删除计划调整申请信息; 打印计划调整申请信息; 上报功能:将此调整申请上报给上级单位。 特殊说明: 计划调整申请只对上级下发计划有用; 只有未上报的计划调整申请才能修改和删除; 计划调整申请的状态分为:上报,未上报; 已上报的计划调整申请的状态以红色表示; 在新增一个计划调整申请时,用户选择了计划文号后,系统取出此计划的信息并按仓号显示在页面上; 此模块的上报仅仅是将审核状态置为”已审核”,具体的对上级单位的提交由交换模块完成 业务实体描述 业务实体描述是根据需求分析过程中抽象出来的业务实体、数据需求以及业务实体之间的关系的描述。描述的内容包括需要画出数据概念模型图、实体字段信息、实体数据的来源、业务基础数据等内容。具体参考如下: 【1. 静态数据需求 列举描述在系统中,作为基础数据使用的基本不变的数据需求。例如:“员工档案”等数据的需求。 2. 动态数据需求 列举描述本软件所处理的动态数据需求。例如:销售数据、交易数据等等 3. 业务实体描述 描述本软件选用的业务实体、实体字段描述、字段类型描述、实体具体的数据库容量预测、命名标识等 4. 数据词典 列举描述本软件的数据字典。数据字典覆盖静态用户数据和动态用户数据两方面。 5. 数据采集需求 列举本软件的数据采集需求。包括数据采集的方式(自动采集或者交互式人工采集)、数据采集的频度说明、精度要求说明等等。 6. 数据精度需求 根据具体情况,描述本软件中的数据精确度需求。包括计算的精度(用小数位数表示)、有效数据位数等等方面的需求。】 非功能性需求 性能需求 【如果需要,说明用户提出的,或者应该满足的对软件系统性能的要求,并统一编号组织。比如:系统吞吐量,平均交易响应时间,平均无故障时间等】 可靠性需求 可移植性需求 可维护性需求 可用性需求 兼容性需求 分布性需求 故障处理需求 【描述对于各种主要故障的处理需求。包括处理方式、提示信息内容与格式和善后处理算法等等】 在线用户文档和帮助系统需求 【如果需要,说明在线文档和帮助系统的要求】 设计约束 【说明实现本系统必须服从的设计决策,比如:开发平台,语言,体系结构,采用的类库】 需要购买的组件 【如果需要,说明需要购买的软件组件】 接口与协议 用户接口 【说明软件要实现的用户接口】 硬件接口 【如果需要,说明软件必须支持的硬件接口】 软件接口 【说明系统外部的软件接口关系】 通信接口 【如果需要,说明系统与其他外部的软件通信协议】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值