0%

第三章 需求分析

为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深人理解是软件开发工作获得成功的前提条件。

image-20250521095947355

任务

确定对系统的综合要求

  1. 功能需求 系统必须提供的服务
  2. 性能需求 系统必须满足的定时/容量约束,速度、主存/磁盘容量、安全性等
  3. 可靠性和可用性需求 可靠性:给定时间段内,系统成功运行的概率。可用性:给定时间点内,系统成功运行的概率。量化了用户可以使用系统的程度
  4. 出错处理需求
  5. 接口需求 描述应用系统与它的环境通信的格式
  6. 约束 设计约束和实际约束 在过程中应遵循的限制条件 精度、工具或语言约束
  7. 逆向需求 说明系统不应该做什么 确定系统的边界
  8. 将来可能提出的需求 维护

分析系统的数据要求

构建数据库/数据要求

导出系统的逻辑模型

修正系统开发计划

与用户沟通获取需求的方法

访谈

  • 正式 事先准备问题
  • 非正式 开放性问题

  • 发放调查表,书面回答比起口头表达更加准确

  • 情景分析技术 给出具体情景

面向数据流自顶向下求精

结构化分析方法(SA)

面向数据流自顶向下逐步求精进行需求分析的方法

通过功能分解完成数据流图的细化

简易的规格说明技术

前两种用户比较被动

快速建立软件原型

  • 快速
  • 容易修改

分析建模与规格说明

分析建模
  • 数据模型 ER
  • 功能模型 DFD
  • 行为模型 状态图
软件需求规格说明

软件需求规格说明书,需求阶段得出的最主要的文档

image-20250525235355695

验证软件需求

  • 一致性 复查软件规格说明书
  • 完整性
  • 现实性
  • 有效性