文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

演化模型,你知多少?

编程小独行侠

编程小独行侠

2024-04-18 00:22

关注

 还记得小编讲过的增量模型吗?不知道大家还有没有印象?今天小编要讲的是与增量模型相对应,但它强调的是增量和迭代两个特征的结合的另外一种模型----演化模型。它的目标是克服瀑布模型中线性开发带来的交付上的风险,即只有到了最终交付时才获知哪部分产品需要维护,这会使得整个项目的开发成本远远超出预想。由于维护阶段修改软件的费用要远远大于需求或设计阶段,所以演化模型使用了迭代和增量的思想,将整个软件的开发风险分散到不同构件的不同阶段。

  什么是演化模型模型?

  演化模型主要针对事先不能完整定义需求的软件开发。演化模型的主要步骤是首先开发系统的一个核心功能,当该核心系统投入运行后,使得客户可以与开发人员一同确认该功能,这样开发人员将会得到第一手的经验,再根据客户的反馈进一步开发其他功能或进一步扩充该功能,并提出精化系统、增强系统能力的需求,直到建立一个完整的系统为止。软件开发人员就是根据用户的反馈,实施开发的迭代过程。第一迭代过程均由需求、设计、编码、测试、集成等阶段组成,为整个系统增加一个可定义的、可管理的子集。

演化模型,你知多少?_软件开发_演化模型_软件工程_编程学习网教育

  在开发模式上采取分批循环开发的办法,每循环开发一部分的功能,它们成为这个产品的原型的新增功能。于是,设计就不断地演化出新的系统。实际上,这个模型可看作是重复执行的多个“瀑布模型”。

  “演化模型”要求开发人员有能力把项目的产品需求分解为不同组,以便分批循环开发。这种分组并不是绝对随意性的,而是要根据功能的重要性及对总体设计的基础结构的影响而作出判断。有经验指出,每个开发循环以六周到八周为适当的长度。

  补充:

  ①该模型可以表示为:第一次迭代(需求->设计->实现->测试->集成)->反馈->第二次迭代(需求->设计->实现->测试->集成)->反馈->……

  ②复杂网络的演化模型包括BA模型以及其他多种扩展模型。

  ③最经典的演化模型为BA模型,刻画了无标度网络形成的两个条件:增长和偏好依附,最终形成的网络符合幂指数为3的度分布。

  当然啦,在明白了何为演化模型后,就一定要说说它的优缺点。

  1、演化模型的优点

  1)任何功能一经开发就能进入测试以便验证是否符合产品需求。

  2)帮助导引出高质量的产品要求。如果没有可能在一开始就弄清楚所有的产品需求,它们可以分批取得。而对于已提出的产品需求,则可根据对现阶段原型的试用而作出修改。

  3)风险管理可以在早期就获得项目进程数据,可据此对后续的开发循环作出比较切实的估算。提供机会去采取早期预防措施,增加项目成功的机率。

  4)大大有助于早期建立产品开发的配置管理,产品构建(build),自动化测试,缺陷跟踪,文档管理。均衡整个开发过程的负荷。

  5)开发中的经验教训能反馈应用于本产品的下一个循环过程,大大提高质量与效率。

  6)如果风险管理发现资金或时间已超出可承受的程度,则可以决定调整后续的开发,或在一个适当的时刻结束开发,但仍然有一个具有部分功能的,可工作的产品。

  7)心理上,开发人员早日见到产品的雏型,是一种鼓舞。

  8)使用户可以在新的一批功能开发测试后,立即参加验证,以便提供非常有价值的反馈。

  9)可使销售工作有可能提前进行,因为可以在产品开发的中后期取得包含了主要功能的产品原型去向客户作展示和试用。

1)任何功能一经开发就能进入测试以便验证是否符合产品需求。    2)帮助导引出高质量的产品要求。如果没有可能在一开始就弄清楚所有的产品需求,它们可以分批取得。而对于已提出的产品需求,则可根据对现阶段原型的试用而作出修改。    3)风险管理可以在早期就获得项目进程数据,可据此对后续的开发循环作出比较切实的估算。提供机会去采取早期预防措施,增加项目成功的机率。    4)大大有助于早期建立产品开发的配置管理,产品构建(build),自动化测试,缺陷跟踪,文档管理。均衡整个开发过程的负荷。    5)开发中的经验教训能反馈应用于本产品的下一个循环过程,大大提高质量与效率。    6)如果风险管理发现资金或时间已超出可承受的程度,则可以决定调整后续的开发,或在一个适当的时刻结束开发,但仍然有一个具有部分功能的,可工作的产品。    7)心理上,开发人员早日见到产品的雏型,是一种鼓舞。    8)使用户可以在新的一批功能开发测试后,立即参加验证,以便提供非常有价值的反馈。

  2、演化模型的缺点

  1)如果所有的产品需求在一开始并不完全弄清楚的话,会给总体设计带来困难及削弱产品设计的完整性,并因而影响产品性能的优化及产品的可维护性。

  2)如果缺乏严格的过程管理的话,这个生命周期模型很可能退化为一种原始的无计划的“试-错-改”模式。

  3)心理上,可能产生一种影响尽最大努力的想法,认为虽然不能完成全部功能,但还是造出了一个有部分功能的产品。

  4)如果不加控制地让用户接触开发中尚未测试稳定的功能,可能对开发人员及用户都产生负面的影响。

  适用范围:

  演化模型可以根据用户的基本需求,通过快速分析构造出该软件的一个初始可运行版本,这个初始的软件通常称之为原型,然后根据用户在使用原型的过程中提出的意见和建议对原型进行改进,获得原型的新版本。重复这一过程,最终可得到令用户满意的软件产品。采用演化模型的开发过程,实际上就是从初始的原型逐步演化成最终软件产品的过程。演化模型特别适用于对软件需求缺乏准确认识的情况。

  小编结语:

  演化模型的特点基本上与增量模型一致,但对于演化模型的管理是一个主要的阻力,也就是说,我们很难确认整个系统的里程碑、成本和时间基线,也就是说每一次开发都会涉及“风险分析”、“原型建立”、“实现原型”、“评估原型”,这就构成多次迭代来完成整个系统的开发。请到编程学习网教育进行咨询

  说到这里,今天的内容也就结束了,如果大家有兴趣的话,可以到到编程学习网教育进行咨询哟!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     436人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     201人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     163人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     242人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     68人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-考试认证-考试信息-考试报考
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯