软件需求规格说明书
的有关信息介绍如下:软件开发之前用文档来限定软件需要的规格,包括各个模块的样式、模块之间的链接及跳转、需要准备的软件和硬件规格等等。
1 引言
①目的
提示:主要描述软件开发项目需求规格说明书的目的,如:
l 定义总体要求(指软件使用目标、具体要求,开发软件要达到的主要目的,本说明书要达到什么样的目的),作为用户和软件开发人员之间相互了解的基础;
l 提供性能要求、初步设计和对用户影响的信息,作为开发人员进行设计和实施的基础;
l 作为总体验证和软件最终确认的依据。
②定义
提示:应列出软件需求规格说明书中用到的全部术语、定义和缩略语清单。这些信息可放在附录中,也可以参考其他的文件,如果有,在此必须指明。
③参考资料
提示:列出下列资料:
经核准的《软件开发合同》或《项目开发委托合同书》、《软件开发项目立项审批表》等文件;
本项目的较高层次的开发文档,如:《软件开发项目计划书》、《软件开发配置管理计划》、《软件开发质量保证计划》、《软件需求说明书》等;
需求规格说明书中各处引用的资料、标准和规范。以及这些资料的作者、标题、编号、发表日期、出版单位或资料来源等信息。
2 总体概述
①产品标识
提示:主要列出软件产品的标识:名称、缩称、版本号等。标识必须具有唯一性,这是根据软件开发组织或开发者的标识方式进行标识。
②产品描述
A) 系统属性
提示:本节描述被开发的软件产品与其他相关产品之间的关系。
如果该产品是独立的,应在此加以说明;
如果该产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系。如果这部分内容已包含在较高层次的说明(如《软件需求说明书》)中,应在此加以指明。
在此不需要描述设计方案和设计约束。
②开发背景
提示:主要说明软件开发项目的以下内容:
l 该软件开发的主要目的和在管理过程中的作用;
l 要实现的管理目标;
l 要达到的管理要求;
l 采用的管理方法和策略;
l 实施管理的基本内容和组织方式;
l 相关资料的基本形式、数据量等;
l 使用对象的说明。
③产品管理功能
提示:主要为软件开发人员提供软件管理功能的简单描述,无须描述管理功能的细节。但要为每一管理功能的需求分配一个唯一性的标识,以利于需求的跟踪和测试。应说明管理功能的优先级定义,和每一管理功能的优先级(从用户角度而言)。优先级定义可采用以下方法(QFD对功能需求的分类方法):
l 高——必须实现的管理功能,用户有明确的管理功能定义和要求;
l 中——应该实现的管理功能,用户的管理功能定义和要求可能是模糊的、不具体的、或低约束的,但是这类管理功能的缺少会导致用户的不满意,因此这类管理功能的具体需求应当由需求分析人员与用户共同协商产生并加以明确;
l 低——尽量实现的管理功能,并可根据开发进度进行取舍,但这类管理功能的实现将会增加用户的满意度。
提示:可用以下列表格(如表1所示)来说明功能,也可配合软件的功能结构图加以说明
③用户的特点
提示:主要描述影响具体软件产品需求的最终用户和使用对象的特点,这是对产品开发工作的重要约束。
l 充分说明软件使用管理维护人员的知识背景、技术专长和维护管理的能力。
l 使用对象的知识背景、认知规律、学习习惯、目前所采用的工作方法等信息。
④限制与约束
提示:主要描述软件产品开发工作的某些限制,例如经费限制、开发期限、硬件限制、工具、语言、通信协议、安全和保密要求、使用对象某些特殊性、管理信息资料的获取、开发过程中须遵守的某些标准或规则等。
提示:描述的内容不是陈述具体需求或设计约束,而是为具体需求以及设计约束的描述提供依据。
3 具体需求
提示:在说明中应包括在进行软件结构设计和功能设计时所需的全部细节。
①功能需求
提示:主要描述的每一管理功能需求。在描述中可以划分为若干小节,每一小节逐一说明每一管理功能需求。
将各功能需求具体描述为输入、处理和输出的需求。本节可用自然语言描述;也可用形式化的方法描述,如数据流图(DF④、工作业务流程图方法等。主要由以下内容组成:
l 输入:分别详细描述各管理功能的所有输入数据,包括:输入源、类型、长度、数值范围、精度、量纲、数量、更新和处理频度等;
l 处理:定义对输入数据的全部操作,以获得预期的输出数据,包括:输入数据的有效性检验、操作时序或优先级、异常情况处理、输出数据的有效性检验等;
l 输出:详细描述该功能的所有输出数据,包括:接受者、类型、长度、数值范围、精度、量纲、数量、出错信息等。
可用表2所示的方式描述。
②性能需求
提示:说明软件数据处理能力和时间特性的需求。主要要描述以下两点内容:
l 数据处理能力可包括:支持的终端数、支持并行操作的用户数、处理的文件和记录数、表和文件的大小(特别是一些管理信息资料的文件大小、数据量等)。
l 时间特性可包括:响应时间、更新处理时间、数据的转换和传送时间、运行时间等。
③数据库需求
提示:主要说明对软件所应用的数据库的需求,如:数据项、记录、文件标识、静态和动态的组织、存取能力等。
④设计约束
①其他标准的约束
提示:主要描述由现有的标准或规则派生的一些对开发工作的要求,如:
l 成绩报表格式;
l 数据命名;
l 管理或业务相关的基本原则;
l 审计追踪;
②硬件约束
提示:主要描述包括各种所需软件运行的硬件约束,如:
l 硬件配置的特点;
l 网络传输数据的要求;
l 内存储器和辅助存储器的容量要求。
⑤外部接口需求
①用户接口
提示:说明为方便用户使用而提出的软件用户界面的需求。如:屏幕设计、管理信息内容呈现方式、成绩报表格式、操作菜单格式、输入输出时间、功能键的使用、操作的要求等。
②硬件接口
提示:需要说明软件与硬件间各接口,可使用接口框图进行说明。说明的主要内容包括:
l 接口标识;
l 功能描述;
l 信号方向、格式、传输协议;
l 优先级;
l 响应时间;
l 异常处理。
在接口框图中应对每一硬件,提供名称、缩写、型号、数量,并说明其主要功能。可在图中用代码表示,建立数据字典来对各种设备进行说明。
③软件接口
提示:指定需使用的其他软件产品(如:数据库管理系统、操作系统、数据处理软件包等),以及同其他应用软件系统之间的接口。如果已有完整的接口文件,需指明。说明内容包括:
l 接口标识;
l 功能描述;
l 数据流程和控制流程的方向;
l 数据格式、容量;
l 接口类型(如手动或自动);
l 接口数据中断的优先级别;
l 中断响应时间;
l 异常处理等。
对每一个所需的软件产品,需提供名称、缩写、规格说明、版本号、来源等内容。
④通信接口
提示:应指定各种通信接口,如局域网的协议等。
4 附录
①业务流程图;
提示:描述该软件的业务过程图、信息流程图、管理信息呈现方式、相应管理信息的具体内容等。
②输入、输出格式样本
提示:工作中需要的输入和输出特殊格式