軟體和其他產品一樣,都有一個從“出現”到“消失”的過程。這個過程就稱作軟體生命週期。就好像我們人類一樣,從出生--少年--青年--中年--老年--死亡一樣,可以將軟體生命週期劃分為6個階段:問題定義、需求分析、軟體設計、軟體開發、軟體測試、軟體維護最後淘汰。
下面我們分開來認識下各個階段:
1、問題定義
該階段由軟體開發方與需求方共同討論,主要確定軟體的開發目標及其可行性。
比如說,我是開網咖的,網咖裡這麼多電腦管理很不方便。這時我們想要跟軟體開發方約個咖啡廳聊聊,軟體開發方就問道:我看你們的網咖電腦挺多的,這麼多電腦管理起來麻煩又易錯,我可以給你設計個管理系統幫忙解決這個問題。然後使用者就說:好啊,那你們可以實現xxx效果嗎??
2、需求分析
該階段對軟體需求進一步深入的分析,劃分出軟體需求需要實現的功能模組,並製作成文件。需求分析在軟體整個生命週期中起到非常重要的作用,他直接關係到軟體開發的成功率。在後期開發中,需求可能會發生變化,因此,在進行需求分析時,應考慮到需求的變化,以保證整個專案的順利。
不同於問題定義,在這個階段會對需求提出更明細的要求,並形成文件。可以作為後續的設計、開發和測試的重要依據。
3、軟體設計
該階段在需求分析的基礎上,對整個軟體系統進行設計,如系統框架設計、資料庫等。
這一過程主要由開發人員實現。這一階段也可以分為基礎設計和詳細設計,基礎設計重點突出業務模組,專案背景,設計邏輯等;而詳細設計可能會涉及到程式碼層,可以寫明類和核心函式的呼叫關係等。
4、軟體開發
該階段在軟體設計的基礎上,選擇一種程式語言進行開發。
通俗來說就是以需求分析文件、軟體設計文件等為依據,用程式碼實現功能
5、軟體測試
該階段時軟體開發完成後對軟體進行測試,以查詢軟體設計與軟體開發過程中存在的問題並加以修正。
在這個階段中,根據不同的分類標準有不同的測試劃分,可以分為白盒測試、黑盒測試、兩者結合的灰盒測試;或者單元測試、整合測試、系統測試等。
6、軟體維護
軟體完成測試並投入使用之後,面對龐大的使用者群體,軟體可能無法滿足使用者需求,此時就需要對軟體進行維護升級以延續軟體的使用壽命。其中軟體維護是整個軟體生命週期中持續時間最長的階段。