1、瀑布模型
軟件計劃 -> 需求分析 -> 軟件設計 -> 程序編碼 -> 軟件測試 -> 運行維護,按照這樣的流程一個階段一個階段的進行,發(fā)現(xiàn)問題返回上一階段修改,
這種模型出來之后得到廣泛使用,在實際開發(fā)中慢慢地淡出視線,幾乎被淘汰,因為他有重大缺陷,這種缺陷可能導致項目的失敗,成本超支,延期。瀑布模型適用于需求明確的項目,結(jié)構(gòu)化中的方法。
2、快速原型模型
由瀑布模型和構(gòu)建化開發(fā)模型組成的模型(業(yè)務建模軟件工程培訓,數(shù)據(jù)建模,過程建模,應用生成,測試與交付),能夠快速地構(gòu)建應用系統(tǒng),所以得以廣泛應用
3、原型
用戶對系統(tǒng)有心里預期,可以是一個簡易的系統(tǒng)演示給用戶看,讓用戶看到開發(fā)出來的系統(tǒng)什么樣,東西做出來之后用戶發(fā)現(xiàn)很多問題和提出問題,通過檢疫系統(tǒng)的方式,以比較低的成本,只適用于需求階段
4、演化模型
將原型通過演化最后的得到完整的系統(tǒng)
5、增量模型
由原型的思想加上瀑布模型的思想得到增量模型,用戶有多種多樣的需求,先將核心部分做出來,給用戶使用并修改,然后在開發(fā)下一功能,一步一步完成系統(tǒng),強調(diào)的是分功能開發(fā),可按功能重要性來排序
6、螺旋模型
以原型為核心,將一個項目分為若干個小項目,每個小項目以瀑布模型為主,在瀑布模型前加上風險評估,缺點是較大項目中未能及時標識風險可能趙成重大損失,過多的迭代增加了成本
7、構(gòu)件組裝模型(CBSD)
各個模塊都可考慮作為構(gòu)件建,將各個構(gòu)件組裝得到應用系統(tǒng),極大程度地提高了軟件開發(fā)的復用性,極大地減小的開發(fā)時間,降低軟件開發(fā)成本,提高軟件可靠性,步驟:
需求分析與定義 -> 軟件架構(gòu)設計 -> 構(gòu)件庫的建立(構(gòu)件獲取和構(gòu)件管理) -> 應用軟件構(gòu)建 -> 測試和發(fā)布
8、噴泉模型
面向?qū)ο竽P?,正因為他是面向?qū)ο竽P退杂械蜔o間隙,多個階段同步進行,需大量開發(fā)人員,不利于項目管理,嚴格管理文檔,審核難度加大
9、V模型
和瀑布模型非常接近,在V模型中測試更加重要,細分了測試環(huán)節(jié),需求和驗收測試有著對應關系,在需求分析階段就可以寫驗收測試和系統(tǒng)測試報告軟件工程培訓,這樣可以提前發(fā)現(xiàn)問題,避免了瀑布模型在最后的測試階段發(fā)現(xiàn)問題再修改需求的問題。概要設計階段同步做集成測試,集成測試主要是測試模塊間的銜接,提前發(fā)現(xiàn)模塊劃分的問題,詳細設計階段同步單元測試,V模型是強調(diào)測試的模型。
需求分析 -> 概要設計 -> 詳細設計 -> 編碼 -> V模型 -> 單元測試 -> 集成測試 -> 系統(tǒng)測試 -> 驗收測試
10、統(tǒng)一過程(UP)
目前應用比較廣泛的模型,了解模型特點,模型階段,模型核心人物,統(tǒng)一過程有三大特點:用例驅(qū)動,通過需求分析挖掘出用例,整個開發(fā)過程由用例把各階段串起來并推動各個階段,強調(diào)先要把架構(gòu)設計好,然后再填充相應的構(gòu)件,迭代與增量形成環(huán)狀,每個循環(huán)完成會有一個增量。
初始階段:確定項目范圍和邊界,識別系統(tǒng)關鍵用例(2-8定理,80%的人使用20%的系統(tǒng)功能),展示系統(tǒng)的候選架構(gòu),估計項目費用和時間,評估項目風險
細化階段:分析系統(tǒng)問題領域,建立軟件架構(gòu)基礎,淘汰最高風險元素
構(gòu)建階段:將構(gòu)件組裝起來并測試,開發(fā)剩余的構(gòu)件
交付階段:進行β測試,制作發(fā)布版本,文檔定稿,確認新系統(tǒng),培訓調(diào)整產(chǎn)品,終上所述統(tǒng)一過程也不是一次性完成系統(tǒng),也需要逐步完善
敏捷開發(fā)方法:
屬于比較年輕的開發(fā)方法,最初沒有開發(fā)方法,發(fā)現(xiàn)開發(fā)出來的軟件質(zhì)量很難控制,發(fā)展出來了開發(fā)模型,開發(fā)方法,慢慢規(guī)范后發(fā)現(xiàn)重量級模型(注重流程和文檔)開發(fā)得不到很好的效果,去掉不必要的文檔和流程
敏捷開發(fā)包括:自適應開發(fā),水晶方法,特征驅(qū)動開發(fā),SCRUM,極限編程XP。
基本原則:短平快的會議(砍掉不必要的會議,縮短會議控制時長),小型版本發(fā)布,較少的文檔,合作為重,客戶直接參與,自動化測試,自適應計劃調(diào)整,結(jié)對編程,測試驅(qū)動開發(fā),持續(xù)集成,重構(gòu)
極限編程4大價值觀:溝通、簡單、反饋、勇氣
極限編程5大原則:快速反饋、簡單性假設、逐步修改、提倡更改、優(yōu)質(zhì)工作
極限編程12個最佳實踐:小型發(fā)布、簡單設計、測試先行、結(jié)對編程、計提代碼所有制、每周工作40小時、現(xiàn)場客戶,編碼標準