软件需求说明书
1、1.简介
提示:软件需求说明书关注的是用户在实际工作中存在的问题和实际需要,而不是解决方案。
软件需求说明书的主要读者是开发项目组成员和用户。
软件需求一般由市场开发人员或软件开发选题提出人员编写;用户需求一般在项目启动时编写。
1.1目的
提示:阐述编写此文档的主要目的,其主要是为项目组成员描述该软件用户的基本需求和要达到的目的等内容。
1.2范围
提示:阐述此文档的基本范围:它的相关项目,以及受到此文档影响的任何其他事物和他们之间的关系。
1.3定义、首字母缩写词和缩略语
提示:本小节应提供正确解释此文档所需的全部术语的定义、首字母缩写词和缩略语。
1.4参考资料
提示:本小节应完整列出此文档中所引用的任何文档资料。每个文档应标有标题、报告号(如果适用)、日期和出版单位。列出可从中获取这些参考资料的来源。
2、2.用户当前的工作模式
提示:描述用户当前所采取的管理模式和手段,以及效果。如:用户所使用的软件,软、硬件环境,或用户传统管理工作的方式等内容。同时,要描述用户现行的实际工作效果,在现行工作中存在的问题。
3、3.用户的实际需求
3.1用户要解决的相关实际问题
提示:本项内容主要用于描述本软件开发项目要解决实际工作中的基本问题是什么,同时,要提出为什么要采用该方法,要达到一个什么样的目的。分别阐述下列内容:
实际管理工作目标。
管理工作对信息的要求。
软件使用对象。
业务流程。
3.2用户对任务/功能的要求
提示:该部分是本文档的主要内容,需要根据软件要达到的目标、业务流程、组织文化、工作特点等相关内容给出软件总体的功能概况。需要分功能项具体描述每个功能项。特别需要注意的是所有功能的设置要符合目标和满足实际工作要求的具体需要。如果是软件的版本升级,请比较差异并说明不同之处。
3.2.1功能概述
提示:用总体用例图、功能树状(层次)图描述。
3.2.2功能项描述
提示:需要对每一个功能项进行描述,这需要描述准确、清晰和易理解。
l 功能项1
l 功能项2
l ……….
l 功能项n
3.2.3其它功能要求
提示:主要描述一些特殊的额外的功能,如:并发性功能、打印要求、数据格式、统计报表要求等。
3.3用户对环境的要求
提示:描述软件应用的环境要求,在开发中必须考虑的环境是什么,特别需要注意物理环境对于将来软件开发和应用的影响,特别需要关注软件所要面对的使用对象的特点和他们所具备的条件。
3.4用户对易用性的要求
提示:描述软件易用性相关的需求,针对不同的使用对象应有不同的易用性特点,需要对使用对象进行必要的研究,研究他们知识背景、工作习惯等。
3.5用户对硬件/软件的要求
提示:确定所要开发软件必须满足的软硬件需求,如:个人电脑、终端机、服务器、交换机及其它网络设备等的数量、性能等的基本要求。
3.6用户对质量的要求
提示:主要描述与用户对软件质量有关的需求,如:软件的稳定性、出错率、数据遗失情况、数据备份与恢复等。
3.7用户对性能的要求
提示:主要描述与所开发的软件性能有关的需求。主要包括:
数据处理能力可能包括:支持的终端数、支持并行操作的用户数、处理的资料文件和记录数、表和资料文件的大小。
时间特性可能包括:响应时间、更新处理时间、数据的转换和传送时间、运行时间等。
3.8用户对安全性的要求
提示:描述与软件安全有关的需求,如:数据的访问、共享、权限等。
3.9用户对可兼容性/可移植性的要求
提示:描述与软件可兼容性/可移植性有关的需求,特别是针对不同平台的网络环境下,该系统兼容性和移植性问题。
3.10用户对交付项的要求
提示:列出用户提出最终必须提交给用户的文档资料信息,可采用表1所示的格式和内容。

4、3.11用户对服务与支持的要求
提示:主要描述与用户今后使用中对软件开发组织技术支持有关的需求,如:维护承诺、维护方式及费用等。
3.12用户对培训的要求
提示:描述任何与用户培训有关的需求,如:有关系统安装调试维护培训、软件使用培训以等需求及费用问题。
3.13用户对包装的要求
提示:描述软件开发过程和完成后必须满足的包装需求。
5、4.附件:软件需求说明书文档提问样本单
提示:为与用户进行有效地沟通,需要用户根据自己的具体情况如实回答下面相关问题,可以是全部,也可以是部分,当然,也可根据实践情况增加相应内容,项目组还可根据软件开发项目的需要增加相应的提问,其目的要充分了解用户的具体需求,更好开发出用户满意的软件产品。
l 当前哪些子软件或相关软件正被使用?分别有多少用户使用?(用户当前的操作模式和习惯)
l 什么是解决方案可接受的价格范围?当解决方案可行时,哪些数据可用来对现行的系统使用效果与新的系统使用效果进行比较?如何完成这样的比较?(用户要解决的问题)
l 在任何时间任何地点可使用新软件的最大数量用户为多少?(用户对任务/功能的要求)
l 需要处理与电源波动或其它特殊要求及数据意外遗失有关的需求吗?(用户对质量的要求)
l 解决方案是否有特定的时间要求?比如在规定时间内进行窗口的切换,或每次所要求时间内统计和打印统计表等?(用户对性能的要求)
l 将来的扩展性是否支持外国字体,比如那些不是从左到右书写的文字?(国际化)
提供售后服务是否意味着获得“免费”支持(用户对服务与支持的要求)?