软件需求分析

定义

软件需求分析:是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件的最后一步,是确定系统必须完成哪些工作,也是对目标系统提出完整、准确、清晰、具体的要求。

任务

需求分析是软件定义时期的最后一个阶段,它的基本任务是准确回答“系统必须做什么?”这个问题,具体的任务如下:

1、深入描述软件的功能和性能

2、确定软件设计的约束和软件同其他系统元素的接口细节

3、定义软件的其他有效性需求
软件需求分析

内容

功能需求

性能需求

环境需求

可靠性需求

安全保密要求

用户界面需求

资源使用需求

成本消耗需求

开发进度需求

预先估计以后系统可能达到的目标

过程

一、问题识别
1、从系统角度来理解软件并评审软件的范围是否恰当
2、确定对目标系统的综合要求,即软件的需求
3、提出这些要求时限条件,以及需求应达到的标准

二、分析与综合
从信息流和信息结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的约束,分析他们是否满足功能要求,是否合理。

三、编制需求分析阶段的文档
1、软件需求说明书
2、数据要求说明书
3、初步的用户手册
4、修改、完善与确定软件开发实施计划

四、需求分析评审
1、系统定义的目标是否与用户的要求一致
2、系统需求分析阶段提供的文档资料是否齐备
3、文档中的所有描述是否完整、清晰、准确反映用户的要求
4、与所有其他系统成分的重要接口是否都已经描述
软件需求分析

分析原则

1、在开始建立分析模型前,先理解问题
2、开发原型,使得用户能够了解将如何发生人机交互
3、记录每个需求的起源和原因
4、使用多个需求视图
5、给需求赋予优先级
6、努力删除含糊性

方法

1、动态分析方法(状态迁移图)

2、结构化分析方法
面向数据流进行需求分析的方法,结构化分析方法适合于数据处理类型软件的需求分析。

3、原型化方法
在开发初期,要想得到一个完整准确的规格说明不是一件容易的事,用户往往对系统只有一个模糊的想法,很难完全准确的表达对系统的全面要求。在软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。