增量模型
出自 MBA智库百科(https://wiki.mbalib.com/)
增量模型(Incremental Model)
目錄 |
增量模型融合了瀑布模型的基本成分(重覆應用)和原型實現的迭代特征,該模型採用隨著日程時間的進展而交錯的線性序列,每一個線性序列產生軟體的一個可發佈的“增量”。當使用增量模型時,第1個增量往往是核心的產品,即第1個增量實現了基本的需求,但很多補充的特征還沒有發佈。客戶對每一個增量的使用和評估都作為下一個增量發佈的新特征和功能,這個過程在每一個增量發佈後不斷重覆,直到產生了最終的完善產品。增量模型強調每一個增量均發佈一個可操作的產品。採用增量模型的軟體過程如下圖所示:
增量模型與原型實現模型和其他演化方法一樣,本質上是迭代的,但與原型實現不一樣的是其強調每一個增量均發佈一個可操作產品。早期的增量是最終產品的“可拆卸”版本,但提供了為用戶服務的功能,並且為用戶提供了評估的平臺。
增量模型的特點是引進了增量包的概念,無須等到所有需求都出來,只要某個需求的增量包出來即可進行開發。雖然某個增量包可能還需要進一步適應客戶的需求並且更改,但只要這個增量包足夠小,其影響對整個項目來說是可以承受的。
1、增量模型的優點
採用增量模型的優點是人員分配靈活,剛開始不用投入大量人力資源。如果核心產品很受歡迎,則可增加人力實現下一個增量。當配備的人員不能在設定的期限內完成產品時,它提供了一種先推出核心產品的途徑。這樣即可先發佈部分功能給客戶,對客戶起到鎮靜劑的作用。此外,增量能夠有計劃地管理技術風險。
2、增量模型的缺點
增量模型存在以下缺陷:
1) 由於各個構件是逐漸併入已有的軟體體繫結構中的,所以加入構件必須不破壞已構造好的系統部分,這需要軟體具備開放式的體繫結構。
2) 在開發過程中,需求的變化是不可避免的。增量模型的靈活性可以使其適應這種變化的能力大大優於瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟體過程的控制失去整體性。
3)如果增量包之間存在相交的情況且未很好處理,則必須做全盤系統分析,這種模型將功能細化後分別開發的方法較適應於需求經常改變的軟體開發過程。
各種軟體過程模型的特點[1]
不同的軟體過程模型對軟體開發過程有不同的理解和認識,支持不同的軟體項目和開發組織。下表對比和分析了各個軟體過程模型的特點及其適用的軟體項目類型。
各種軟體過程模型的特點
模型名稱 | 技術特點 | 適用範圍 |
---|---|---|
瀑布模型 | 簡單,分階段,階段間存在因果關係,
各個階段完成後都有評審,允許反饋,不支持 用戶參與,要求預先確定需求 | 需求易於完善定義且不易變更的軟體系統 |
快速原型模型 | 不要求需求預先完備定義,支持用戶參與,
支持需求的漸進式完善和確認,能夠適應用戶需求的變化 | 需求複雜、難以確定、動態變化的軟體系統 |
增量模型 | 軟體產品是被增量式地一塊塊開發的,
允許開發活動並行和重疊 | 技術風險較大、用戶需求較為穩定的軟體系統 |
迭代模型 | 不要求一次性地開發出完整的軟體系統,將軟體
開發視為一個逐步獲取用廣需求、完善軟體產品的過程 | 需求難以確定、不斷變更的軟體系統 |
螺旋模型 | 結合瀑布模型、快速原型模型和迭代模
型的思想,並引進了風險分析活動 | 需求難以獲取和確定、軟體開發風險較大的軟體系統 |
RUP | 可改造、擴展和剪裁:可以對它進行設計、
開發、維護和發佈;強調迭代開發 | 複雜和需求難以獲取和確定的軟體系統;
軟體開發項目組擁有豐富的軟體開發和管理經驗 |
- ↑ 譚慶平,毛新軍,董威.軟體工程實踐教程[M].高等教育出版社,2009.04.
很不錯