1.問題定義
本階段需要明確回答:“要解決的問題是什么?”。
統分析員應該提出問題的性質、目標和規模的書面報告。通過對實際用戶和使用部門的調查、研究,以及討論、交流,得出一份雙方都滿意的文檔
2 .可行性分析
本階段需要回答的是:“上一階段確定的問題有無可行的解決方案,是否值得解決?”。
更進一步明確項目的規模和目標,從技術可行性、經濟可行性、操作可行性、法律可行性、社會可行性等方面進行研究,確定是否開發本項目。
3.需求分析
本階段確定為解決該問題,目標系統必須應具備哪些功能。
系統分析員在本階段必須與用戶密切配合,充分交流,得到經用戶確認的系統邏輯模型,用數據流圖、數據字典等描述系統的邏輯模型。
需求分析階段所確定的系統邏輯模型是以后設計和實現目標系統的基礎,必須準確、完整的體現用戶的需求。
4.總體設計
本階段確定目標系統的主要功能如何完成。采用流程圖或其他工具描述出每種可能的系統,推薦出一個最佳的方案,并制定出實現該系統的詳細計劃。
本階段的另一個主要任務是設計軟件的結構,確定軟件應由哪些模塊構成,以及模塊之間的關系。
還應考慮系統的開發和應用環境,如計算機系統的配置,計算機網絡等。
5.詳細設計
詳細設計階段的任務就是把問題的求解具體化,設計出程序的詳細規格說明。
通常用HIPO圖(層次圖/輸入/處理/輸出)或PDL語言(過程設計語言)描述詳細設計的結果。
6.編碼和單元測試
本階段的任務是編寫軟件程序。程序員應根據目標系統的要求,選取適合的程序設計語言,把詳細設計的結果編制成程序,并對每一個模塊進行單元測試。
需要考慮軟件平臺、開發工具等等。
7.綜合測試
本階段的任務是通過各種測試以及相應的調試,使軟件達到預定的要求。
應該把測試計劃、測試方案、測試結果等以文檔的形式保存下來,作為軟件配置的一個組成部分。
8.軟件維護
軟件維護的任務是,通過各種必要的維護活動使系統持久地滿足用戶的需要。
通常有4類維護活動:改正性維護;適應性維護;完善性維護;預防性維護。
每一項維護活動都應該準確地記錄下來,作為正式的文檔保存。