瀑布模型
ide
把每一个阶段当成瀑布中的一个阶梯,强调由上而下,互相衔接、逐级下落,固定次序。工具
优势:开发阶段清晰,便于评审、审计、跟踪、管理和控制编码
缺点:不可逆或很难可逆spa
问题会积累,错误会传递发散扩大,致使成本和质量失控设计
快速原型模型(原型模型)orm
快速原型模型的第一步是快速创建一个能反映用户主要需求的原型系统,让用户在计算机上试用它,经过实践来了解目标系统的概貌。对象
优势:克服瀑布模型的缺点,减小因为软件需求不明确带来的开发风险资源
缺点:所选用的开发技术和工具不必定符合主流的发展,快速创建起来的系统结构加上连续的修改可能会致使产品质量低下。开发
增量模型
文档
增量模型也称为渐增模型。增量模型融合了瀑布模型的基本成分和原型实现的迭代特征,该模型采用随着日程时间的进展而交错的线性序列,每个线性系列产生软件的一个可发布的增量。
优势:人员分配灵活,开始不用投入大量的人力资源。若是核心产品很受欢迎,则可增长人力实现下一个增量。增量可以有计划的管理技术风险。
缺点:因为各个构件是逐渐并入已有的软件体系结构中,因此加入构件必须不破坏以构好的的系统部分,这须要软件具有开放式的体系结构。
在开发过程当中,需求的变化是不可避免的。增量模型的灵活性可使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边作边改的模型,从而使软件过程的控制失去总体性。
若是增量包之间存在相交的状况且未很好处理,则必须作全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求常常改变的软件开发过程。
螺旋模型
螺旋模型采用一种周期性的方法来进行系统开发。
优势:设计上的灵活,能够在项目的各个阶段进行变动。
以小的分段来构建大型系统,使成本计算变得简单容易。
客户始终参与每一个阶段的开发,保证了项目部偏离正确方向以及项目的可控性。
缺点:建设周期长,而软件技术发展比较快,因此常常出现软件开发完毕后,和当前的技术水平有了较大的差距,没法知足当前用户需求。
喷泉模型
喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的软件开发项目。
优势:须要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型各个阶段没有明显的界限,开发人员能够同步进行开发。其优势是能够提升软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
缺点:因为喷泉模型在各个开发阶段是重叠的,所以在开发过程当中须要大量的开发人员,所以不利于项目的管理。
此外这种模型要求严格管理文档,使得审核的难度加大,尤为是面向可能随时加入各类信息、需求与资料的状况。