軟件開發(fā)模型有哪些?各有什么特點

軟考 責任編輯:羅國秀 2023-02-21

添加老師微信

備考咨詢

加我微信

軟件開發(fā)模型(Software Development Model)是指軟件開發(fā)全部過程、活動和任務的結構框架。那么軟件開發(fā)模型有哪些?各有什么特點?

1、原型模型

典型的原型開發(fā)方法模型。適用于需求不明確的場景,可以幫助用戶明確需求。

2、瀑布模型

瀑布模型是將軟件生存周期中的各個活動規(guī)定為依線性順序連接的若干階段的模型,包括需求分析、設計、編碼、運行與維護。 瀑布模型的特點是容易理解,管理成本低,每個階段都有對應的成果產(chǎn)物,各個階段有明顯的界限劃分和順序要求,一旦發(fā)生錯誤,整個項目推倒重新開始。

適用于需求明確的項目,一般表述為需求明確、或二次開發(fā),或者對于數(shù)據(jù)處理類型的項目。

3、增量模型

融合了瀑布模型的基本成分和原型實現(xiàn)的迭代特征,可以有多個可用版本的發(fā)布,核心功能往往最先完成,在此基礎上,每輪迭代會有新的增量發(fā)布,核心功能可以得到充分測試。強調每一個增量均發(fā)布一個可操作的產(chǎn)品。

4、螺旋模型

典型特點是引入了風險分析。結合了瀑布模型和演化模型的優(yōu)點,最主要的特點在于加入了風險分析。它是由制定計劃、風險分析、實施工程、客戶評估這一循環(huán)組成的,它最初從概念項目開始第一個螺旋。

5、V模型

強調測試貫穿項目始終,而不是集中在測試階段。是一種測試的開發(fā)模型。

6、噴泉模型

典型的面向對象的模型。特點是迭代、無間隙。會將軟件開發(fā)劃分為多個階段,但各個階段無明顯界限,并且可以迭代交叉。

7、快速應用開發(fā)RAD

概念:RAD是瀑布模型的一個高速變種,適用比傳統(tǒng)生命周期快得多的開發(fā)方法,它強調極短的開發(fā)周期,通常適用基于構件的開發(fā)方法獲得快速開發(fā)。

過程:業(yè)務建模,數(shù)據(jù)建模,過程建模,應用生成,測試與交付。

適用性:RAD對模塊化要求比較高,如果某項功能不能被模塊化,則其構件就會出問題;如果高性能是一個指標,且必須通過調整結構使其適應系統(tǒng)構件才能獲得,則RAD也有可能不能奏效;RAD要求開發(fā)者和客戶必須在很短的時間完成一系列的需求分析,任何一方配合不當都會導致失敗;RAD只能用于管理信息系統(tǒng)的開發(fā),不適合技術風險很高的情況。

8、構件組裝模型

9、統(tǒng)一過程(在軟考中UP、RUP都指統(tǒng)一過程)

典型特點是用例驅動、以架構為中心、迭代和增量。統(tǒng)一過程把一個項目分為四個不同的階段:

構思階段(初始階段):包括用戶溝通和計劃活動兩個方面,強調定義和細化用例,并將其作為主要模型。

(1)項目藍圖文檔(核心需求,關鍵特性,主要約束)

(2)用例模型

(3)項目計劃

細化階段:包括用戶溝通和建?;顒樱攸c是創(chuàng)建分析和設計模型,強調類的定義和體系結構的表示。

(1)完成架構設計

(2)淘汰高風險元素

構建階段:將設計轉化為實現(xiàn),并進行集成和測試。

(1)UML模型

(2)測試用例

移交階段:將產(chǎn)品發(fā)布給用戶進行測試評價,并收集用戶的意見,之后再次進行迭代修改產(chǎn)品使之完善。

(1)可運行的軟件產(chǎn)品

(2)用戶手冊

(3)用戶支持計劃

10、敏捷開發(fā)

敏捷開發(fā)是一種以人為核心、迭代、循序漸進的開發(fā)方法,適用于小團隊和小項目,具有小步快跑的思想。常見的敏捷開發(fā)方法有極限編程法、水晶法、并列爭球法和自適應軟件開發(fā)方法。

極限編程XP是一種輕量級的開發(fā)方法,它提出了四大價值觀:溝通、簡單、反饋、勇氣。五大原則:快速反饋、簡單性假設、逐步修改、提倡更改、優(yōu)質工作。十二個最佳實踐:計劃游戲、隱喻、小型發(fā)布、簡單設計、測試先行、重構、結對編程、集體代碼所有制、持續(xù)集成、每周工作40小時、現(xiàn)場客戶和編碼標準。

水晶法強調經(jīng)常交付,認為每一種不同的項目都需要一套不同的策略、約定和方法論。

并列爭球法的核心是迭代、增量交付,按照30天進行迭代開發(fā)交付可實際運行的軟件。

自適應軟件開發(fā)(ASD方法)的核心是三個非線性的,重疊的開發(fā)階段:猜測、合作、學習。

開放式源碼,這里提到的開放式源碼指的是開放源碼界所用的一種運作方式。開放式源碼項目有一個特別之處,就是程序開發(fā)人員在地域上分布很廣,這使得它和其他敏捷方法不同,因為一般的敏捷方法都強調項目組成員在同一地點工作。開放源碼的一個突出特點就是查錯排障(debug)的高度并行性,任何人發(fā)現(xiàn)了錯誤都可將改正源碼的“補丁”文件發(fā)給維護者。然后由維護者將這些“補丁”或是新增的代碼并入源碼庫。

11、Coad的功用驅動開發(fā)方法(FDD-Feature Driven Development)

FDD是由Jeff De Luca和大師Peter Coad提出來的。像其他方法一樣,它致力于短時的迭代階段和可見可用的功能。在FDD中,一個迭代周期一般是兩周。

在FDD中,編程開發(fā)人員分成兩類:首席程序員和“類”程序員(class owner)。首席程序員是最富有經(jīng)驗的開發(fā)人員,他們是項目的協(xié)調者、設計者和指導者,而“類”程序員則主要做源碼編寫。

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

軟考備考資料免費領取

去領取

!
咨詢在線老師!