`

开发模式(瀑布式开发、迭代式开发)

 
阅读更多

一、瀑布式开发:

 

 

二、迭代式开发:

 

 

两者都是一种开发模式,就像设计模式一样,考虑的角度不一样,个人感觉谈不到取代一说。

传统的瀑布式开发,也就是从需求到设计,从设计到编码,从编码到测试,从测试到提交大概这样的流程,要求每一个开发阶段都要做到最好。特别是前期阶段,设计的越完美,提交后的成本损失就越少。我现在从事的外包项目就是这样的流程。

迭代式开发,不要求每一个阶段的任务做的都是最完美的,而是明明知道还有很多不足的地方,却偏偏不去完善它,而是把主要功能先搭建起来为目的,以最短的时 间,最少的损失先完成一个“不完美的成果物”直至提交。然后再通过客户或用户的反馈信息,在这个“不完美的成果物”上逐步进行完善。

这两种开发模式都各自具有自己的特点,迭代式开发适合在一些需求信息不明确的项目中,这样在开发过程中遇到需求的变化时,所带来的影响要比瀑布式开发小。而现在的很多项目中,需求在项目进行中变化的事儿经常见,所以显得迭代式开发的优势更明显一些。

但是,从本质上来说,二者都不过是一种开发的模式,即使是迭代式开发,在每一个迭代的环节中,不也是此从需求到设计,从设计到编码,从编码到测试吗?这不也是瀑布式模型的体现吗?只不过这个瀑布式中的每一个阶段不需要做到最优化,都留一些任务到下一层迭代中去做而已。

所以,我觉得面对不同的问题采用不同的模式,模式是为了方便我们开发而服务的,不是要求我们必须按照某一种模式从头走到尾。

就象迭代式开发,我们其实也经常用到这种模式。比如说开发项目中的某一个模块。我们先把能够实现主要功能的代码写出来。比如一个查询模块,先从模块的构思 到设计再到编码,先查询功能的代码,测试一遍查询成功。这算是完成了第一层迭代。然后我们要再考虑一层迭代中的一些还未完成的细节问题,比如查询的 check,查询结果的显示以及查询算法的优化等等,这就是第二层迭代。

 

转载自http://blog.sina.com.cn/s/blog_4a471ff60100gge9.html

分享到:
评论

相关推荐

    软件工程实践中的敏捷开发与迭代开发模式3.pptx

    与传统的瀑布式开发模型相比,敏捷开发更加强调灵活性和快速响应变化的能力。它的核心目标是通过持续的交付和反馈循环,实现高效的产品开发过程。 **软件工程实践的重要性:** 在软件开发过程中,采用合适的软件...

    敏捷开发与传统开发模式的比较分析.docx

    迭代式开发是一种与传统的瀑布式开发相反的软件开发过程,具有更高的成功率和生产率。螺旋开发是一种风险驱动的方法体系,将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析。 与传统开发模式相比...

    软件开发模式

    螺旋模型结合了迭代开发和瀑布模型的严格性,强调风险分析,适用于大规模软件开发项目。该模型要求客户对风险分析有信任和反馈。问题在于需要高水平的客户信任,以及可能对项目利润产生影响。 8. 敏捷开发模型...

    瀑布模式与敏捷开发.pptx

    从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈;...可在迭代模型中应用瀑布模型,并且它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。

    计算机开发模式的种类

    喷泉模型是以用户需求为驱动力,以对象为中心的一种迭代式开发模型,特别适用于采用面向对象技术的软件项目。 - **特点**: - 相互迭代:软件的各个组成部分可以在开发过程中被反复修改和完善。 - 无间隙:分析、...

    迭代进化式开发引入软件工程课程教学.pdf

    RUP 提供了一种迭代和增量的开发模式,与传统的瀑布模型相比,能更好地适应变化,提高软件质量和项目管理的灵活性。学生通过学习 RUP,能够掌握目前行业内广泛使用的软件开发实践。 2. 强化理论与实践相结合:通过 ...

    产品需求文档:如何撰写一份适合敏捷迭代开发的PRD文档?.docx

    软件开发方式有瀑布模式、迭代增量式、螺旋模式、敏捷开发等。敏捷开发相比其他模式,它的优点是开发周期短(一至两周为一个周期)、更强调队伍的高度协作、更迅速的响应。在互联网时代,时间就是金钱,多花一天时间...

    针对敏捷开发的测试模式

    在这种背景下,传统的瀑布式测试模型已经无法满足敏捷开发的需求,因此需要一种新的测试模式来支持敏捷开发过程。 敏捷测试模式是专门为敏捷开发设计的一种测试方法。它强调早期集成、持续测试以及与开发团队的紧密...

    大话软件项目管理之软件开发模式

    螺旋模型结合了迭代开发和瀑布模型的优点,每经过一个螺旋周期(包括制定计划、风险分析、工程实现和评估四个阶段),就会生成一个产品版本。螺旋模型适用于大型复杂系统,因为它注重风险分析,能较好地处理不确定性...

    最流行的开发模式 CMMI、RUP、MSF和敏捷

    MSF(Microsoft Solutions Framework)即微软解决方案框架,强调瀑布螺旋式的迭代开发,对过程的每一个阶段有相应的定义。MSF 的优点是可以帮助企业提高软件开发的效率和质量,但缺点是实施困难且需要强大的技术支持...

    敏捷开发模式

    敏捷开发与传统瀑布式开发模型不同,后者侧重于严格的阶段划分和详尽的文档编写。敏捷开发则提倡较短的开发周期,频繁交付可工作的软件,并且鼓励客户反馈来持续改进产品。 敏捷开发思想的关键词是以人为本,适应...

    敏捷开发&敏捷开发&敏捷开发

    迭代式开发是一种分阶段逐步完善的开发模式,每个阶段称为一个迭代。该模式允许在开发过程中逐步细化需求,通过多个迭代周期完成整个系统的开发。迭代式开发的优点包括降低风险、快速获得用户反馈、持续测试与集成等...

    软件开发几种模式.docx

    迭代模型是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。在迭代式开发方法中,整个开发工作被组织为一系列的短小的、固定长度的小项目,被称为一系列的...

    敏捷软件开发+原则、模式与实践.pdf

    与传统的瀑布式开发方法相比,敏捷开发更加注重人与人之间的交流、协作和应对变化的能力。它通常采用迭代和增量的方式进行软件构建,而非一次性完成所有需求。敏捷软件开发的出现,是为了解决传统开发模式在快速变化...

    软件工程中的迭代与增量开发.pptx

    ### 软件工程中的迭代与增量开发 #### 第一章:软件工程概述 软件工程是一门专注于系统化、...选择合适的开发模式对于项目的成功至关重要。随着软件行业的不断发展,迭代与增量开发将成为主流的软件开发方式之一。

    微软公司软件开发模式简介.rar

    微软的软件开发模式主要基于敏捷开发的理念,这种模式强调灵活性、快速响应变化和迭代式开发。敏捷开发的核心原则包括:个体和互动高于流程和工具,可工作的软件高于详尽的文档,客户合作高于合同谈判,以及响应变化...

    软件互联网行业对敏捷开发及管理模式的应用及分析.pdf

    敏捷开发是一种起源于1990年代的软件开发模式,它与传统的瀑布模型相比更加注重团队间的紧密协作和适应性,强调开发过程中的快速迭代和持续反馈。敏捷开发认为面对面沟通比书面文档更能直接有效传达信息,支持频繁...

    软件开发模式及优缺点.pdf

    瀑布模型是最传统的开发模式,强调按顺序进行分析、设计、实现和测试。它的优点在于结构清晰,易于分工合作。然而,瀑布模型的缺点是缺乏灵活性,一旦进入下一阶段,很难回溯更改,而且用户只能在后期看到最终结果,...

    基于敏捷开发模式的职业院校教师信息化培训探索.docx

    当前,职业院校教师信息化培训主要采用“瀑布式”模式,这种模式流程固定,从需求调研到培训结束的时间跨度较长,难以快速响应变化。而敏捷开发模式的优势在于其灵活性和适应性,能够及时调整以满足教师的个性化需求...

Global site tag (gtag.js) - Google Analytics