软件工程需求分析文档模板.docx
《软件工程需求分析文档模板.docx》由会员分享,可在线阅读,更多相关《软件工程需求分析文档模板.docx(10页珍藏版)》请在冰豆网上搜索。
软件工程需求分析文档模板
软件开发中心
SoftwareDevelopmentCenter
需求分析报告
项目名称<项目名称>
文档类别<文档类别>
文档编号<文档编号>
版本
密级<秘密>
二〇一〇年十二月二十日
版本修订记录
版本
日期
描述
作者
审核
目录
1引言3
1.1编写目的3
1.2背景3
1.3术语定义3
1.4参考资料3
2系统概述3
2.1系统功能框架3
2.2运行环境3
2.3开发环境3
2.4用户特点3
2.5条件与限制3
3功能描述3
3.1功能分解3
3.2各功能描述3
4数据描述3
5性能描述3
6接口描述3
7其他要求3
8未尽事宜3
附件3
1
引言
1.1编写目的
{简要说明编写这份需求分析报告的目的,指出预期的读者。
本软件需求分析报告的编写目的是为了提供一个由用户(或委托者)和开发者双方共同确定的开发系统的业务需求目标,并对所实现的软件功能做全面的规格描述。
同时,在用户业务需求的基础上,经过需求分析和数据整理,以向整个开发期提供关于软件系统的业务和数据的技术信息和整体描述,成为软件开发的技术基础,也作为系统设计和实现的目标及验收依据。
本软件需求分析报告的适用读者,一般为:
软件客户、软件需求分析人员、软件设计及开发者和相关的测试人员}
1.2背景
{1.说明待开发的软件系统的名称
2.列出本项目的任务委托单位、开发单位、协作单位、用户单位
3.说明项目背景,叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。
如果本次开发的软件系统是一个更大的系统的一个组成部分,则要说明该更大系统的组成和介绍本系统与其它相关系统的关系和接口部分
4.保密说明:
本项为可选项,只有当用户强烈要求对其业务内容进行保密,不允许被复制、使用和扩散到其企业范围之外时,才要对此项进行专门的保密说明
5.版权说明:
本项为可选项,若有必要,才要作有关的描述。
}
1.3术语定义
{列出本文档中提供全部需求所用到的专门术语的定义和首字母缩写词、缩略语的原文,以便对需求分析报告进行适当的解释}
1.4参考资料
{列出所本文档所使用的参考资料,包括:
A本软件开发所经核准的合同或标书或可行性报告等文档
B软件开发计划书
C与本项目有关的已发表的文件或资料
D本文件中各处引用的文件、资料,所采用的软件开发标准和规范
注意:
必须列出文件、资料的作者、标题、编号、发表日期和出版单位,以说明这些文件资料的来源。
若某些文档有保密要求的,则要说明其保密级别。
2系统概述
2.1系统功能框架
{主要介绍本软件系统的总体结构和总体功能划分,只要求提供影响需求的一般因素以及将要完成的软件功能摘要,不必说明具体的需求,也不必描写功能所要求的大量细节,本节主要目的仅仅是使需求更加易于理解:
可以从系统功能的层次结构、所应用的机构概况(如组织架构、业务范围、工作流程等)、所描述的数据对象、所包括的系统功能模块组合或功能列表等方面进行描述}
2.2运行环境
{说明本软件系统的运行环境的拓朴结构和布局,应包括通讯条件、网络环境、硬件配置、软件系统等,建议画出系统运行环境的体系结构图,说明在网络环境和硬件配置的最低要求下可运行的条件,要求说明网络的通讯协议要求和所需要的端口号、是否需要口令安全及网络许可等,罗列运行环境下所需要的支持性软件及有效版本号}
2.3开发环境
{为可选项,有必要说明时才适用。
一般情况认为,开发环境需要某种特定的硬件设备或某种指定的不常见的开发工具或者在特定的封闭式的开发环境下等特别情况,才认为有必要强调说明开发环境。
如果属于正常情况下都能够达到的开发环境,可以不做特别说明。
本软件系统的开发环境,应包括软件的开发工具、硬件配置、网络环境、软件平台、通讯条件、开发场所等内容。
}
2.4用户特点
{说明使用本软件系统的用户的特点,重点可以说说用户所处的行业特点。
建议从使用本系统的用户角色上进行分类说明,以充分说明操作人员、维护人员的教育水平、业务专长、计算机技术水平。
要注意的是,用户可能会在技术方面参差不齐,相差间距比较大,可以认为技术性比较强的用户可能会需要复杂、灵活并具备跨平台支持的工具,而计算机技术水平比较弱的入门用户则会需要使用方便、界面友好的工具。
}
2.5条件与限制
{为可选项,只要当软件系统的设计或开发受到某种特定的限制,或者影响需求的某种因素,这些因素可能不是软件的设计约束,但是他们的改变可能会影响某些需求的时候,要做相关的系统约束的介绍。
若存在以下方面的系统约束或条件限制时,可以进行相关的阐明:
(但不限于这些)
为完成本软件系统应具备的特定条件、开发单位已具备的条件以及尚需创造的条件,如:
现阶段未完全确定的需求或未到位的设备或与本系统相关的未明确的其他业务,需要做出相应的约束说明
必要时,还应说明用户及分合同承包者承担的工作、完成期限及其他条件与限制,如果用户及分合同承包者对系统的实现起到的某些作用会直接影响系统的成败则要特别说明
本系统的功能实现需要受到某些特定的行业规范的限制
本系统的开发需要受到用户对系统的工程化管理的某些特别的要求,包括用户规定对系统实现的全过程的变更规定
本系统开发工作所需的一些假定条件和必须满足的约束,如本功能的开发假定用户会熟练使用SQL语言,本功能的实现应该在某功能实现前开发完成等
本系统可能需要使用的所有购入构件、所有适用的许可或使用限制,以及所有相关的兼容性及互操作性或接口标准的有关限制和规定}
3功能描述
3.1功能分解
{可以用业务流程图的方式来说明本系统的软件业务需求,然后再对业务需求进行分析后逐步细化并分层所进行的功能分解的情况,可以用功能列表的方式进行表示,也可以采用数据流图的方式来描述新系统的逻辑模型图}
3.2各功能描述
{标题可以根据功能列表或数据流图中的功能模块自行决定,建议每一大块功能为单独一节,建议对于功能模块在此时就要加上有关标识号,编码规则在不违背公司ISO程序文件《文件编码和撰写规范》的要求自行制订。
详细描述系统各个需求做出相应功能的全部细节,要求对每一个需求只有一种解释,就是:
每一个需求都是可以验证的,各个需求的描述是不矛盾,也不冗余的,及同一需求不能在本需求分析报告中出现多次。
主要就是描述软件产品的输入如何转化程输出,即软件必须完成的基本动作。
对于每一类功能或每一个功能,均需要具体描述其输入、处理和输出的需求。
需求的功能描述建议参照以下格式进行书写:
XXXXXXXX(功能编号),XXXXXXXXX(功能名称)
功能
该功能的简述
业务
流程
画出该功能描述的相关业务流程图,也允许使用数据流图(底层)表示业务数据流的来源和处理去向
输入
罗列输入数据项及其属性要求(包括数据类型、长度等信息),并注明数据项输入的方式。
输入方式主要有三种:
手工录入、根据下拉框进行选择输入的、不可输入域根据某些已输入的信息由系统自动生成(需要根据公式自动计算,则要说明具体的计算公式)。
如果该输入数据项为唯一码或非空域,则要特别说明。
界面
若存在界面,则需注明参见某图表或参见某附件
必要时,介绍界面的流转
算法
详细描述该功能的业务逻辑及有关处理说明,包括将输入转化成有关的输出的具体算法
输出
罗列输入数据项及其属性要求(包括数据类型、长度等信息),如果输出格式是某张报表,则要求描述相应的报表格式,也可以注明参见某个图表或某个附件资料
备注
输入,修改内容如非特别说明,否则非空
本章节的标题可以根据本软件系统的相关功能列表进行安排}
4数据描述
{收集、整理各种原始数据、单据与报表,说明其来源或去处,详细说明每张原始数据报表中各个数据项的要求,包括:
数据类型、宽度、数值范围,必要时还可以说明数据的处理要求,如相关的计算公式、响应时间,数据发生量,处理方式,输出的要求等。
有关数据项的描述参照以下格式进行书写:
(至少要包括以下项目)
字段名称
类型
长度
代码
字段说明
default
取值范围
备注
序号
Char
5
Xh
本章节的标题可以根据本软件系统的相关数据结构进行安排}
5性能描述
{从整体来说,本条应具体说明软件、或人与软件交互的静态或动态数值需求,主要体现在软件的相关性能要求上,如系统的处理能力、数据精度、响应时间等等,要求在性能的有关指标上必须有量化的数值要求,具有一定的可测性。
其中静态数值需求包括:
可支持的终端或客户端数、可支持并行操作的用户数、可处理的记录数或字节数、所用到的表和各种数据资料的大小;
动态数值需求包括,欲处理的事务和任务或进程的数量、在正常情况何峰值工作条件下的一定时间周期中处理的数据总量等等
对精度需求的要求:
要说明有关数据的允许误差范围在多大的范围内,要求的数据精度达到小数点后面几位小数,当计算精度高于需求数据精度时,是采用整数部分取整,还是采取四舍五入的原则等要求
对数据容量的要求:
对某些业务数据发生批量处理时达到某种峰值情况下的容量要求,如对于证券交易的每日交易量可能会达到多大的极限,同时处理批量委托数据的数据容量情况,为此需要保证多大容量的硬盘空间及
需要多少配置的高性能的计算机系统作为硬件基础等等
对速度的要求:
在响应和处理速度方面满足使用需求在多少硬件配置或相似性能的硬件基础的前提下,要求业务处理在一秒内完成多少笔业务数据的实时采集,各种委托或报表数据的查询可根据数据量,要求控制在多少秒之内完成处理,盘后清算处理过程必须在半小时之内完成等等
对可靠性的要求:
说明系统必须在正常情况下运行稳定,并在非正常或意外情况下具有一定的坚固性。
在正常情况下,必须保证系统运行的完整性等等,通常情况下,可靠性可用以下几种指标进行评估:
可用时间占比(xx.xx%)、平均故障间隔时间(x小时)、平均修复时间(x小时)等等}
6接口描述
{为可选项,若存在有关的接口并且需要特别说明,否则容易产生用户和开发者对需求的二义性时需要详细描述,如用户界面、软件接口与硬件接口等。
用户界面,主要用来定义本需求分析报告中所涉及到的各种用户界面,可包括描述屏幕的布局、输入/输出项的属性、功能键/按钮的操作等等,具体描述的详细程度可以根据具体项目的实际需要来决定。
用户界面的描述可以详细到每一个具体屏幕,也可以只分成几个大类进行定义(如:
分为输入屏幕、查询屏幕、修改屏幕等几个大类)。
用户界面包括以下几种形式:
屏幕格式、报表或菜单的页面打印格式和程序功能键的可用性等。
如果用户界面的定义与某个功能相关,可以合并在第三章功能描述进行说明。
有关用户接口的说明,如屏幕格式或报表模板格式可以作为本需求分析报告的附件进行保存,也可以直接使用用户提供的原始表单或手写底稿模板作为附件保存。
软件接口:
指定需使用的其他软件产品,以及同其他应用系统之间的有关接口
硬件接口:
指出软件产品和系统硬件部件之间的每一个接口的逻辑特点。
通信接口:
指定各种通信接口、网络协议等信息}
7其他要求
{主要描述与本软件系统相关的各种属性的要求,可包括:
可用性、安全性、可维护性、可移植性等等。
可用性:
可以指定一些因素,如检查点、恢复和再启动等,以保证整个系统有一个确定的可用性级别,如在适当的时间点上,要有适当的系统数据备份和数据恢复功能,以便在系统失效、出现意外及数据出错、或有充分的需要的时候,可以在可接受的时间内得以恢复到最近或以前某个时间点的数据备份上。
对系统的数据备份和恢复时,要求联机用户做完当前操作后,是否需要提示联机用户退出系统,并禁止他们进行任何新的操作。
一般情况下,当系统数据备份或恢复工作完成时,才能允许用户重新登录并进行联机操作。
可用性还可以用符合公认的可用性标准,如:
微软的GUI界面标准。
安全性:
要求描述对系统的安全性要求,主要从使用该系统的用户通过密码或其他方式进行身份验证,待确认身份后方可允许他们进行相应的一些操作,密码之间需要加密保存,或在系统中隐藏显示或加密存储等。
对于用户对系统的操作权限,是如何进行授权,并如何进行保证其安全性的,每个用户对系统功能和相应数据的访问必须具有一定的授权后才能进行。
可维护性:
规定若干需求以确保软件是可维护的,并且容易维护的。
可移植性:
规定把软件从一种环境移植到另一种环境所需要的用户程序、用户接口兼容方面的约束等等。
}
8未尽事宜
{罗列在需求分析阶段必须解决的但目前尚未解决的问题,建议以列表的方式列出}
附件
{罗列与本需求分析报告相关的文档资料,可包括以下内容:
需求调研的有关原始资料及其清单
本文档中所提到的各个功能所涉及的用户界面有关约定、相关报表或模板格式、各种常规底稿模板等
进行的多次用户交流的《需求调研表》资料以及用户对需求访谈情况的书面手写修改意见资料等
其它相关资料(可以包括界面演示资料等)}