可行性研究和計劃程序員
在決定開發以前,首先須要進行的是可行性研究,經過可行性研究,來決定開發磁軟件的必要性,並根據可行性研究的結果初步肯定軟件的目標,範圍,風險,開發成本等內容,從而制訂出初步的軟件開發計劃。經過可行性研究,若是肯定該軟件具備研發的必要,則將產生<<可行性研究報告>>和<<軟件開發計劃>>,並進入需求分析階段。數據庫
需求分析架構
需求分析是軟件開發的重要階段。通過可行性研究後,初步肯定了軟件開發的目標和範圍,以後則須要對軟件的需求進行細緻的分析,來肯定軟件要作成什麼樣的。需求分析是軟件開發過程當中極其重要的一環,若是需求分析出現了重大誤差,那麼軟件開發必然會偏離正確的道路,越走越遠。尤爲是若是需求分析的錯誤在軟件開發後期才被發現,修正的代價是很是昂貴的。
函數
概要設計單元測試
概要設計肯定整個軟件的技術藍圖,負責將需求分析的結果轉化爲技術層面的設計方案。在概要設計中,須要肯定系統架構,各子系統間的關係,接口規約,數據庫模型,編碼規範等內容。概要設計的結果將做爲程序員的工做指南,供程序員瞭解系統的內部原理,並在其基礎上進行詳細設計和編碼工做。
測試
詳細設計編碼
詳細設計完成編碼前最後的設計,詳細設計在概要設計的基礎上進行細化,如類設計。詳細設計不是開發過程當中的必須的階段,在一些規模較小,結構簡單的系統中,詳細設計每每被省略。一樣,在某一個軟件開發中,可能會對部分關鍵模塊進行詳細設計。
設計
實現對象
實現過程包括編碼和單元測試。單元測試指的是對剛剛編寫出的一個小的程序單元進行單元測試,如某一個過程,方法或函數。因爲單元測試的對象是小的程序單元,而不是完整的程序,所以每每須要編寫一些測試程序來進行測試。有效的單元測試能夠大大提高編碼的質量,下降軟件系統的缺陷率。
接口
集成測試
集成測試又稱爲組裝測試。經過單元測試的程序並不意味着沒有bug,當程序單元被集成到一塊兒進行交互的時候,每每會出現單元測試中不能發現的問題。同單元測試不一樣,集成測試必須通過精心的組織,制訂集成測試計劃,肯定如何將這些程序集成到一塊兒,按照什麼樣的順序進行測試,使用哪些測試數據等問題。
系統測試
當完成集成測試後,軟件之間的接口方面的錯誤已經排除,這是須要驗證軟件是否同需求一致,是否達到了預期目標。同集成測試同樣,確認測試也須要進行計劃和組織,逐步地驗證軟件系統與需求的一致性。通過確認測試的軟件將投入正常使用,並進入維護期。
使用和維護
即便通過了單元測試,集成測試和確認測試,也不可能發現軟件系統中的所有缺陷,軟件系統的需求也會根據業務的發展變化而變化。所以,在軟件使用過程當中,必須不斷地對軟件進行衛華,修正軟件中的缺陷,修改軟件中已經不能適應最新狀況的功能或者增長新的功能。軟件維護的過程會貫穿整個軟件的使用過程,當使用和維護階段結束後,軟件系統也就天然消亡,軟件系統的生命週期結束。