一 需求分析的概念与意义
所谓的需求分析,就是对待开发系统要做什么,完成什么功能的全面描述
软件的一些特性使得需求的获取常常并不容易!
比如软件功能复杂,需求可变性,软件的不可见性
二 获取需求的方法
- 面谈
- 实地观察
- 问卷调查
- 查询资料
三 需求分析过程
3.1标识问题
首先就是对文题的标准化定义;其次界定人机的关系,就是说什么是计算机可以完成的,什么是计算机不可以完成的;再者就是对原始数据要建立模型。
3.2建立需求模型
借助模型来理解系统涉及的各种业务活动与各个部件的的相互作用关系和约束(UML,DFD,IDEF0)
3.3描述需求
- 需求概述:描述软件项目研发的背景与意义等
- 功能需求:描述系统的总体结构与功能
- 性能需求:相应时间,存储容量,对系统的性能要求
- 环境需求:硬件,操作系统的需求
- 信息需求(数据需求):信息的范围,属性,数据之间的关系与约束
- 其他需求:安全性需求等
3.4确认需求
审核内容:
- 功能需求
- 性能需求
- 数据需求
- 数据管理
- 其他需求
四 需求分析方法
4.1结构化分析与功能建模方法(自顶向下,逐步细化)优点在于:
(1)不过早陷入具体的细节
(2)宏观入手分析问题
(3)图形化表示
(4)不涉及过多的技术用语(便于客户理解)
4.2DFD建模方法
基本元素由数据流,处理,数据存储,外部项组成
DFD方法建模的主要核心是数据流
建模过程:
- 明确目标,系统的范围
- 构建顶层图
- 构建第一层分解图
- 构建层次结构图
- 建立确认DFD图
满足要求: - 父图中出现的数据流要在子图中出现
- 一个处理至少由一个输入流和一个输出流
- 一个存储必定要有流入的数据流和流出的数据流
- 一个数据流至少由一端为处理框
- 表达描述的信息要完整,全面,一致
4.3IDEFO建模方法
基本元素由箭头,矩形框组成