需求工程 金芝 中国科学院数学与系统科学研究院 zhiJin@amss.accn
需求工程 金芝 中国科学院数学与系统科学研究院 zhijin@amss.ac.cn
本讲内容 ◆课程目的和背景 ◆教学和考试方式 ◆教学大纲和主要内容
本讲内容 课程目的和背景 教学和考试方式 教学大纲和主要内容
课程的目的 了解需求工程中的研究和◆理解需求工程的基本本质 实践的现状 获得对在需求工程领域进 需求工程在软件和软件工行进一步研究的背景知识 程中的地位和角色 对需求工程研究的方法学 ■需求工程中当前常用的技 的观点 术、方法和工具 该领域当前的研究的观点 ◆选择一种或多种需求工程 和方向 技术,获得对这些技术的 对相关文献的了解 实践经验
课程的目的 了解需求工程中的研究和 实践的现状 ◼ 需求工程在软件和软件工 程中的地位和角色 ◼ 需求工程中当前常用的技 术、方法和工具 选择一种或多种需求工程 技术,获得对这些技术的 实践经验 理解需求工程的基本本质 获得对在需求工程领域进 行进一步研究的背景知识 ◼ 对需求工程研究的方法学 的观点 ◼ 该领域当前的研究的观点 和方向 ◼ 对相关文献的了解
教学和考试方式 ◆每星期1×3小时的课(13个星期),其中: 12次文献阅读和课程设计 1次课程设计报告 ◆考试和评分 30%课堂学习、讨论、课程设计报告等 70%课程设计报告
教学和考试方式 每星期13小时的课(13个星期),其中: ◼ 1~2次文献阅读和课程设计 ◼ 1次课程设计报告 考试和评分 ◼ 30%课堂学习、讨论、课程设计报告等 ◼ 70%课程设计报告
为什么需要需求工程? ◆工程:有用的人工制品的构建,强调最终产品的实用性 和目的性(而不是创造性,对比与艺术) ◆需求:构造任何人工制品之前,首先要弄清楚的是 意图(为什么需要它) ◆其它大部分工程学科都不需要需求工程 ◆软件工程的特殊性:如何配置通用的机器去实现特定的 目的(产品是无形的,但是是有目的的) 软件工程的特殊性带来对软件的意图的理解上的困难: 软件问题往往包含了最复杂的难题 现实世界也没有对之进行任何物理上的约束
为什么需要需求工程? 工程:有用的人工制品的构建,强调最终产品的实用性 和目的性(而不是创造性,对比与艺术) 需求:构造任何人工制品之前,首先要弄清楚的是—— 意图(为什么需要它) 其它大部分工程学科都不需要需求工程 软件工程的特殊性:如何配置通用的机器去实现特定的 目的(产品是无形的,但是是有目的的) 软件工程的特殊性带来对软件的意图的理解上的困难: 软件问题往往包含了最复杂的难题 现实世界也没有对之进行任何物理上的约束
需求工程有多重要? ◆需求工程是软件工程的根基,项目规模的大小决定错误的代价 失败项目的例子 Performing Rights Society(演出权益协会), PROMS项目,花费1100万英镑之后被放弃 (1992年)。其中糟糕的需求工程是项目失败的一个主要因素,包括未能以常人能够理解 和检查的形式表达软件需求 Wessex Regional Information Systems Plan(地区信息系统),RISP项目,花费了4300 万英镑之后被放弃(1990年)。其主要原因包括缺乏对RISP项目范围的清晰定义 ■ London stock exchange(伦敦股票交易), TAURUS项目,花费了7500万英镑后被取消 (1993年)。许多问题起源于未能协调那些不一致的需求 ■ London ambulance Service Despatch System(伦敦救护车服务派遣系统),在运行两天 后被关闭(1992年),源于社会服务领糟糕的需求分析。 Swanick air traffic control(空中交通控制),计划在1998年完成,但2001年还未完成 (额外开支1.8亿英镑)。主要原因包括:缺乏健壮的需求规格说明而继续进行系统实现
需求工程有多重要? 需求工程是软件工程的根基,项目规模的大小决定错误的代价 失败项目的例子: ◼ Performing Rights Society(演出权益协会), PROMS项目,花费1100万英镑之后被放弃 (1992年)。其中糟糕的需求工程是项目失败的一个主要因素,包括未能以常人能够理解 和检查的形式表达软件需求。 ◼ Wessex Regional Information Systems Plan(地区信息系统), RISP项目,花费了4300 万英镑之后被放弃(1990年)。其主要原因包括缺乏对RISP项目范围的清晰定义。 ◼ London Stock Exchange(伦敦股票交易), TAURUS项目,花费了7500万英镑后被取消 (1993年)。许多问题起源于未能协调那些不一致的需求。 ◼ London Ambulance Service Despatch System(伦敦救护车服务派遣系统),在运行两天 后被关闭(1992年),源于社会服务领糟糕的需求分析。 ◼ Swanick Air Traffic Control(空中交通控制),计划在1998年完成,但2001年还未完成 (额外开支1.8亿英镑)。主要原因包括:缺乏健壮的需求规格说明而继续进行系统实现
Standish Groupl的调查结果 ◆调查范围:1995年开始,全国范围内的8000个 软件项目 调查结果 分之一的项目没能完成,而 在完成的三分之二的项目中,又有二分之一的项目没 有成功实施(几乎四分之三的项目有问题)。与需求 过程相关的原因占了45%,其中: ●缺乏最终用户的参与:13% ●不完整的需求:12%
Standish Group的调查结果 调查范围:1995年开始,全国范围内的8000个 软件项目 调查结果 ◼ 三分之一的项目没能完成,而 ◼ 在完成的三分之二的项目中,又有二分之一的项目没 有成功实施(几乎四分之三的项目有问题)。与需求 过程相关的原因占了45%,其中: ⚫ 缺乏最终用户的参与: 13% ⚫ 不完整的需求:12%
1996欧洲的调查结果 ◆IT、产品和服务部分的软件开发者一致将 需求规格说明和管理客户的雳求排序为他 们所面对的最重要的问题。 ◆需求被认为比编写文档、测试、质量保证、 标准、设计、配置管理和程序设计要明显 更容易出问题的地方
1996 欧洲的调查结果 IT、产品和服务部分的软件开发者一致将 需求规格说明和管理客户的需求排序为他 们所面对的最重要的问题 。 需求被认为比编写文档、测试、质量保证、 标准、设计、配置管理和程序设计要明显 更容易出问题的地方
其它一些调查结果 ◆ Boehm(1981) 以后修正需求错误比在需求阶段修正它要多化200倍 的代价。 ◆ Brooks(1987) ■构建软件最困难的阶段是精确地决定要构建什么 ESI(1996)-对17个国家3800公司的调查 ■大多数○>50%)被发现的问题在需求规格说明和管理 中
其它一些调查结果 Boehm (1981) ◼ 以后修正需求错误比在需求阶段修正它要多化200倍 的代价。 Brooks (1987) ◼ 构建软件最困难的阶段是精确地决定要构建什么 ESI (1996) – 对17个国家3800公司的调查 ◼ 大多数 (>50%) 被发现的问题在需求规格说明和管理 中
评述 项目需求无疑是在软件项目前期造成 麻烦的一个最大问题,一个又一个的 研究已经发现,当项目失败时,需求 问题通常正是其核心问题 (《 Software Runaways》, Glass,1998) 需求工程是“最关键性的和最易出问题的领域”。 (Hooper andand Hsia, 1982)
评述 项目需求无疑是在软件项目前期造成 麻烦的一个最大问题,一个又一个的 研究已经发现,当项目失败时,需求 问题通常正是其核心问题。 (《Software Runaways》,Glass,1998) 需求工程是“最关键性的和最易出问题的领域”。 (Hooper and and Hsia,1982)