軟件開發,同任何事物一樣要經歷孕育、誕生、成長、成熟、結束等階段,稱之為軟件開發生命周期。
通常,軟件開發生命周期包括可行性分析與項目開發計划、需求分析、設計、編碼、測試、發布維護等。
1)可行性分析與項目開發計划
這個階段主要確定軟件開發的目標及其可行性,明確要解決的問題及解決辦法,以及解決問題需要的費用、資源、時間。要進行問題定義、可行性分析,制定項目開發計划。
該階段產生的文檔主要有可行性分析報告(一般很少需要)和項目開發計划。
2)需求分析
需求分析是明確軟件系統要做什么,確定軟件系統的功能、性能、數據、和界面等要求。
該階段產生的文檔有軟件需求說明書。
3)設計
設計分為概要設計和詳細設計。
概要設計就是設計軟件的結構,明確軟件系統由那些模塊組成,這些模塊的層次結構、調用關系以及模塊的功能,同時確定數據結構和數據庫結構。
詳細設計是對每個模塊完成的功能進行具體的描述,把功能描述轉變為精確地、結構化的過程描述,既該模塊的控制結構或者說邏輯結構。
該階段產生的文檔有概要設計說明書、數據庫設計說明書、接口設計、詳細設計說明書等。
4)編碼
編碼就是把模塊的控制結構轉化為程序代碼,該階段需要編碼規范。
5)測試
測試是為了保證軟件質量,該階段產生的文檔主要有軟件測試計划、測試用例、軟件測試報告。
6)發布與維護
發布就是完成軟件開關並已開發的軟件系統安裝到客戶的服務器上,維護是為客戶提供培訓、故障排除以及所需的軟件升級。
該階段產生的文檔主要有項目開發總結報告、用戶手冊、應用軟件清單、源代碼清單、維護文檔。