美文网首页
开发模式区别

开发模式区别

作者: Share_joy | 来源:发表于2020-02-11 12:36 被阅读0次

    刚毕业时懵懂地听教授讲说这次项目我们采用敏捷式开发

    那到底开发时有哪些开发模式呢?每一种开发模式又有哪些区别呢?

    今天就来总结下!

    一、敏捷开发模式(1990)

          敏捷开发模式是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。相对于"非敏捷",更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重做为软件开发中人的作用。

    总结: 结合自己当时的项目经验,就是时间紧,需求文档跟不上变更的速度。所以很多时候采取当面沟通的方式去做项目。不停的加入新想法或者去掉复杂的业务。face to face  & people to people!

    ps:教授当时应该充当着Scrum Master。

    二、瀑布模型(1970)

          瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行。

          步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等。

    总结: 这是本人比较喜欢一种开发模式,严格的按照需求文档进行开发。每一步都让团队做的踏实安心。在中国通服时的项目,都是按照此模型去开发每一个项目。中小型开发公司可能代价相对高昂。

    三、迭代式开发

           迭代式开发也被称作迭代增量式开发或迭代进化式开发,是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。

    1.每次只设计和实现这个产品的一部分,逐步逐步完成的方法叫迭代开发,

    2.在迭代式开发方法中,整个开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,被称为一系列的迭代。

    3.每一次迭代都包括了需求分析、设计、实现与测试。

    采用这种方法,开发工作可以在需求被完整地确定之前启动,

    并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。

    再通过客户的反馈来细化需求,并开始新一轮的迭代。

    总结:在中兴的日子里,楼宇项目就是典型的迭代式开发。短暂的爆肝,短暂的休息。当然如果客户猛然增加需求,就是长期爆肝。每次都会在原有基础上增加或修改客户需要的内容。

    四、螺旋开发(1988)

           螺旋模型”的核心就在于不需要在刚开始的时候就把所有事情都定义的清清楚楚。您轻松上阵,定义最重要的功能,实现它,然后听取客户的意见,之后再进入到下一个阶段。如此不断轮回重复,直到得到您满意的最终产品。

           螺旋模型很大程度上是一种风险驱动的方法体系,因为在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估。

    总结:em...这可能就是我自己玩项目时的感受,开始没有很清晰的明确需求,做到一半开始想加这个,想加那个,haha,开玩笑的。如果企业采取这样的开发模式,风险应该较大,需要做好风险评估。

    四种区别对比

         传统的瀑布式开发,也就是从需求到设计,从设计到编码,从编码到测试,从测试到提交大概这样的流程,要求每一个开发阶段都要做到最好。

    特别是前期阶段,设计的越完美,提交后的成本损失就越少。

         迭代式开发,不要求每一个阶段的任务做的都是最完美的,而是明明知道还有很多不足的地方,却偏偏不去完善它,而是把主要功能先搭建起来为目的,以最短的时间,

         最少的损失先完成一个“不完美的成果物”直至提交。然后再通过客户或用户的反馈信息,在这个“不完美的成果物”上逐步进行完善。

         螺旋开发,很大程度上是一种风险驱动的方法体系,因为在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估。

         敏捷开发,相比迭代式开发两者都强调在较短的开发周期提交软件,但是,敏捷开发的周期可能更短,并且更加强调队伍中的高度协作。

    ps:当然有些人会问,为啥只有四种。其实软件开发有相当多的模式。例如:

    1.边做边改模型(Build-and-Fix-Model)

    边做边改模型

    2.瀑布模型(Waterfall-Model)

    3.快速原型模型(Rapid-Prototype-Model)

    快速原型模型

    4.增量模型(Incremental-Model)

    增量模型

    5.迭代模型(Stagewise-Model)

    6.螺旋模型(Spiral-Model)

    螺旋模型

    7.敏捷开发模型(Agile-Development-Model)

    8.演化模型(Evolutionary-Model)

    9.喷泉模型(Fountain-Model)

    10.智能模型(四代技术4GL)

    11.混合模型(Hybrid-Model)

        过程开发模型又叫混合模型


    END.感谢观看!如有不足,互相交流~~

    相关文章

      网友评论

          本文标题:开发模式区别

          本文链接:https://www.haomeiwen.com/subject/lhztfhtx.html