1.瀑布模型(Waterfall Model)
傳統的生命周期方法學可以用瀑布模型來模擬,猶如瀑布,各個階段從上到下,奔流不息。
按照傳統的瀑布模型來開發軟件,有如下幾個特點:
各階段具有順序性和依賴性,必須等上一階段結束后,才能開始下一階段;前一階段的輸出文檔就是下一階段的輸入,在某一階段發現了問題,可能會追溯到前面某些階段,必須對前面的許多階段進行修改,代價高昂。
第一,不要急于求成,對于規模較大、較復雜的系統,過早地急于編程實現,往往導致大量返工,甚至開發失敗。應該把前面幾個階段的工作做得比較扎實,再進行后續的工作。
第二,每個階段都必須交出合格的文檔。這是下一階段開發設計的依據和開發交互的媒介,也是對軟件進行維護的重要依據。
第三,每個階段完成前都要對完成的文檔進行評審,以便及時發現和改正錯誤。對錯誤的修改越早越好,越晚代價越高。
2.原型(prototyping)開發模型
在項目開發的早期盡快開發一個簡化的系統原型版本。用于用戶和開發人員學習和交流。
3.螺旋(spiral)模型
按照計劃à風險分析à工程à用戶評價,象螺旋線一圈一圈地向外發展,最終建立起運行的系統。主要是為了控制開發風險。其工程開發仍采用生命周期和原型開發的方法。
4.第四代(4GT)技術
第四代技術(Fourth Generation techniques),擁有一組工具,提供開發人員在高層定義軟件的特性,并按照這些特性自動生成原代碼。
5.面向對象(OO)模型
采用面向對象(Object Oriented)的思想方法和技術進行軟件的設計和開發。