《软件需求规格说明书(共14页).doc》由会员分享,可在线阅读,更多相关《软件需求规格说明书(共14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上软件需求规格说明书模板版本:文档编号:0304密 级:秘密编 写:编写日期: 年 月 日审 核:审核日期 年 月 日批 准:批准日期: 年 月 日Copyright Egao, All right reserved修订记录版本章节名称修订内容修订日期修订人批准人1.0第一版发布用户需求确认书重写用户确认承诺内容2.3标题有用户特点改为用户类和特征写作提示修改2.4原2.4一般约束改为2.4 运行环境,2.5设计和实现上的限制,并修改相应写作提示3.2.1标题用户接口改为用户界面,并修改相应写作提示3.4删除原3.4 设计约束3.4.2修改原3.5.2安全性的写作提示3
2、.4.5删除原3.5.5 警告 3.3.3增加非功能需求标题。调整原3.3.3 性能需求,3.4 属性,4 其他需求为非功能需求之下级章节。3.3.3.53.3.33.3.4增加3.3.3.5软件质量属性3.3.3 业务规则3.3.4 用户文档3.5其他需求并为3.3.5,修改写作提示4删除原5 附录 写作提示。增加4.1附录A词汇表,4.2附录B 分析模型,4.3附录C 待确定问题列表及相关写作提示。软件需求规格说明书版本:文档编号:密 级:秘密编 写:编写日期:年 月 日审 核:审核日期年 月 日批 准:批准日期: 年 月 日Copyright RongHui, All right res
3、erved修订记录版本章节名称修订内容修订日期修订人批准人目录用户需求确认书 本软件需求规格说明书建立在双方对需求的共同理解基础之上,我同意后续的开发工作根据该软件需求规格说明书开展。如果需求发生变化,我们将按照“变更控制规程”执行。我明白需求的变更将导致双方重新协商成本、资源和进度等。用户职务用户签名签订日期专心-专注-专业1 引言1.1 编写目的 说明编写这份软件需求说明书的目的,指出预期的读者范围。1.2 范围说明:a 待开发的软件系统的名称;b 说明软件将干什么,如果需要的话,还要说明软件产品不干什么;c 描述所说明的软件的应用。应当:1) 尽可能精确地描述所有相关的利益、目的、以及最
4、终目标。2) 如果有一个较高层次的说明存在,则应该使其和高层次说明中的类似的陈述相一致(例如,系统的需求规格说明)。1.3 定义 列出本文件中用到的专门术语的定义和缩写词的原词组。1.4 参考资料列出要用到的参考资料,如:a 本项目的经核准的计划任务书或合同、上级机关的批文;b 属于本项目的其他已发表的文件;c 本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2 项目概述2.1 产品描述叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件
5、之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。2.2 产品功能本条是为将要完成的软件功能提供一个摘要。例如,对于一个记帐程序来说,需求说明可以用这部分来描述:客房帐目维护、客房财务报表和发票制作,而不必把功能所要求的大量的细节描写出来。有时,如果存在较高层次的规格说明时,则功能摘要可从中取得,这个较高层次的规格说明为软件产品分配了特殊的功能,为了清晰起见,请注意:a 编制功能的一种方法是制作功能表
6、,以便客房或者第一次读这个文件的人都可以理解;b 用方框图来表达不同的功能和它们的关系也是有帮助的。但应牢记,这样的图不是产品设计时所需求的,而只是一种有效的解释性的工具。2.3 用户特点确定你觉得可能使用该产品的不同用户类并描述它们相关的特征。有一些需求可能只与特定的用户类相关。将该产品的重要用户类与那些不太重要的用户类区分开2.4 运行环境描述了软件的运行环境,包括硬件平台、操作系统和版本,还有其它的软件组件或与其共存的应用程序2.5 设计和实现上的限制确定影响开发人员自由选择的问题,并说明这些问题为什么成为一种限制。可能的限制包括如下内容: 必须使用或者避免的特定技术、工具、编程语言和数
7、据库。 所要求的开发规范或标准(例如,如果由客户的公司负责软件维护,就必须定义转包者所使用的设计符号表示和编码标准。 企业策略、政府法规或工业标准。 硬件限制,例如定时需求或存储器限制。 数据格式标准。(报表格式,数据命名等) 与其他应用间的接口; 并行操作; 审查功能; 控制功能; 通信协议; 应用的临界点; 安全和保密方面的考虑。2.6 假设和依据本条列出影响需求说明中陈述的需求的每一个因素。这些因此不是软件的设计约束,但是它们的改变可能影响到需求说明中的需求。例如:假定一个特定的操作系统是在被软件产品指定的硬件上使用的,然而,事实上这个操作系统是不可能使用的,于是,需求说明就要进行相应的
8、改变。3 具体需求3.1 功能需求3.1.1 功能需求1对于每一类功能或者有时对于每一个功能,需要具体描述其输入、加工和输出的需求。由四个部分组成:a 引言描述的是功能要达到的目标、所彩的方法和技术,还应清楚说明功能意图的由来和背景。b 输入1) 详细描述该功能的所有输入数据,如:输入源、数量、度量单位、时间设定、有效输入范围(包括精度和公差);2) 操作员控制细节的需求。其中有名字、操作员活动的描述、控制台或操作员的位置。例如:当打印检查时,要求操作员进行格式调整;3) 指明引用接口说明或接口控制文件的参考资料。c 加工定义输入数据、中间参数,以获得预期输出结果的全部操作。它包括如下的说明:
9、1) 输入数据的有效性检查;2) 操作的顺序,包括事件的时间设定;3) 响应,例如,溢出、通信故障、错误处理等;4) 受操作影响的参数;5) 降级运行的要求;6) 用于把系统输入变换成相应输出的任何方法(方程式、数学算法、逻辑操作等);7) 输出数据的有效性检查。d 输出1) 详细描述该功能所有输出数据,例如:输出目的地、数量、度量单位、时间关系、有效输出的范围(包括精度和公差)、非法值的处理、出错信息;2) 有关接口说明或接口控制文件的参考资料。此外,对着重于输入输出行为的系统来说,需求说明应指定所有有意义的输入、输出对及其序列。当一个系统要求记忆它的状态时,需要这个序列,使得它可以根据本次
10、输入和以前的状态作出响应。也就是说,这种情况犹如有限状态机。3.1.2 功能需求23.1.3 功能需求33.2 外部接口需求3.2.1 用户接口陈述所需要的用户界面的软件组件。描述每个用户界面的逻辑特征。以下是可能要包括的一些特征: 将要采用的图形用户界面( G U I)标准或产品系列的风格。 报表或菜单的页面打印格式和内容; 输入输出的相对时间; 屏幕布局或解决方案的限制。 将出现在每个屏幕的标准按钮、功能或导航链接(例如一个帮助按钮)。 快捷键。 错误信息显示标准。对于用户界面的细节,例如特定对话框的布局,应该写入一个独立的用户界面规格说明中,而不能写入软件需求规格说明中。3.2.2 硬件
11、接口要指出软件产品和系统硬部件之间每一个接口的逻辑特点。还可能包括如下事宜:支撑什么样的设备,如何支撑这些设备,有何约定。3.2.3 软件接口在此要指定需使用的其他软件产品(例如,数据管理系统、操作系统或数学软件包),以及同其他应用系统之间的接口。对每一个所需的软件产品,要提供如下内容:a 名字;b 助记符;c 规格说明号;d 版本号;e 来源。 对于每一个接口,这部分应说明与软件产品相关的接口软件的目的,并根据信息的内容和格式定义接口,但不必详细描述任何已有完整文件的接口,只要引用定义该接口的文件即可。3.2.4 通信接口指定各种通信接口。例如,局部网络的协议等等。3.3 非功能性需求3.3
12、.1 性能需求从整体来说,本条应具体说明软件、或人与软件交互的静态或动态数值需求。A 静态数值需求可能包括:1) 支持的终端数;2) 支持并行操作的用户数;3) 处理的文卷和记录数;4) 表和文卷的大小。B 动态数值需求可能包括:欲处理的事务和任务的数量,以及在正常情况下和峰值工作条件下一定时间周期中处理的数据总量。 所有这些需求都必须用可以度量的术语来叙述。例如,95的事务必须在小于1s时间内处理完,不然,操作员将不等待处理的完成。3.3.2 属性在软件的需求之中有若干个属性,以下指出其中的几个(注意:对这些决不应理解为是一个完整的清单)。3.3.2.1 可用性可以指定一些因素,如检查点、恢
13、复和再启动等,以保证整个系统有一个确定的可用性级别。3.3.2.2 安全性详尽陈述与系统安全性、完整性或与私人问题相关的需求,这些问题将会影响到产品的使用和产品所创建或使用的数据的保护。定义用户身份确认或授权需求。明确产品必须满足的安全性或保密性策略。你可能更喜欢通过称为完整性的质量属性来阐述这些需求,完整性将在第11章介绍。一个软件系统的安全需求的范例如下:“每个用户在第一次登录后,必须更改他的最初登录密码。最初的登录密码不能重用。”3.3.2.3 可维护性规定若干需求以确保软件是可维护的。例如:a 软件模块所需要的特殊的耦合矩阵;b 为微型装置指定特殊的数据程序分割要求。3.3.2.4 可
14、转移 转换性规定把软件从一种环境移植到另一种环境所要求的用户程序,用户接口兼容方面的约束等等。3.3.2.5 软件质量属性详尽陈述与客户或开发人员至关重要的其它产品质量特性。这些特性必须是确定、定量的并在可能时是可验证的。至少应指明不同属性的相对侧重点,例如易用程度优于易学程度,或者可移植性优于有效性。3.3.3 业务规则列举出有关产品的所有操作规则,例如什么人在特定环境下可以进行何种操作。这些本身不是功能需求,但它们可以暗示某些功能需求执行这些规则。一个业务规则的范例如下:“只有持有管理员密码的用户才能执行$ 1 0 0 . 0 0或更大额的退款操作。”3.3.4 用户文档列举出将与软件一同
15、发行的用户文档部分,例如,用户手册、在线帮助和教程。明确所有已知的用户文档的交付格式或标准。3.3.5 其他需求定义在软件需求规格说明的其它部分未出现的需求,例如国际化需求或法律上的需求。你还可以增加有关操作、管理和维护部分来完善产品安装、配置、启动和关闭、修复和容错,以及登录和监控操作等方面的需求。在模板中加入与你的项目相关的新部分。如果你不需要增加其它需求,就省略这一部分。如: 数据库本项对作为产品的一部分进行开发的数据库规定一些需求,它们可能包括:a 在功能需求中标识的信息类别;b 使用的频率;c 存取能力;d 数据元素和文卷描述符;e 数据元素、记录和文卷的关系;f 静态和动态的组织;
16、g 数据保存要求。 注:如果使用一个现有的数据库包,这个包应在“软件接口”中命名,并在那里详细说明其用法。 操作这里说明用户要求的常规的和特殊的操作。A 在用户组织之中各种方式的操作。例如,用户初始化操作;B 交互作用操作的周期和无人操作的周期;C 数据处理运行功能;D 后援和恢复操作。 注:这里的内容有时是用户接口的一部分。 场合适应性需求这里包括:a 对给定场合或相关任务或操作方式的任何数据或初始化顺序的需求进行定义。例如,栅值,安全界限等等。b 指出场合或相关任务为特点,这里可以被修改以使软件适合特殊配制的要求。4 附录4.1 附录A:词汇表定义所有必要的术语,以便读者可以正确地解释软件需求规格说明,包括词头和缩写。你可能希望为整个公司创建一张跨越多项项目的词汇表,并且只包括特定于单一项目的软件需求规格说明中的术语。4.2 附录B:分析模型这个可选部分包括或涉及到相关的分析模型的位置,例如数据流程图、类图、状态转换图或实体-关系图。4.3 附录C:待确定问题的列表编辑一张在软件需求规格说明中待确定问题的列表,其中每一表项都是编上号的,以便于跟踪调查。