文档介绍:软件需求工程
2
第二章
第二章软件需求工程
2
软件需求分析的基本概念
结构化分析方法
原型化方法
(维护报告)
问题定义
编码
需求分析
设计
可行性研究
运行与维护
测试
开发
时期
运行
时期
计划时期
(目标与范围说明书)
(可行性论证论告)
(测试报告)
(程序)
(设计文档)
(需求说明书)
瀑布模型
软件需求分析是软件生命期中重要的一步,也是决定性的一步。
软件需求分析的基本概念
对系统应该提供的服务和所受到的约束进行理解、分析、建立文档、检验的过程——需求工程
?
?
软件需求分析的基本概念
软件需求分析的任务
需求分析阶段的任务:
在可行性分析的基础上,进一步了解确定用户需求。准确地回答“系统必须做什么?”的问题。获得需求规格说明书。
Boehm对软件需求的定义:
研究一种无二义性的表达工具,它能为用户和软件人员双方都接受并能够把“需求”严格地、形式地表达出来。
由于需求分析方法不同,描述形式不同。其实现步骤如下图所示:
当前系统
模型化
目标系统
物理模型
具体化
物理模型
抽象化
逻辑模型
实例化
逻辑模型
做什么
导出
理解需求表达需求
软件需求分析的任务
软件需求
用户需求
系统需求
功能需求
非功能需求
领域需求
需求工程过程
问题识别
分析与综合
编写文档
分析评审
需求分析过程
可行性研究
需求导出
和分析
需求描述
需求有效性
验证
可行性报告
系统模型
用户需求和
系统需求
需求文挡
近几年来已提出许多软件需求分析与说明的方法,每一种分析方法都有独特的观点和表示方法,但都适用下面的基本原则。
需求分析的原则
需求分析的原则
1、能够表达和理解问题的信息域和功能域
对于计算机程序处理的数据,其信息域包括信息流(如下图,即数据通过一个系统时的变化方式)、信息内容和信息结构,而功能域反映上述三方面的控制信息。
数据存储
转换1
转换2
附加
数据
输入数据
中间数据
结果数据
需求分析的原则
2、能够对问题进行分解和不断细化,建立问题的层次结构。
3、需要给出系统的逻辑视图和物理视图
软件需求的逻辑视图给出的是软件要达到的功能和要处理信息之间的关系,而不是实现的细节。
软件需求的物理视图给出的是处理功能和信息结构的实际表现形式,这往往是由设备本身决定的。
需求分析方法
不同的开发方法,需求分析的方法也有所不同,常见的分析方法有:
需求分析方法
功能分析方法
将系统看作若干功能模块的集合,每个功能又可以分解为若干子功能,子功能还可继续分解,分解的结果已经是系统的雏形。
面向对象的分析方法
面向对象的分析方法(OOA)的关键是识别问题域内的对象,分析它们之间的关系,并建立起三类模型。
信息建模法
是从数据的角度对现实世界建立模型的,基本工具是ER图。
结构化分析方法
是一种以数据、数据的封闭性为基础,从问题空间到某种表示的映射方法,由数据流图(DFD图)表示。