第9章_软件开发增量模型.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9.1 概述
9.1.1.瀑布模型的局限性 ➢ 在20世纪80年代之前,瀑
布模型一直是唯一被广泛 采用的生命周期模型。 ➢ 传统的瀑布模型如图所示。
9.1 概述
• 瀑布模型的特点
➢ 阶段间具有顺序性和依赖性。其中包含两重含义: ① 必须等前一阶段的工作完成之后,才能开始后一
阶段的工作; ② 前一阶段的输出文档就是后一阶段的输入文档。
• 瀑布模型的特点
➢ 质量保证的观点 ① 每个阶段都必须完成规定的文档,没有交出合格
的文档就是没有完成该阶段的任务。 ② 每个阶段结束前都要对所完成的文档进行评审,
以便尽早发现问题,改正错误。
9.1wk.baidu.com概述
• 实际的瀑布模型
➢ 实际的瀑布模型是带 “反馈环”的,如图所 示。
9.1 概述
• 瀑布模型的优点
9.1 概述
1、探索型原理
这种类型的原型是把原型用于开发的需求分析阶段,目的 是要型清用户的需求,确定所期望的特性,并探索各种方案 的可行性。它主要针对开发目标模糊,用户与开发都对项目 都缺乏经验的情况,通过对原型的开发来明确用户的需求。
2、实验型原型
这种原型主要用于设计阶段,考核;实现方案是否合适, 能否实陋。对于一个大型系统,若对设计方案心中没有把握 时,可通过这种原型来证实设计方案的正确性。
9.2 渐增模型
9.2.2 演化提交模型
➢ 每个增量构件应当实现某种系统功能,因此增量构件的开发 可以采用瀑布模型的方式,如图所示。
9.2 渐增模型
• 采用增量模型需注意的问题
(1)在把每个新的增量构件集成到现有软件体系结构 中时,必须不破坏原来已经开发出的产品。
(2)软件体系结构必须是开放的,即向现有产品中加 入新构件的过程必须简单、方便。
• 增量方式包括增量开发和增量提交 • 增量开发指在项目开发周期内,以一定的时间间
隔开发部分工作软件 • 增量提交指在项目开发周期内,以一定的时间间
隔向用户提交工作软件及相应文档。
9.1 概述
9.1.3 增量模型的分类 1. 渐增模型 • 增量构造模型:在瀑布模型基础上,对一些阶段
进行整体开发,对另一些阶段进行增量开发 • 演化提交模型:所有阶段都进行增量开发。 2. 原型模型 • 探索型原型 • 实验型原型 • 演化型原型
9.3 快速原型模型
9.3.1 基本思想 1. 原型:原型是指模拟某种产品的原始模型,在其他产业中
经常使用。软件开发中的原型是软件的一个早期可运行的 版本,它反映了最终系统的重要特性。
• 快速原型模型又称原型模型,它是增量模型的另一种形式; 它是在开发真实系统之前,构造一个原型,在该原型的基 础上,逐渐完成整个系统的开发工作。快速原型模型的第 一步是建造一个快速原型,实现客户或未来的用户与系统 的交互,用户或客户对原型进行评价,进一步细化待开发 软件的需求。通过逐步调整原型使其满足客户的要求,开 发人员可以确定客户的真正需求是什么;第二步则在第一 步的基础上开发客户满意的软件产品。
➢ 瀑布模型只适用于项目开始时需求已确定的情况。 ➢ 很难适应需求可变、模糊不定的软件系统的开发,
而且再开发过程中,用户很难参与进去,只有到 开发结束才能看到整个软件系统。
9.1 概述
9.1.2 增量模型的基本思想
• 增量模型属于非整体开发模型,它推迟某些阶段 或所有阶段的细节,从而较早的产生工作软件
3、演化型原型
这种原型主要用于及早向用户提交一个原型系统,该原型 系统或者包含系统的框架,或者包含系统的主要功能,在得 到用户的认可后,将原型系统不断扩充演变为最终的软件系 统。它将原型的思想扩展到软件开发的全过程。
9.2 渐增模型
9.2.1增量构造模型
➢ 增量模型也称为渐增模型,是Mills等于1980年 提出来的。
9.1 概述
• 瀑布模型的特点
➢
① 瀑布模型在编码之前设置了系统分析和系统设计 的各个阶段,分析与设计阶段的基本任务规定, 在这两个阶段主要考虑目标系统的逻辑模型,不 涉及软件的物理实现。
② 清楚地区分逻辑设计与物理设计,尽可能推迟程 序的物理实现,是按照瀑布模型开发软件的一条 重要的指导思想。
9.1 概述
➢ 使用增量模型开发软件时,把软件产品作为一系 列的增量构件来设计、编码、集成和测试。
➢ 每个构件由多个相互作用的模块构成,并且能够 完成特定的功能。
9.2 渐增模型
• 增量构造模型
➢ 增量构造模型如图所示。
9.2 渐增模型
• 增量模型的优点
(1)能在较短时间内向用户提交可完成一些有用的工作产品, 即从第1个构件交付之日起,用户就能做一些有用的工作。
9.3 快速原型模型
➢ 可强迫开发人员采用规范化的方法。 ➢ 严格地规定了每个阶段必须提交的文档。 ➢ 要求每个阶段交出的所有产品都必须是经过验证
的。
9.1 概述
• 瀑布模型的缺点
➢ 由于瀑布模型几乎完全依赖于书面的规格说明, 很可能导致最终开发出的软件产品不能真正满足 用户的需要。如果需求规格说明与用户需求之间 有差异,就会发生这种情况。
(2)逐步增加产品的功能可以使用户有较充裕的时间学习和适 应新产品,从而减少一个全新的软件可能给用户组织带来 的冲击。
(3)项目失败的风险较低,虽然在某些增量构件中可能遇到一 些问题,但其他增量构件将能够成功地交付给客户。
(4)优先级最高的服务首先交付,然后再将其他增量构件逐次 集成进来。因此,最重要的系统服务将接受最多的测试。
1. 2。快速原型思想的产生
9.3 快速原型模型
• 由于种种原因,在需求分析阶段得到完全、一致、准确、合 理的需求说明是很困难的,在获得一组基本需求说明后,就 快速地使其“实现”,通过原型反馈,加深对系统的理解, 并满足用户基本要求,使用户在试用过程中受到启发,对需 求说明进行补充和精确化,消除不协调的系统需求,逐步确 定各种需求,从而获得合理、协调一致、无歧义的、完整的、 现实可行的需求说明。又把快速原型思想用到软件开发的其 他阶段,向软件开发的全过程扩展。即先用相对少的成本, 较短的周期开发一个简单的、但可以运行的系统原型向用户 演示或让用户试用,以便及早澄清并检验一些主要设计策略, 在此基础上再开发实际的软件系统。
9.1.1.瀑布模型的局限性 ➢ 在20世纪80年代之前,瀑
布模型一直是唯一被广泛 采用的生命周期模型。 ➢ 传统的瀑布模型如图所示。
9.1 概述
• 瀑布模型的特点
➢ 阶段间具有顺序性和依赖性。其中包含两重含义: ① 必须等前一阶段的工作完成之后,才能开始后一
阶段的工作; ② 前一阶段的输出文档就是后一阶段的输入文档。
• 瀑布模型的特点
➢ 质量保证的观点 ① 每个阶段都必须完成规定的文档,没有交出合格
的文档就是没有完成该阶段的任务。 ② 每个阶段结束前都要对所完成的文档进行评审,
以便尽早发现问题,改正错误。
9.1wk.baidu.com概述
• 实际的瀑布模型
➢ 实际的瀑布模型是带 “反馈环”的,如图所 示。
9.1 概述
• 瀑布模型的优点
9.1 概述
1、探索型原理
这种类型的原型是把原型用于开发的需求分析阶段,目的 是要型清用户的需求,确定所期望的特性,并探索各种方案 的可行性。它主要针对开发目标模糊,用户与开发都对项目 都缺乏经验的情况,通过对原型的开发来明确用户的需求。
2、实验型原型
这种原型主要用于设计阶段,考核;实现方案是否合适, 能否实陋。对于一个大型系统,若对设计方案心中没有把握 时,可通过这种原型来证实设计方案的正确性。
9.2 渐增模型
9.2.2 演化提交模型
➢ 每个增量构件应当实现某种系统功能,因此增量构件的开发 可以采用瀑布模型的方式,如图所示。
9.2 渐增模型
• 采用增量模型需注意的问题
(1)在把每个新的增量构件集成到现有软件体系结构 中时,必须不破坏原来已经开发出的产品。
(2)软件体系结构必须是开放的,即向现有产品中加 入新构件的过程必须简单、方便。
• 增量方式包括增量开发和增量提交 • 增量开发指在项目开发周期内,以一定的时间间
隔开发部分工作软件 • 增量提交指在项目开发周期内,以一定的时间间
隔向用户提交工作软件及相应文档。
9.1 概述
9.1.3 增量模型的分类 1. 渐增模型 • 增量构造模型:在瀑布模型基础上,对一些阶段
进行整体开发,对另一些阶段进行增量开发 • 演化提交模型:所有阶段都进行增量开发。 2. 原型模型 • 探索型原型 • 实验型原型 • 演化型原型
9.3 快速原型模型
9.3.1 基本思想 1. 原型:原型是指模拟某种产品的原始模型,在其他产业中
经常使用。软件开发中的原型是软件的一个早期可运行的 版本,它反映了最终系统的重要特性。
• 快速原型模型又称原型模型,它是增量模型的另一种形式; 它是在开发真实系统之前,构造一个原型,在该原型的基 础上,逐渐完成整个系统的开发工作。快速原型模型的第 一步是建造一个快速原型,实现客户或未来的用户与系统 的交互,用户或客户对原型进行评价,进一步细化待开发 软件的需求。通过逐步调整原型使其满足客户的要求,开 发人员可以确定客户的真正需求是什么;第二步则在第一 步的基础上开发客户满意的软件产品。
➢ 瀑布模型只适用于项目开始时需求已确定的情况。 ➢ 很难适应需求可变、模糊不定的软件系统的开发,
而且再开发过程中,用户很难参与进去,只有到 开发结束才能看到整个软件系统。
9.1 概述
9.1.2 增量模型的基本思想
• 增量模型属于非整体开发模型,它推迟某些阶段 或所有阶段的细节,从而较早的产生工作软件
3、演化型原型
这种原型主要用于及早向用户提交一个原型系统,该原型 系统或者包含系统的框架,或者包含系统的主要功能,在得 到用户的认可后,将原型系统不断扩充演变为最终的软件系 统。它将原型的思想扩展到软件开发的全过程。
9.2 渐增模型
9.2.1增量构造模型
➢ 增量模型也称为渐增模型,是Mills等于1980年 提出来的。
9.1 概述
• 瀑布模型的特点
➢
① 瀑布模型在编码之前设置了系统分析和系统设计 的各个阶段,分析与设计阶段的基本任务规定, 在这两个阶段主要考虑目标系统的逻辑模型,不 涉及软件的物理实现。
② 清楚地区分逻辑设计与物理设计,尽可能推迟程 序的物理实现,是按照瀑布模型开发软件的一条 重要的指导思想。
9.1 概述
➢ 使用增量模型开发软件时,把软件产品作为一系 列的增量构件来设计、编码、集成和测试。
➢ 每个构件由多个相互作用的模块构成,并且能够 完成特定的功能。
9.2 渐增模型
• 增量构造模型
➢ 增量构造模型如图所示。
9.2 渐增模型
• 增量模型的优点
(1)能在较短时间内向用户提交可完成一些有用的工作产品, 即从第1个构件交付之日起,用户就能做一些有用的工作。
9.3 快速原型模型
➢ 可强迫开发人员采用规范化的方法。 ➢ 严格地规定了每个阶段必须提交的文档。 ➢ 要求每个阶段交出的所有产品都必须是经过验证
的。
9.1 概述
• 瀑布模型的缺点
➢ 由于瀑布模型几乎完全依赖于书面的规格说明, 很可能导致最终开发出的软件产品不能真正满足 用户的需要。如果需求规格说明与用户需求之间 有差异,就会发生这种情况。
(2)逐步增加产品的功能可以使用户有较充裕的时间学习和适 应新产品,从而减少一个全新的软件可能给用户组织带来 的冲击。
(3)项目失败的风险较低,虽然在某些增量构件中可能遇到一 些问题,但其他增量构件将能够成功地交付给客户。
(4)优先级最高的服务首先交付,然后再将其他增量构件逐次 集成进来。因此,最重要的系统服务将接受最多的测试。
1. 2。快速原型思想的产生
9.3 快速原型模型
• 由于种种原因,在需求分析阶段得到完全、一致、准确、合 理的需求说明是很困难的,在获得一组基本需求说明后,就 快速地使其“实现”,通过原型反馈,加深对系统的理解, 并满足用户基本要求,使用户在试用过程中受到启发,对需 求说明进行补充和精确化,消除不协调的系统需求,逐步确 定各种需求,从而获得合理、协调一致、无歧义的、完整的、 现实可行的需求说明。又把快速原型思想用到软件开发的其 他阶段,向软件开发的全过程扩展。即先用相对少的成本, 较短的周期开发一个简单的、但可以运行的系统原型向用户 演示或让用户试用,以便及早澄清并检验一些主要设计策略, 在此基础上再开发实际的软件系统。