文件类型CMMI模板文件名称软件需求规格说明书文件编号CTP04-04版本1.0《软件需求规格说明书》模板模板修订记录:版本日期修改人描述(注明修改的条款或页)0.12007-01-27xxx初次完成1.02007-03-30xxx修改格式,准备发布项目代号07A001文档编号04-04文档版本0.9密级商密XXXX系统(名称等在文件属性中设置)软件需求规格说明书xxxxx科技有限责任公司2013年7月9日07A001XXXX系统(名称等在文件属性中设置)软件需求规格说明书文档修订记录文档修订记录版本日期修改人描述(注明修改的条款或页)07A001XXXX系统(名称等在文件属性中设置)软件需求规格说明书目录目录1引言..............................................................................................................11.1目标.....................................................................................................11.2文档约定..............................................................................................11.3读者对象和阅读建议.............................................................................11.4项目范围..............................................................................................11.5参考资料..............................................................................................12总体描述.......................................................................................................22.1产品前景..............................................................................................22.2产品特性..............................................................................................22.3用户类及其特征....................................................................................22.4运行环境..............................................................................................22.5设计和实现上的约束.............................................................................22.6假设和依赖...........................................................................................33功能需求.......................................................................................................33.1功能需求1(优先级)..........................................................................33.1.1功能描述.....................................................................................33.1.2用例(编号,UC_<模块缩写><流水号>)............................33.1.3用户界面描述..............................................................................44外部接口需求................................................................................................44.1硬件接口..............................................................................................44.2软件接口..............................................................................................44.3通信接口..............................................................................................45其它非功能性需求.........................................................................................45.1性能需求..............................................................................................55.2防护性需求...........................................................................................55.3安全性需求...........................................................................................55.4软件质量属性.......................................................................................56其它需求.......................................................................................................5附录A术语表...................................................................................................6附录B待确定问题的清单.................................................................................607A001XXXX系统(名称等在文件属性中设置)软件需求规格说明书引言-1-1引言[引言提供一个概述,帮助读者理解软件需求规格说明的组织方式和使用方式。]1.1目标[确定在文档中进行了定义的产品或应用程序的需求,包括修订版本或发布版本号,如果该软件需求规格说明只与整个系统的一部分有关系,那么就只需确定这一部分或子系统。]1.2文档约定[描写编写文档时所采用的所有标准或印刷上的约定,包括文本样式、强调形式或其有特殊意义的表示符号。例如,声明高层需求的优先级是否可以被其所有细化的需求所继承,或者每个功能性需求声明是否都有其自身的优先级。]1.3读者对象和阅读建议[列举软件需求规格说明面向的不同读者对象。描述软件需求规格说明中的其余部分的内容及其组织结构。就每一类读者最合适用什么顺序来阅读该文档提出建议。]1.4项目范围[提供对指定的软件及其作用的简短描述。把软件与用户或公司目标相关联,把软件与业务目标和策略相关联,如果可以得到单独的前景和范围文档,那么应该引用它,而不要直接将其内容复制到这里。如果是说明改进产品的增量发布的软件需求规格说明,那么应该包括它自己的范围声明,作为长期战略的产品前景的一个子集。]1.5参考资料[列举编写软件需求规格说明时所参考的所有文档或其他资源,如果可能的话,使用超文本链接。具体说来可能包括用户界面样式指南、合同、标准、系统需求规格说明、用例文档、接口规格说明、操作概念文档或相关产品的软件需求规格说明。在这里应该给出足够详细的信息,包括参考资料的标题、作者、版本号、日期以及来源或位置(例如网络文件夹和URL),以方便读者查阅这些资料。]07A001XXXX系统(名称等在文件属性中设置)软件需求规格说明书总体描述-2-2总体描述[这一部分用于从总体上概述产品及其运行环境,以及产品用户对象和已知的约束、假设和依赖关系。]2.1产品前景[描述产品的背景和起源。说明该产品是否是产品系列中的下一个成员,是否是成熟系统的下一版本,是现有应用程序的升级产品还是一个全新的产品。如果该软件需求规格说明定义了大型系统的一个组件,那么就要说明这部分软件是怎样与整个系统相关联的,并且要确定二者之间的主要接口。]2.2产品特性[列出产品所具有的主要特性或者产品可实现的重要功能。其详细内容将在该软件需求规格说明的第3部分中描述,所以在此只需要提供一个总体概括即可。用图形来表示主要的需求组以及它们之间的联系,例如顶层数据流图,用例图或类图,可能是很有帮助的。]2.3用户类及其特征[确定我们能预料到的有可能使用该产品的各种用户类,并描述他们的相关特征。有些需求可能只与某些用户类相关,应确定哪些是优先考虑的拥护类。用户类是前景和范围文档中描述的涉众的一个子集。]2.4运行环境[描述软件的运行环境,包括硬件平台、操作系统和版本,以及用户、服务器和数据库的地理位置。列出系统必须和平共存的其他软件组件或应用程序,前景和范围文档中可能包含这样的高层信息。]2.5设计和实现上的约束[描述限制开发人员进行有效选择的所有因素,以及每一种约束的基本原理。约束可能包括如下内容:必须使用或避免使用的特定技术、工具、编程语言和数据库。07A001XXXX系统(名称等在文件属性中设置)软件需求规格说明书功能需求-3-由产品的运行环境所引起的一些限制,例如,将要使用的Web浏览器的类型和版本。所要求的开发约定或标准(例如,如果由客户的组织负责软件维护,那么该组织就可能指定分包商必须遵循的设计符号和编码标准)。业务规则强加的限制硬件限制,例如定时需求、内存或处理器限制、大小、重量、材料或成本。对现有产品进行改进时,要遵循的现存用户界面的一些约定。标准数据交换格式,例如XML]2.6假设和依赖[假设是这样一种声明,在缺少证据或不确定的情况下先相信它是真的。如果假设不正确、不一致或被更改,那么就可能会产生问题,因此,有些假设将会转化为项目风险。一个软件需求规格说明的读者可能假设产品将符合某个特定的界面约定,但是另一个读者却可能不这样认为。开发人员可能假设某一组功能是为应用程序专门编写的,但是分析人员也许驾驶可