北京北京理工大学大学
软件工程实践软件工程实践
汤铭端汤铭端
中国航天科工集团公司706所
第三讲第三讲
需求分析需求分析
内容
需求分析概念
需求分析过程
需求分析方法需求分析方法
需求分析产品
目的
掌握需求分析基本概念
掌握需求分析过程
了解基本需求分析方法了解基本需求分析方法 ((DFD+DDDFD+DD))
了解需求规格说明的内容条目
需求分析概念需求分析概念
软件需求的定义
客户定义的“需求”对开发者是一个较高层次的产品概念。
开发者所说的开发者所说的 “需求需求”对用户来说像是详细说明对用户来说像是详细说明。
软件需求包含多个层次,不同层次的需求从不同角度与不
同程度反映着细节问题。
IEEE软件工程术语(1997)的需求定义:
(1)用户解决问题或达到目标所需的条件或能力。
((22))系统或系统部件要满足合同系统或系统部件要满足合同、标准标准、规范或其它正规范或其它正
式强制性文件所需具有的条件或能力。
(3)反映反映上面面 (1)或或 (2)所描述的条件或能力的文档所描述的条件或能力的文档
说明。
上述定义包括从用户(外部)、从开发者(内部)角度来
阐述需求阐述需求。
需求的层次
业务需求(business requirement):反
映组织机构或客户对系统映组织机构或客户对系统、产品高层次产品高层次
的目标要求。
用户需求(user requirement):描述用
户使用产品必须要完成的任务户使用产品必须要完成的任务。
功能需求(functional requirement ):
定义开发人员必须实现的软件功能定义开发人员必须实现的软件功能。
需求规格说明中还包括非功能需求。
软件需求各组成部分之间关系
业务需求
项目视图与范围文件项目视图与范围文件
用户需求 质量属性
使用实例文档 其它非功能需求
系统需求 功能需求 约束条件
软件需求规格说明
需求管理的困难性
不成熟的需求分析
1. 无足够用户参与
2. 用户需求的不断增加
3. 摸棱两可的需求摸棱两可的需求
4. 不必要的特征(镀金)
5. 过于精简的规格说明
6. 忽略了用户分类忽略了用户分类
7. 不准确的计划不准确的计划
高质量需求过程的获益
开发后期和整个维护阶段的重做的工作大大减少
BoehmBoehm发现可以节省成本发现可以节省成本6868倍倍
有研究认为可以节省成本200倍
强调产品开发中的通力合作强调产品开发中的通力合作,面向市场面向市场,让用户积极让用户积极
参与,可以建立忠实的客户关系,避免在无用功能上
白耗精力,弥补用户期望和开发者实际开发间的期望
鸿沟鸿沟
采用系统方法将需求分配到各子系统可以简化集成
有效的变更控制和影响分析能降低变更的负面影响有效的变更控制和影响分析能降低变更的负面影响
清晰、无二义的需求文档有利于测试
需求说明的特征
完整性
正确性
可行性可行性
原创力文档

文档评论(0)