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

几大开发模型区别与联系

时间:2016-03-05 11:46:56      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:

 软件开发不是一跃而成的,而是要有一个过程,正如任何事物一样,软件也有其孕育、诞生、成长、成熟和衰亡的生存过程,一般称其为“软件生命周期”。软件生命周期一般分为6个阶段,即制定计划、需求分析、设计、编码、测试、运行和维护。软件过程就是为了获得高质量软件所需要完成的一系列任务框架,这一过程如今包括:

① 瀑布模型:以软件需求完全确定为前提。

② 快速原型模型:快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的子集。

③ 增量模型:也称为渐增式模型,基本思想是从核心功能开始,通过不断地改进和扩充,使得软件系统能适应用户需求的变动和扩充,从而获得柔韧性较高的软件系统。

④ 螺旋模型:将瀑布模型和快速原型模型结合在一起,加上风险投资。

⑤ 喷泉模型:是典型的面向对象的软件过程模型之一,是以类为数据中心、类之间的动态行为模型作为运行机制的一种问题求解方法。

……

下面将进行对以上的几种列出来的模型进行分析比较。

  •  瀑布模型

  各个阶段的基本任务如下

软件开发计划,需求分析与定义,设计,编码,测试,维护。

  特点

  简单,阶段间具有顺序性和依赖性,各个阶段必须完成规定的文档,从而在审查文档的基础上保证软件的质量等。80年代前是唯一广泛采用的模型,现在也还是应用得最广泛的模型。

  不足

 (1)要求用户一开始就提出清晰完整的需求 ;

 (2)要求用户需求比较稳定;

 (3)用户的参与程度不够;

 (4)段间移交信息时,容易产生误解。

  •   快速原型模式

  目的

(1)明确并完善需求;

(2)探索设计选择方案;

(3)可帮助发展为最终的产品。

  特点

 (1)能弥补瀑布模型中用户参与不够等不足;

 (2)能减少用户需求遗漏的可能性;

 (3)快速。

  不足

 (1)用户易于视原型为正式产品;

 (2)对于开发环境要求较多;

 (3)若用户不能如期参与,将会不顺。

  • 增量模型

  特点

 (1)能快速提交可完成部分功能的产品;

 (2)能逐步增强产品功能;

 (3)用户可有较充裕的时间适应新系统。

  不足

 (1)新增部分必须不破坏现软件系统。

 (2)在设计体系结构时,必须有充分的开放性。

  •  螺旋模型

  特点

 (1)适用于内部开发的大规模软件项目;

 (2)有利于已有软件的重用;

 (3)有助于把质量作为一个重要目标;

 (4)减少过多测试或测试不足的风险。

  •  喷泉模型

  特点

 (1)呈现出非线性的工作方式;

 (2)把类及其结构作为系统的表达单元,渐增地进化;

 (3)开发模型支持软件的复用。

  总的来说对于以上几种模型在不同的场合都会发挥着自身的最大用处,只有找好了适合于模型的场合,才能使软件开发更合人意,以及提高其工作效率。下面对于几种模型进行一些优缺点及使用场合的比较。

开发模型

优点

缺点

使用场合

瀑布模型

文档驱动

系统可能满足不了客户要求

需求明确稳定的中小型软件开发

快速原型模型

关注满足客户需求

可能导致系统设计差,效率低,难于维护

需求模糊的小型软件开发

增量模型

开发早期反馈及时,易于维护

需要开放式体系结构,可能会设计差,效率低

容易分块的大型软件开发

螺旋模型

风险驱动

风险分析人员需要有经验且经过充分训练

具有不确定性的大型软件开发

几大开发模型区别与联系

标签:

原文地址:http://www.cnblogs.com/lynley/p/5244255.html

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