軟件開發(fā)生命周期
軟件生命周期是指軟件從開始研制到最終被廢棄所經(jīng)歷的各個階段敢课。在不同的階段里追他,由不同的組織和人員執(zhí)行不同的任務绎签,需要消耗不同的資源震捣。
軟件開發(fā)生命周期經(jīng)歷的階段
需求分析-->軟件設計-->程序編碼-->軟件測試-->運行維護
常見的軟件開發(fā)生命周期模式
1.大爆炸模式
2.邊寫邊改模式
3.瀑布模式
4.螺旋模式
5.敏捷開發(fā)模式
大爆炸模式
計劃荔棉、進度安排和正規(guī)的開發(fā)過程幾乎沒有所有的精力都花費在開發(fā)軟件和編碼上。
優(yōu)點:簡單蒿赢。
缺點:幾乎沒有什么測試润樱,測試越深問題可能越大。
邊寫邊改模式
最初可能是根據(jù)一些簡單的想法诉植,開始進行簡單的設計祥国,接著是漫長的編碼、測試晾腔、修復舌稀,直到覺得沒有問題就發(fā)布。
優(yōu)點:可以快速看到成果
缺點:由于經(jīng)常修改灼擂,可能舊版本都沒有測試完壁查,新版本就出來了
瀑布模式
瀑布模式是從最初構思到最終產(chǎn)品經(jīng)過一系列步驟。每一個步驟結束時剔应,項目小組審查決定是否進入下一步驟睡腿。如果沒有準備好進入下一步,就停滯下來峻贮,直到完成席怪。
該步驟流程是:構思-->分析-->設計-->開發(fā)-->測試-->最終產(chǎn)品
瀑布模式的3大特點:
1.強調產(chǎn)品的定義
2.瀑布模型的各步驟是獨立的、沒有交叉的纤控。
3.瀑布模型是無法回溯的
優(yōu)點:簡捷挂捻、精致、在合適的項目中效果顯著船万。
缺點:測試在后期進行刻撒,可能有些問題在早期就出現(xiàn)。
螺旋模型
螺旋模型主要思想是一開始不必定義所有細節(jié)耿导,從小開始声怔,定義重要功能,努力實現(xiàn)這些功能舱呻,接受用戶反饋醋火,然后進入下一階段,重復過程,直到最終產(chǎn)品胎撇。
螺旋模型每一次循環(huán)包括6個步驟:
1.確定目標介粘、可選方案和限制條件
2.明確并化解風險
3.評估可選方案
4.當前階段開發(fā)和測試
5.計劃下一階段
6.確定進入下一階段的方法
優(yōu)點:發(fā)現(xiàn)問題較早,成本低
缺點:建設周期長晚树,而軟件技術發(fā)展比較快
敏捷開發(fā)模式
強調程序員團隊與業(yè)務專家之間的緊密協(xié)作、面對面的溝通(認為比書面的文檔更有效)雅采、頻繁交付新的軟件版本爵憎、緊湊而自我組織型的團隊、能夠很好地適應需求變化的代碼編寫和團隊組織方法婚瓜,也更注重軟件開發(fā)中人的作用宝鼓。
核心思想:
1)人和交互重于過程和工具。
2)軟件重于求全而完備的文檔巴刻。
3)客戶協(xié)作重于合同談判愚铡。
4)隨時應對變化重于循規(guī)蹈矩。
優(yōu)點:能快速適應現(xiàn)實的變化胡陪,周期短
缺點:當規(guī)模增大沥寥,面對面溝通困難