软件工程中开发模型的优缺点及适用场合
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分情况下是不适合的, 采用该模型往往是为了 演示功能的需要或匕的 方便性。(3)由于达不到 质量要求可能被抛弃, 而采用新的模型重新设 计。
对于需求非常简单
适合于客户的需求较明
用户需求不明确、小型
技术风险较大、用户需
适合于大型复杂的系统
适
和容易明白,软件期
确的情况下。
或是交互型式的系统、
求较为稳定的软件系统
缺少规划和设计环节。 忽略需求环节,风险大。
周期长费用高。
缺乏灵活性,太过于理 想化。如果开发其中, 客户难以明确需求,需
(1)没有考虑软件的整体 质量和长期的可维护 性。(2)这种模型在大部
很容易退化为边做边改 模型
(1)不能让用户确信这 种演化方法结果是可控 的。(2)建设周期长
缺
占
八'、
求错误在后期就难以纠 正。
软件被看作是一系列的 增量构建来设计、实现、 集成和测试,每一个构 建由多种相互作用的模 块所形成的提供特定功 能呢的代码片段构成。
开发出一部分就向用户 展示一部分,及早的发 现问题。先开发一个原 型模型的软件,完成模 型的主要功能。展示给 用户征求意见。
这种模型的每一个周期 都包括需求定乂、风险 分析、工程实现和评审4个阶段,由这4个阶 段进行迭代。
优
占
八'、
降低风险、得到早期用户反 馈、持续的测试和集成、使 用变更、提咼复用性
可以提高软件项目开发效 率,节省开发时间。
紧密协作、面对面的沟通
给企业管理者和开发者提供 了一个舞台,使每个模型的 长处得到发挥
缺点
项目风险可能会很高
不利于项目管理
文档少
对企业的管理和技术都 提出了更咼的要求
适用场合
早期需求变化很大,项目管 理者和软件研发团队素质较 高
优
占
八'、
在提供给用户使用后, 如果程序出现错误,或 者用户提出新的要求, 开发人员重新修改代 码,直到用户满意为止。
一种有效的管理视图。
每项开发活动均处于一 个质量环节。文档驱动, 以项目阶段评审和文档 控制为手段有效的对整 个开发过程进行指导。
(1)快速模型克服瀑布模 型的特点,减少由于软 件需求不明确带来的开 发风险,具有显著的效 果。(2)能快速吸引用 户,从而抢占市场。
边做边改模型
瀑布模型
快速原型模型
增量模型
螺旋模型
思
想
不断的修正版本不断的 供用户使用,如果出现 错误或是新的需求又不 断的修改代码。
软件的开发严格的按照 线性方式进行,当前活 动的工作结果,实施完 成所需要的工作结果需 要验证,如果验证通过, 则结果作为下一项活动 的输入,继续。否则返 回。
快速原型模型利用的是 原型辅助软件开发的一 种思想。经过简单、快 速的分析,快速实现一 个原型,用户与开发人 员在试用原型过程中加 强通信与反馈,通过反 复评价和改进原型,减 少误解,弥补漏洞,适 应变化,最终提高软件 质里。
把一个大项目分为多个相互 联系,但也可独立运行的小 项目,并分别完成,在此过 程中软件一直处于可使用状 ^态。
把几种不同模型组合成一种 混合模型,它允许一个项目 能沿着最有效的路径发展, 这就是过程开发模型(或混 合模型)。实际上,一些软件 开发单位都是使用几种不同 的开发方法组成他们自己的 混合模型。
面向对象的软件开发过程
适合小型项目
用户的管理和技术都较完 善;开发者技术较高,知识 面较广
1•缩短时间
2.开发人员与用户可以 通过原型充分的交流;
3.有利于用户的培训和 开发的同步。
4.加入构建必须不破坏 已构造好的体系结构。
5.模型的灵活性可Fra Baidu bibliotek使 其适应需求的变化
(1)可以在项目的各个阶 段进行变更(2)可以分 段来构建大型系统,使 成本计算变得简单、容 易。(3)用户参与开发, 保证项目不偏离正确方 向。
望的功能行为容易 定义,实现的成功或
大型系统的某些部分
用
失败容易检验的工 程可以使用这种模 型。
场
合
"
迭代模型
喷泉模型
敏捷模型
混合模式
思
想
整个开发工作被组织为一系 列的短小的、
固定长度(如3周)的小项 目,被称为一系列的迭代。 每一次迭代都包括了需求分 析、设计、实现与测试
软件开发过程的各个阶段是 相互迭代的、无间歇的。软 件的某个部分常常被重复工 作多次,相关对象在每次迭 代中加入渐近的软件成分。
对于需求非常简单
适合于客户的需求较明
用户需求不明确、小型
技术风险较大、用户需
适合于大型复杂的系统
适
和容易明白,软件期
确的情况下。
或是交互型式的系统、
求较为稳定的软件系统
缺少规划和设计环节。 忽略需求环节,风险大。
周期长费用高。
缺乏灵活性,太过于理 想化。如果开发其中, 客户难以明确需求,需
(1)没有考虑软件的整体 质量和长期的可维护 性。(2)这种模型在大部
很容易退化为边做边改 模型
(1)不能让用户确信这 种演化方法结果是可控 的。(2)建设周期长
缺
占
八'、
求错误在后期就难以纠 正。
软件被看作是一系列的 增量构建来设计、实现、 集成和测试,每一个构 建由多种相互作用的模 块所形成的提供特定功 能呢的代码片段构成。
开发出一部分就向用户 展示一部分,及早的发 现问题。先开发一个原 型模型的软件,完成模 型的主要功能。展示给 用户征求意见。
这种模型的每一个周期 都包括需求定乂、风险 分析、工程实现和评审4个阶段,由这4个阶 段进行迭代。
优
占
八'、
降低风险、得到早期用户反 馈、持续的测试和集成、使 用变更、提咼复用性
可以提高软件项目开发效 率,节省开发时间。
紧密协作、面对面的沟通
给企业管理者和开发者提供 了一个舞台,使每个模型的 长处得到发挥
缺点
项目风险可能会很高
不利于项目管理
文档少
对企业的管理和技术都 提出了更咼的要求
适用场合
早期需求变化很大,项目管 理者和软件研发团队素质较 高
优
占
八'、
在提供给用户使用后, 如果程序出现错误,或 者用户提出新的要求, 开发人员重新修改代 码,直到用户满意为止。
一种有效的管理视图。
每项开发活动均处于一 个质量环节。文档驱动, 以项目阶段评审和文档 控制为手段有效的对整 个开发过程进行指导。
(1)快速模型克服瀑布模 型的特点,减少由于软 件需求不明确带来的开 发风险,具有显著的效 果。(2)能快速吸引用 户,从而抢占市场。
边做边改模型
瀑布模型
快速原型模型
增量模型
螺旋模型
思
想
不断的修正版本不断的 供用户使用,如果出现 错误或是新的需求又不 断的修改代码。
软件的开发严格的按照 线性方式进行,当前活 动的工作结果,实施完 成所需要的工作结果需 要验证,如果验证通过, 则结果作为下一项活动 的输入,继续。否则返 回。
快速原型模型利用的是 原型辅助软件开发的一 种思想。经过简单、快 速的分析,快速实现一 个原型,用户与开发人 员在试用原型过程中加 强通信与反馈,通过反 复评价和改进原型,减 少误解,弥补漏洞,适 应变化,最终提高软件 质里。
把一个大项目分为多个相互 联系,但也可独立运行的小 项目,并分别完成,在此过 程中软件一直处于可使用状 ^态。
把几种不同模型组合成一种 混合模型,它允许一个项目 能沿着最有效的路径发展, 这就是过程开发模型(或混 合模型)。实际上,一些软件 开发单位都是使用几种不同 的开发方法组成他们自己的 混合模型。
面向对象的软件开发过程
适合小型项目
用户的管理和技术都较完 善;开发者技术较高,知识 面较广
1•缩短时间
2.开发人员与用户可以 通过原型充分的交流;
3.有利于用户的培训和 开发的同步。
4.加入构建必须不破坏 已构造好的体系结构。
5.模型的灵活性可Fra Baidu bibliotek使 其适应需求的变化
(1)可以在项目的各个阶 段进行变更(2)可以分 段来构建大型系统,使 成本计算变得简单、容 易。(3)用户参与开发, 保证项目不偏离正确方 向。
望的功能行为容易 定义,实现的成功或
大型系统的某些部分
用
失败容易检验的工 程可以使用这种模 型。
场
合
"
迭代模型
喷泉模型
敏捷模型
混合模式
思
想
整个开发工作被组织为一系 列的短小的、
固定长度(如3周)的小项 目,被称为一系列的迭代。 每一次迭代都包括了需求分 析、设计、实现与测试
软件开发过程的各个阶段是 相互迭代的、无间歇的。软 件的某个部分常常被重复工 作多次,相关对象在每次迭 代中加入渐近的软件成分。