码迷,mamicode.com
首页 > 其他好文 > 详细

几大开发模型区别与联系

时间:2016-03-07 01:24:24      阅读:1904      评论:0      收藏:0      [点我收藏+]

标签:

前言


    In software engineering, a software development methodology (also known as asystem development methodologysoftware development life cyclesoftware development processsoftware process) is a splitting of software developmentwork into distinct phases (or stages) containing activities with the intent of better planning and management. It is often considered a subset of the systems development life cycle. The methodology may include thepre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.(引自维基百科)

   软件开发模型包含瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型。这些模型虽然已经流行了很多年,而且非常著名,但是并非一个模型就适用于任何项目,而是根据特定的项目来确定不同的开发过程。下面我们就来分析一下各种模型之间的区别与联系。

正文


  1. 瀑布模型:The waterfall model is a sequential development approach, in which development is seen as flowing steadily downwards (like a waterfall) through several phases。(引自维基百科)

技术分享

   分析:开发过程一个接着一个,只有在完成前一个阶段才进行下一个阶段。

 

  2. 快速原型模型:Software prototyping, is the development approach of activities during software development, the creation of prototypes。(引自维基百科)

技术分享

  分析:把每个项目分成一小块一小块来做,一开始的项目可能用户对需求描述不清楚,所以开发人员不断开发出模型看是否满足用户需求,然后不断修改直到用户满意为止。这样用户参与了整个开发过程,这样能最大程度降低用户对于项目的不满意程度。部分创建的原型能直接启用,所以能加快软件开发过程,由于项目完成后修改较少,所以节约了成本。

 

  3. 增量模型:Various methods are acceptable for combining linear and iterative systems development methodologies, with the primary objective of each being to reduce inherent project risk by breaking a project into smaller segments and providing more ease-of-change during the development process(引自维基百科)

技术分享

  分析:先开发出一部分功能,再不断根据需求开发出另外的功能,不断根据用户的反馈决定是否保留该功能,再不断进行增添功能。

 

  4. 螺旋模型:spiral model, which combines some key aspect of the waterfall model and rapid prototypingmethodologies, in an effort to combine advantages of top-down and bottom-up concepts.(引自维基百科)

技术分享

  分析:在每个阶段开始前都进行风险评估,力求将风险降到最低,结合了快速原型模型。

 

  5.喷泉模型:是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程(引自百度百科)

 

技术分享

 

   分析:各个开发过程之间的迭代,在一个阶段内各个工作步骤之间的迭代。

总结


 

 

区别:1.瀑布模型与螺旋模型都是按照一个步骤完成以后再进行另一个步骤的做法,而其他三个模型是不断交叉进行,项目完成时再不断地发现新的需求,于是再次进行开发。

     2.快速原型模型用户参与度非常高,则用户满意度高,极大的降低的较大的返工的风险,而类似瀑布模型则如果一开始理解需求不清楚,则后面需要改正前面的错误,返工率会相对来说较高。

   3.螺旋模型相对于瀑布模型能极大的降低项目的风险,因为螺旋模型每一次都对其进行风险评估。适用于大型项目的开发。

   4.增量模型相对于其他模型能在较短时间内交付。因为只要先开发出一部分功能即可。并且留有大量的时间可以对用户反馈再定制合适的产品。

   5.增量模型相对瀑布模型或快速开发模型提交项目相反,它是分批交付,瀑布模型则是一次性交付。

 

联系:1.瀑布模型与螺旋模型的开发过程类似,都是先进行一个阶段,再进行另一个阶段。

   2.快速原型模型与喷泉模型都会对每一个阶段进行迭代。

   3.增量模型就是分段的瀑布模型,喷泉模型也是按照瀑布模型为主线进行的。

 

感悟


 

  分析了这五大模型的特点,每一个模型都具有各自的优缺点,最主要的是要在具体的项目中选择适合的模型。

 

2016-03-07 00:40:26

 

 

几大开发模型区别与联系

标签:

原文地址:http://www.cnblogs.com/2014700519-cgp/p/5249200.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!