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