软件需求分析是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素 。
软件需求分析的任务


深入描述软件的功能和i性能确定软件设计的约束和软件同其他系统元素的接口细节定义软件的其他有效性需求![]()
任务:从现有的模型中导出目标系统的逻辑模型,解决目标系统的“做什么”的问题需求分析的过程(阶段)(1)问题识别
软件需求包括:
功能需求 资源使用需求
性能需求 成本消耗需求
环境需求 开发进度需求
可靠性需求 预先估计以后系统可能达到的目标
安全保密要求
用户界面需求
问题识别的另一项工作是建立分析所需要的通讯途径,以保证能顺利的对问题进行分析
(2)分析与综合
从信息流和信息结构出发,分析是否满足功能和性能要求,主要对数据进行分析
常用的分析方法
面向数据流的结构化分析方法(SA)
面向数据结构的Jackson方法(JSD)
结构化数据系统开发方法(DSSD)
面向对象的分析方法(OOA)等
(3)编制需求分析阶段的文档
软件需求说明书
数据要求说明书
初步的用户手册 (需求分析的时候开始编写)
修改、完善和确定软件开发实施计划
(4)需求分析的评审
系统定义的目标是否和用户要求的一致
系统需求分析阶段提供的文档资料是否齐全
文档中的描述是否完整,清晰
与所有其他系统成分的重要接口是否描述
软件需求分析的原则(分解,抽象,细化)
1,需要能够表达和理解问题的信息与和功能域
软件分析大师提出的指导性原则
1,在开始建立分析模型前先理解问题2,开发原型,使得用户能够了解将如何发生人机交互3,记录每个需求的起源及原因4,使用多个需求视图,5,给需求赋予优先级6,努力删除含糊行
软件需求规格说明的原则
从现实中分离功能,描述“要做什么”而不是“怎样实现”
要求使用面向处理的规格说明语言(系统定义语言)
软件需求方法
由对软件问题的信息域和功能域的系统分析过程及其表示方法组成
大多数的需求分析方法是由信息驱动的
结构化分析方法
面向数据流进行需求分析的方法
结构化分析方法适合于数据处理类型软件的需求分析