
软件需求规格说明书(SRS)模板(DOC 25页).doc
25页产品名称密级产品版本共1页XX 软件需求规格说明书拟制日期yyyy-mm-dd评审人日期yyyy-mm-dd批准日期yyyy-mm-dd签发日期yyyy-mm-dd修订记录日期修订版本Defect IDCR号修改章节修改描述作者2001-06-08初稿完成作者名yyyy-mm-ddxxx I. 修改XXX1. Xxx2. Xxx3. ...作者名xxx I. 修改XXX1. Xxx2. Xxx3. ...作者名yyyy-mm-ddxxx II. 修改XXX1. Xxx2. Xxx3. ...作者名……………………yyyy-mm-ddxxx I. 修改XXX1. Xxx2. Xxx3. ...作者名分发记录Copy No.Holder's Name & Role 持有者和角色Issue Date 分发日期1
表1 **表 错误!未定义书签图目录Figure 1 **图 错误!未定义书签XX 软件需求规格说明书关键词:能够体现文档描述内容主要方面的词汇摘 要:缩略语清单:对本文所用缩略语进行说明,要求提供每个缩略语的英文全名和中文解释 缩略语英文全名中文解释1 简介1.1 目的这部分要描述文档的目的应该指明读者说明本需求文档描述了哪个产品的软件需求1.2 范围本节应描述文档所包括和不包括的内容2 总体概述本节描述影响产品和产品需求的一般因素由以下4个部分构成 有一点需说明的是本节不描述具体的需求,只是使那些将要描述的具体需求更易于理解2.1 软件概述2.1.1 项目介绍描述本软件需求所描述的项目的背景例如:本项目是一系列版本中的一个,或者是替代某个已经存在的系统,还是一个新的独立的项目2.1.2 产品环境介绍描述的是本产品与其它产品或项目所组成的整体环境1.如果本产品是独立的并完全自我包含,在此说明这一点2.如果SRS定义的产品是更大的系统或项目的组件(此种情形经常发生),那么应: A. 描述此大系统或项目每个组件的功能,并且标识接口 B. 确定本软件产品主要外部接口 注意:在此部分并不进行这些接口的详细描述;对这些接口的详细描述在SRS的其它 部分提供。
C. 描述相关产品硬件和所使用的外部设备 注意: 这只是概述性描述通过方块图来描述大系统或项目的主要组件,互连性以及外部接口将是非常有帮助的本部分不应提出一个具体的设计解决方案或对解决方案的具体设计约束(具体设计约束将在具体需求章节中描述)本部分内容是产生设计约束的基础2.2 软件功能概述软件的必须实现的和通过用户操作实现的主要功能这里只需要进行简要描述(例如目录列表),详细描述在详细需求部分描述对需求功能进行组织,以便于读者理解,并能指导后续的设计和测试可以用图表来表示主要需求群组之间的关系,例如:高层的数据流图,面向对象的分析等有时此部分所要求的功能概述可以从分配具体功能给此软件产品的更高层规格(如果存在的话)直接引用本节不应描述具体需求但本节内容是具体需求章节的基础2.3 用户特征列出对用户或系统操作者的要求,如:经验,能力,角色等本节不应描述具体需求但本节内容是具体需求章节的基础2.4 假设和依赖关系列出可能影响SRS中需求的所有的假设因素(与已知事实相对而言),包括准备使用的第三方或商业组件,操作和开发环境的问题约束等如果上述假设不正确、没有被告知或者改变了都将对项目产生影响。
列出项目对外部条件的依赖,例如重用其他项目的模块等如果在其他文档(例如项目计划或范围文档等)里已经描述了,在这里可以不用描述3 具体需求在每一条需求描述中重复下列部分3.1 功能需求本子章节应描述软件产品的输入怎样被转换成输出它描述了软件必须执行的基本动作 对每一类功能或有时对每一个单独的功能,必须描述输入、处理、输出方面的需求这些通常以下面四个子段落来组织:3.1.1 功能需求1用需求编号加上简短词汇做为功能需求名,不要用“功能需求(1)”作为功能名,例如: 计算表达式 打印需求编号规则按照软件需求管理规程(REP01)进行1. 介绍逐条列出与本特性相关的功能需求包括项目如何响应预期的错误输入,非法条件和无效输入需求应该简明,完整,不含糊,可验证,必要的 当需要的信息不确定的时候使用“待定”2. 输入本子段落应包含下列内容:A. 对该功能所有输入数据的详细描述,包括: 输入来源 数量 度量单位 时间要求 包含精度和容忍度的有效输入范围B. 在适当的地方提供的对接口规格或接口控制文档的参考3. 处理本子段落应描述对输入数据所执行的所有操作和如何获得输出的过程这包括下列规格:A. 输入数据的有效性检测。
B. 操作的确切次序,包括各事件的时序C. 对异常情况的回应,例如: 溢出 通信失败 错误处理D. 用于把系统输入转换到相应输出的任何方法(诸如方程式,数学算法,逻辑操作)例如,这可能描述下列方面: 对工资单里代扣所得税的计算公式 用于气象预报的气象模型E. 对输出数据的有效性检测4. 输出本子段落应包含:A. 对该功能所有输出数据的详细描述,这个描述包括: 输出的到何处(如打印机,文件) 数量 度量单位 时序 包含精确度和容忍度的有效输出范围 对非法值的处理 错误消息B. 在适当的地方提供对接口规格或接口控制文档的参考 此外,对那些需求集中在输入/输出行为的系统,SRS应描述所有重要的输入/输出行为及输入输出对的次序对一个需要记忆其行为以根据输入和过去的行为进行反应的系统,输入输出对的次序是要求的;这种功能行为就类似于有限状态机3.2 性能需求如果有性能方面的需求,在这里列出并解释他们的原理以帮助开发者理解意图以做出正确的设计选择在实时系统中的时序关系保证需求尽可能的详细而精确3.2.1 性能需求1 本子章节应从整体上描述静态和动态的量化的对软件(或人与软件交互)的需求。
静态的量化需求可能包括:A. 支持的终端数目B. 支持的同时使用的用户数目C.处理的文件和记录的数目D.表和文件的大小动态的量化需求可能包括:A. 在正常和峰值工作量条件下特定时间段(如一小时)B. 处理的事务和任务的数目以及数据量所有的这些需求应以可测量的术语进行描述,例如所有的操作应在1秒内被处理完成,而不是描述成操作员不必等待操作的完成注意: 用于一个具体功能的量化限制通常在该功能的处理子章节中描述3.3 外部接口需求3.3.1 用户接口详细描述系统与用户之间的接口这应描述下述内容:A. 对每种人机界面,软件所必须支持的特性例如,如果系统用户通过一个显示终端进行操作,那么应包含下述内容:要求的屏幕格式页面规划及报告或菜单的内容输入和输出的相关时序一些组合功能键的用法B. 与系统用户接口使用相关的所有方面这可能只是一个简单的关于系统怎样展示给用户而该做什么和不该做什么的列表例如提供关于长或短错误消息选项和所有其它需求一样,这些需求也应能被检验,例如,四级打字员经一小时的培训后能在Z分钟内完成功能X,而不是一个打字员能完成功能X3.3.2 软件接口详细描述与其他系统 /模块 /项目之间的接口在此应描述如何使用其它(必需的)软件产品(例如,数据管理系统,操作系统,或算法工具包),以及与其它应用系统的接口(例如,协议处理系统和数据库管理系统之间的接口)。
对每个必需的软件产品,应提供下列信息:A. 名字B. 助记符C. 版本号D. 来源对每个接口,本部分应:A . 讨论与本软件产品相关的接口软件的目的B. 按消息/函数内容和格式定义接口如果接口已在其它文档中很清楚地描述,就没有必要在这儿进行详细描述,但需说明应参考的文档3.3.3 硬件接口详细描述与硬件的接口在此描述软件产品和系统硬件组件之间接口的逻辑特征,也包括支持哪些设备、怎样支持这些设备和协议等 按软/硬件协议内容和格式定义接口如果接口已在其它文档中很清楚地描述,就没有必要在这儿进行详细描述,但需说明应参考的文档3.3.4 通讯接口详细描述通讯接口,如本地网络协议等按消息/函数内容和格式定义接口如果接口已在其它文档中很清楚地描述,就没有必要在这儿进行详细描述,但需说明应参考的文档4 总体设计约束该系统所设计的内容不能触犯国家的法律; 该系统应该满足客户的要求4.1 标准符合性本节详细说明需求所采用的标准或规范的来源如果项目采用了国际标准,应该说明国际标准及项目与标准的偏离情况本系统需求采用国家标准GB8567-88;国家标准GB8567-88 :对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。
它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础 4.2 硬件约束我们设计系统的硬件环境如下:普通pc机及主频在1GHz以上档次微机,笔记本电脑各种品牌的兼容机,最佳主频在2GHz以上的微机 128MB或256MB以上内存,最好配1GB以上内存彩色或液晶显示器20GB以上硬盘 光电鼠标或机械鼠标 4.3 技术限制本节包括对使用特定技术的限制,包括接口,数据库,并行操作,通讯协议,设计约定,编程规范等数据库为:MicroSo。












