軟體開發模式對比 瀑布 迭代 螺旋 敏捷

2021-09-13 14:22:53 字數 1883 閱讀 9081

原文:

1、瀑布模型

是由w.w.royce在2023年最初提出的軟體開發模型, 瀑布式開發是一種老舊的計算機軟體開發方法。

瀑布模型式是最典型的預見性的方法,嚴格遵循預先計畫的需求分析、設計、編碼、整合、測試、維護的步驟順序進行。

步驟成果作為衡量進度的方法,例如需求規格,設計文件,測試計畫和**審閱等等。 

瀑布式的主要的問題是它的嚴格分級導致的自由度降低,專案早期即作出承諾導致對後期需求的變化難以調整,

代價高昂。瀑布式方法在需求不明並且在專案進行過程中可能變化的情況下基本是不可行的。 

2、迭代式開發

也被稱作迭代增量式開發迭代進化式開發,是一種與傳統的瀑布式開發相反的軟體開發過程,它彌補了傳統開發方式中的一些弱點,具有更高的成功率和生產率。

什麼是迭代式開發?

每次只設計和實現這個產品的一部分, 

逐步逐步完成的方法叫迭代開發, 

每次設計和實現乙個階段叫做乙個迭代. 

在迭代式開發方法中,整個開發工作被組織為一系列的短小的、

固定長度(如3周)的小專案,被稱為一系列的迭代。

每一次迭代都包括了需求分析、設計、實現與測試。

採用這種方法,開發工作可以在需求被完整地確定之前啟動,

並在一次迭代中完成系統的一部分功能或業務邏輯的開發工作。

再通過客戶的反饋來細化需求,並開始新一輪的迭代。

迭代式開發的優點:

1、降低風險

2、得到早期使用者反饋

3、持續的測試和整合

4、使用變更

5、提高復用性

3、螺旋開發

2023年,巴利·玻姆(barry boehm)正式發表了軟體系統開發的「螺旋模型」,它將瀑布模型和快速原型模型結合起來,強調了其他模型所忽視的風險分析,特別適合於大型複雜的系統。「螺旋模型」剛開始規模很小,當專案被定義得更好、更穩定時,逐漸展開。 

「螺旋模型」的核心就在於您不需要在剛開始的時候就把所有事情都定義的清清楚楚。您輕鬆上陣,定義最重要的功能,實現它,然後聽取客戶的意見,之後再進入到下乙個階段。如此不斷輪迴重複,直到得到您滿意的最終產品。 

制定計畫:確定軟體目標,選定實施方案,弄清專案開發的限制條件; 

風險分析:分析評估所選方案,考慮如何識別和消除風險; 

實施工程:實施軟體開發和驗證; 

螺旋模型很大程度上是一種風險驅動的方法體系,因為在每個階段之前及經常發生的迴圈之前,都必須首先進行風險評估。

4、敏捷軟體開發

又稱敏捷開發,是一種從2023年代開始逐漸引起廣泛關注的一些新型軟體開發方法,是一種應對快速變化的需求的一種軟體開發能力。它們的具體名稱、理念、過程、術語都不盡相同,相對於「非敏捷」,更強調程式設計師團隊與業務專家之間的緊密協作、面對面的溝通(認為比書面的文件更有效)、頻繁交付新的軟體版本、緊湊而自我組織型的團隊、能夠很好地適應需求變化的**編寫和團隊組織方法,也更注重軟體開發中人的作用。

其中位於右邊的內容雖然也有其價值,但是左邊的內容最為重要。

人員彼此信任 人少但是精幹 可以面對面的溝通

專案的敏捷開發:

敏捷開發小組主要的工作方式可以歸納為:作為乙個整體工作; 按短迭代週期工作; 每次迭代交付一些成果; 

關注業務優先順序; 檢查與調整。

最重要的因素恐怕是專案的規模。規模增長,面對面的溝通就愈加困難,

因此敏捷方法更適用於較小的隊伍,40、30、20、10人或者更少。

大規模的敏捷軟體開發尚處於積極研究的領域。

四者對比區別:

軟體開發模式對比 瀑布 迭代 螺旋 敏捷

1 瀑布模型是由w.w.royce在1970年最初提出的軟體開發模型,瀑布式開發是一種老舊的計算機軟體開發方法。瀑布模型式是最典型的預見性的方法,嚴格遵循預先計畫的需求分析 設計 編碼 整合 測試 維護的步驟順序進行。步驟成果作為衡量進度的方法,例如需求規格,設計文件,測試計畫和 審閱等等。瀑布式的...

軟體開發模式對比 瀑布 迭代 螺旋 敏捷

1 瀑布模型是由w.w.royce在1970年最初提出的軟體開發模型,瀑布式開發是一種老舊的計算機軟體開發方法。瀑布模型式是最典型的預見性的方法,嚴格遵循預先計畫的需求分析 設計 編碼 整合 測試 維護的步驟順序進行。步驟成果作為衡量進度的方法,例如需求規格,設計文件,測試計畫和 審閱等等。瀑布式的...

軟體開發模式對比 瀑布 迭代 螺旋 敏捷

1 瀑布模型是由w.w.royce在1970年最初提出的軟體開發模型,瀑布式開發是一種老舊的計算機軟體開發方法。瀑布模型式是最典型的預見性的方法,嚴格遵循預先計畫的需求分析 設計 編碼 整合 測試 維護的步驟順序進行。步驟成果作為衡量進度的方法,例如需求規格,設計文件,測試計畫和 審閱等等。瀑布式的...