1.瀑布模型(Waterfall Model)

传统的生命周期方法学可以用瀑布模型来模拟,犹如瀑布,各个阶段从上到下,奔流不息。

     按照传统的瀑布模型来开发软件,有如下几个特点:

     各阶段具有顺序性和依赖性,必须等上一阶段结束后,才能开始下一阶段;前一阶段的输出文档就是下一阶段的输入,在某一阶段发现了问题,可能会追溯到前面某些阶段,必须对前面的许多阶段进行修改,代价高昂。

   第一,不要急于求成,对于规模较大、较复杂的系统,过早地急于编程实现,往往导致大量返工,甚至开发失败。应该把前面几个阶段的工作做得比较扎实,再进行后续的工作。

     第二,每个阶段都必须交出合格的文档。这是下一阶段开发设计的依据和开发交互的媒介,也是对软件进行维护的重要依据。

     第三,每个阶段完成前都要对完成的文档进行评审,以便及时发现和改正错误。对错误的修改越早越好,越晚代价越高。

2.原型(prototyping)开发模型

     在项目开发的早期尽快开发一个简化的系统原型版本。用于用户和开发人员学习和交流。

3.螺旋(spiral)模型

     按照计划à风险分析à工程à用户评价,象螺旋线一圈一圈地向外发展,最终建立起运行的系统。主要是为了控制开发风险。其工程开发仍采用生命周期和原型开发的方法。

4.第四代(4GT)技术

     第四代技术(Fourth Generation techniques),拥有一组工具,提供开发人员在高层定义软件的特性,并按照这些特性自动生成原代码。

5.面向对象(OO)模型

     采用面向对象(Object Oriented)的思想方法和技术进行软件的设计和开发。