风言枫语  

    软件生存周期模型是描述开发过程中各种活动如何执行的模型。软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守规则和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。

    常见的软件生存周期模型:瀑布模型、演化模型、螺旋模型、喷泉模型。

    比较了这几种模型的不同:

软件生存周期模型

概要

适用范围

优点

缺点

备注

瀑布模型

将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型;如瀑布流水,逐级下落;

此模型以文档作为驱动,适合软件需求很明确的软件项目;

例如:操作系统、数据库管理系统等系统软件的开发;

1,为项目提供了按阶段划分的检查点,当前一个阶段完成后,只需要关注后续阶段;

2,提供了软件开发的基本框架,有利于大型软件开发过程中人员的组织与管理;

1,缺乏灵活性,无法解决软件需求不明确或不准确的问题;

2,在软件开发的初期阶段就要求作出正确、全面改、完整的需求分析,这对许多应用软件来说是和困难的;

3,此模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;

 

演化模型/原型

第一步:建造一个快速原型,实现未来用户与系统的交互,用户对原型进行评价,进一步细化待开发软件的需求,通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求时什么;

第二步:在第一步的基础上开发客户满意的软件产品;

 

适用于不能确切定义需求的软件系统开发;

1,克服了瀑布模型的缺点,适用于对软件需求缺乏准确认识的情况;

2,减少了由于软件需求不明确带来的开发风险;

1,所选用的开发技术和工具不一定符合主流的发展;

2,快速建立起来的系统结构加上连续的修改可能会导致产品质量低下;

3,使用这个模型的前提是要有一个展示性的产品模型,因此在一定程度上可能会限制开发人员的创新;

 

螺旋模型

将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析,弥补了以上两种模型的不足;

适合于大规模的软件项目;

1,强调严格的全过程风险管理;

2,强调各开发阶段的质量;

3,强调原型的可扩充性和可修改性,原型的进化贯穿整个软件生存周期;

4,为项目管理人员及时调整管理决策提供了方便,进而降低开发风险;

1,很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较长的差距,无法满足当前用户需求;

2,使用该模型需要有相当丰富的风险评估经验和专门知识,要求开发队伍水平较高;

 

 

喷泉模型

以用户需求为动力,以对象作为驱动的模型;

适合于面向对象的开发方法;

 

1,克服了瀑布模型不支持软件重用和多想开发活动集成的局限性;

2,允许各开发活动交叉、迭代地进行;

 

 

 

 

 

 

 

 

 

总结:通过一张表格的比较能更好的了解这几种模型及他们各自的用处。

 

 

posted on 2013-10-09 18:24  风言枫语  阅读(821)  评论(0编辑  收藏  举报