一、瀑布模型
瀑布模型是最经典的开发模型,又称为线性模型。它把开发过程分解为按顺序进行的六个阶段:计划,需求分析,设计,实现,测试,运行维护。每一个阶段完成后,评审通过,才能开启下一阶段,一级一级向下进行,如同瀑布。用户在最后得到一个可用产品。
二、迭代模型
一个项目被拆解为多个小项目,每个小项目如同一个瀑布模型,都包括需求分析,设计,实现,测试。每个小项目的完成,就可以认为是产品的一次迭代,虽然还不完善,但用户可以使用。每个小项目可以反复迭代,整个产品也不断完善。SpaceX的猎鹰火箭,就是采用了这种迭代方式开发。所以虽然爆炸了几次,最终还是成功了。而其它的采用传统瀑布模型的公司,很多还没有一次发射。
除了以上这两种,还有不少变种,如快速原型模型,螺旋模型,智能模型,增量模型,喷泉模型,V模型,混合模型,演化模型。