傳統方法學:
也成為生命周期學或結構化范型。采用結構化技術來完成軟件開發的各項任務,並使用適當的軟件工具或軟件工程環境來支持結構化技術的運用。把軟件生命周期的全過程一次划分為若干個階段,然后順序地完成每個階段的任務。對於問題的解決類似於隊列的方法,只有隊首出隊才能完成后續人的出隊操作,即只有階段式完成目標並進行嚴格的技術審查和管理復審才能進行下一階段的操作,並把前一階段的結果作為下一階段的標准。審查的一條主要標准是每個階段完成時都應該交出“最新式”高質量文檔資料,把當前階段所完成的任務以文檔形式詳細說明,如果文檔不完整,即可認為有某些工作忘記做了,在下一階段開始前應將其補足。
將軟件生命周期分為若干階段,每個階段任務相對獨立,而且比較簡單,便於不同人的分工合作,從而降低整體的工作難度
面向對象方法學:
當軟件比較龐大,或者對於軟件的要求模糊或者對於要求會隨時間變化時,傳統方法學即不再適用,此外,維護起來仍然十分困難。其只要原因是,傳統方法學是結構化的開發方法:要么面對數據,要么面對行為,其對於操作的割裂性使得在后期維護時對於軟件本身的改動將會十分困難。
面向對象方法學把數據以及對於數據的操作進行合並,以數據為主線。