第4讲需求分析 Requirements Analysis
第 4 讲 需求分析 Requirements Analysis
需求是什么?
需求是什么?
需求分析总述 ◆“系统必须做什么?"的问题。 ◆需求分析阶段真正的目标是确定客户需 要什么样的软件。 ◆软件开发者和用户起着同样重要的作用。 ◆需求分析是软件开发项目得以成功的基
需求分析总述 “系统必须做什么?”的问题。 需求分析阶段真正的目标是确定客户需 要什么样的软件。 软件开发者和用户起着同样重要的作用。 需求分析是软件开发项目得以成功的基 础
需求分析的重要性 ◆软件生命周期中,一个错误发现得越晚, 修复错误的费用越高。 ◆许多错误是潜伏的,并且在错误产生后 很长一段时间才被检查出来。 ◆在需求过程中会产生很多错误。 ◆在需求阶段,代表性的错误为疏忽、不 致和二义性。 ◆需求错误是可以被检查出来的
需求分析的重要性 软件生命周期中,一个错误发现得越晚, 修复错误的费用越高。 许多错误是潜伏的,并且在错误产生后 很长一段时间才被检查出来。 在需求过程中会产生很多错误。 在需求阶段,代表性的错误为疏忽、不 一致和二义性。 需求错误是可以被检查出来的
生命周期中修复软件的相对费用 阶段 相对修复费用 需求阶段 0.1~0.2 设计阶段 0.5 编码阶段 单元测试阶段 2 验收测试阶段 维护阶段 20
生命周期中修复软件的相对费用 需求阶段 设计阶段 编码阶段 单元测试阶段 验收测试阶段 维护阶段 0.1 ~ 0.2 0.5 1 2 5 20 阶段 相对修复费用
需求分析的困难性 ◆误解 ◆交流障碍 ◆缺乏共同语言 “完整性”问题 ◆需求永远不会稳定 ◆用户意见不统一 ◆错误要求 ◆认识混淆
需求分析的困难性 误解 交流障碍 缺乏共同语言 “完整性”问题 需求永远不会稳定 用户意见不统一 错误要求 认识混淆
需求工程 Requirements Engineering ◆需求工程 ◆通常是一些过程的集合 需求获取(需求获取) ◆需求分析 ◆编写软件规格说明书(SRS) ◆验证(包括确认和证实)
需求工程 通常是一些过程的集合: 需求获取(需求获取)、 需求分析 编写软件规格说明书(SRS) 验证(包括确认和证实)。 需求工程 Requirements Engineering
需求工程涉及人员 管理人员 软件开发小组 用户 分析人员 软件计划 软件需求规格说明 原型
需求工程涉及人员
需求分析的任务 ◆可行性分析阶段已经粗略了解了用户的 需求,甚至已经提出了一些可行的方案 但是,可行性研究的基本目的是用较小 的成本在较短的时间内确定是否存在可 行的方案。因此许多细节被忽略。 ◆在系统开发前,还需要进一步确定
需求分析的任务 可行性分析阶段已经粗略了解了用户的 需求,甚至已经提出了一些可行的方案, 但是,可行性研究的基本目的是用较小 的成本在较短的时间内确定是否存在可 行的方案。因此许多细节被忽略。 在系统开发前,还需要进一步确定
需求分析 ◆软件需求分析可分成6个任务 问题识别( problem recognition) ■评估和综合( evaluation and synthesis) ■建模( modeling) ■建立原型( prototyping ■规约( specification) 评审( review)
需求分析 软件需求分析可分成6个任务: ◼ 问题识别 (problem recognition) ◼ 评估和综合 (evaluation and synthesis) ◼ 建模 (modeling) ◼ 建立原型 (prototyping) ◼ 规约 (specification) ◼ 评审 (review)