需求分析重要性

  • 对软件需求深入理解是开发成功的前提和关键。

Frederick Brooks在1987年经典文章“No Silver Bullet”中阐述需求重要性:

  • 开发软件系统最困难的部分就是准确说明开发什么,
  • 最困难的概念性工作是编写出详细需求,包括所有面向用户、面向机器和其它软件系统的接口。
  • 此工作一旦做错,将会给系统带来极大损害,并且以后对它修改也极为困难。

结构化分析核心思想

面向数据流需求分析方法,20世纪70年代末,E.Yourdon提出,应用广泛。
核心思想:
分解化简问题
物理与逻辑表示分开
进行数据与逻辑抽象

结构化分析具体步骤

1.发现需求
2.求精
3.建模
4.编写规格说明
5.复审

1. 发现需求方法:

  1. 与用户交谈,向用户提问题;
  2. 参观用户的工作流程,观察用户的操作;
  3. 向用户群体发调查问卷;
  4. 与同行、专家交谈,听取他们的意见;
  5. 分析已经存在的同类软件产品,提取需求;
  6. 从行业标准、规则中提取需求;
  7. 从网上搜查相关资料等。

2. 求精:

对初步需求反复求精多次细化。

3. 建模:

建立模型,用图形符号和组织规则书面描述事物。
结构化分析概述

1个核心,3个模型

模型核心:数据字典
描述软件使用和产生的所有数据对象。

数据模型
实体-联系图(E-R图)描述数据对象间关系
图中数据对象属性用“数据对象描述”表达。

功能模型
数据流图(DFD)描绘数据在软件中移动、变换及相应功能
图中功能用“处理规格说明”表达。

行为模型
状态转换图描绘系统状态和在不同状态间转换方式。
图中软件控制附加信息用“控制规格说明”表达。

4. 书写规格说明:

书写软件需求规格说明,作为分析阶段最终成果。

5. 复审

相关文章: