1.問題定義

本階段需要明確回答:“要解決的問題是什么?”。

    統(tǒng)分析員應該提出問題的性質、目標和規(guī)模的書面報告。通過對實際用戶和使用部門的調查、研究,以及討論、交流,得出一份雙方都滿意的文檔

2 .可行性分析

    本階段需要回答的是:“上一階段確定的問題有無可行的解決方案,是否值得解決?”。

    更進一步明確項目的規(guī)模和目標,從技術可行性、經(jīng)濟可行性、操作可行性、法律可行性、社會可行性等方面進行研究,確定是否開發(fā)本項目。

3.需求分析

     本階段確定為解決該問題,目標系統(tǒng)必須應具備哪些功能。

     系統(tǒng)分析員在本階段必須與用戶密切配合,充分交流,得到經(jīng)用戶確認的系統(tǒng)邏輯模型,用數(shù)據(jù)流圖、數(shù)據(jù)字典等描述系統(tǒng)的邏輯模型。

     需求分析階段所確定的系統(tǒng)邏輯模型是以后設計和實現(xiàn)目標系統(tǒng)的基礎,必須準確、完整的體現(xiàn)用戶的需求。

4.總體設計

     本階段確定目標系統(tǒng)的主要功能如何完成。采用流程圖或其他工具描述出每種可能的系統(tǒng),推薦出一個最佳的方案,并制定出實現(xiàn)該系統(tǒng)的詳細計劃。

     本階段的另一個主要任務是設計軟件的結構,確定軟件應由哪些模塊構成,以及模塊之間的關系。

     還應考慮系統(tǒng)的開發(fā)和應用環(huán)境,如計算機系統(tǒng)的配置,計算機網(wǎng)絡等。

5.詳細設計

     詳細設計階段的任務就是把問題的求解具體化,設計出程序的詳細規(guī)格說明。

     通常用HIPO圖(層次圖/輸入/處理/輸出)或PDL語言(過程設計語言)描述詳細設計的結果。

6.編碼和單元測試

     本階段的任務是編寫軟件程序。程序員應根據(jù)目標系統(tǒng)的要求,選取適合的程序設計語言,把詳細設計的結果編制成程序,并對每一個模塊進行單元測試。

     需要考慮軟件平臺、開發(fā)工具等等。

7.綜合測試

     本階段的任務是通過各種測試以及相應的調試,使軟件達到預定的要求。

     應該把測試計劃、測試方案、測試結果等以文檔的形式保存下來,作為軟件配置的一個組成部分。

8.軟件維護

      軟件維護的任務是,通過各種必要的維護活動使系統(tǒng)持久地滿足用戶的需要。

      通常有4類維護活動:改正性維護;適應性維護;完善性維護;預防性維護。

      每一項維護活動都應該準確地記錄下來,作為正式的文檔保存。