软件需求规格说明说格式和内容
软件需求规格说明是对分析和综合过程的结果描述,它包含了软件的功能、性能、接口、有效性等需求的描述信息。通常,描述需求规格说明的语言主要分为自然语言、形式化需求描述语言、结构化语言
引言
1.1 编写目的
· 阐明开发本软件的目的;
1.2 项目背景
· 标识待开发软件产品的名称、代码;
· 列出本项目的任务提出者、项目负责人、系统分析员、系统设计员、程序设计员、程序员、资料员以及与本项目开展工作直接有关的人员和用户;
· 说明该软件产品与其他有关软件产品的相互关系。
1.3 术语说明
列出本文档中所用到的专门术语的定义和英文缩写词的原文。
1.4 参考资料(可有可无)
列举编写软件需求规格说明时所参考的资料,包括项目经核准的计划任务书、合
同、引用的标准和规范、项目开发计划、需求规格说明、使用实例文档,以及相关产品
的软件需求规格说明。
在这里应该给出详细的信息,包括标题、作者、版本号、发表日期、出版单位或资
料来源。
2.项目概述
2.1 待开发软件的一般描述
描述待开发软件的背景,所应达到的目标,以及市场前景等。
2.2 待开发软件的功能
简述待开发软件所具有的主要功能。为了帮助每个读者易于理解,可以使用列表或
图形的方法进行描述。使用图形表示,可以采用:
· 顶层数据流图;
· 用例UseCase图;
· 系统流程图;
· 层次方框图。
2.3 用户特征和水平(是哪类人使用)
描述最终用户应具有的受教育水平、工作经验及技术专长。
2.4 运行环境
描述软件的运行环境,包括硬件平台、硬件要求、操作系统和版本,以及其他的软
件或与其共存的应用程序等。
2.5 条件与限制
给出影响开发人员在设计软件时的约束条款,例如:
· 必须使用或避免使用的特定技术、工具、编程语言和数据库;
· 硬件限制;
· 所要求的开发规范或标准。
3.功能需求
3.1 功能划分
列举出所开发的软件能实现的全部功能,可采用文字、图表或数学公式等多种方法
进行描述。
3.2 功能描述
对各个功能进行详细的描述。
4.外部接口需求
4.1 用户界面
对用户希望该软件所具有的界面特征进行描述。以下是可能要包括的一些特征:
· 将要采用的图形用户界面标准或产品系列的风格;
· 屏幕布局;
· 菜单布局;
· 输入输出格式;
· 错误信息显示格式;
建议采用RAD开发工具, 比如Visio,构造用户界面。
4.2 硬件接口
描述系统中软件产品和硬件设备每一接口的特征,以及硬件接口支持的设备、软件与硬件接口之间,以及硬件接口与支持设备之间的约定,包括交流的数据和控制信息的性质以及所使用的通信协议。
4.3 软件接口
描述该软件产品与其有关软件的接口关系,并指出这些外部软件或组件的名字和版本号。比如运行在什么操作系统上,访问何种类型的数据库,使用什么数据库连接组件,和什么商业软件共享数据等。
4.4 通信接口
描述和本软件产品相关的各种通信需求,包括电子邮件、Web浏览器、网络通信协议等。
4.5 故障处理
对可能的软件、硬件故障以及对各项性能而言所产生的后果进行处理。
5.性能需求
5.1 数据精确度
输出结果的精度。
5.2 时间特性
时间特性可包括如下几方面
·响应时间;
·更新处理时间;
·数据转换与传输时间;
·运行时间等。
5.3 适应性
在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,软件的适应能力。
6.其他需求
列出在本文的其他部分未出现的需求。如果不需要增加其他需求,可省略这一部分。
7.数据描述
7.1 静态数据
7.2 动态数据
包括输入数据和输出数据。
7.3 数据库描述
给出使用数据库的名称和类型。
7.4 数据字典
对于数据流图、层次方框图中出现的所有图形元素在数据字典中都要作为一个词条加以定义,使得每一个图形元素都有唯一的一个清晰明确的解释。
数据字典中所有的定义必须是严密的、精确的,不可有二意性。
7.5 数据采集
·列出提供输入数据的机构、设备和人员
·列出数据输入的手段、介质和设备;
·列出数据生成的方法、介质和设备。
8.附录
包括分析模型,待定问题图表等。