增量模型

增量模型

增量模型是把待開發的軟體系統模組化,將每個模組作為一個增量組件,從而分批次地分析、設計、編碼和測試這些增量組件。運用增量模型的軟體開發過程是遞增式的過程。相對於瀑布模型而言,採用增量模型進行開發,開發人員不需要一次性地把整個軟體產品提交給用戶,而是可以分批次進行提交。

基本介紹

增量模型又稱為漸增模型,也稱為有計畫的產品改進模型,它從一組給定的需求開始,通過構造一系列可執行中間版本來實施開發活動。第一個版本納入一部分需求,下一個版本納入更多的需求,依此類推,直到系統完成。每箇中間版本都要執行必需的過程、活動和任務。

增量模型 增量模型

增量模型是瀑布模型和原型進化模型的綜合,它對軟體過程的考慮是:在整體上按照瀑布模型的流程實施項目開發,以方便對項目的管理;但在軟體的實際創建中,則將軟體系統按功能分解為許多增量構件,並以構件為單位逐個地創建與交付,直到全部增量構件創建完畢,並都被集成到系統之中交付用戶使用。

如同原型進化模型一樣,增量模型逐步地向用戶交付軟體產品,但不同於原型進化模型的是,增量模型在開發過程中所交付的不是完整的新版軟體,而只是新增加的構件。 右圖是增量模型的工作流程,它被分成以下三個階段:

1、在系統開發的前期階段,為了確保所建系統具有優良的結構,仍需要針對整個系統進行需求分析和概要設計,需要確定系統的基於增量構件的需求框架,並以需求框架中構件的組成及關係為依據,完成對軟體系統的體系結構設計。

2、在完成軟體體系結構設計之後,可以進行增量構件的開發。這個時候,需要對構件進行需求細化,然後進行設計、編碼測試和有效性驗證。

3、在完成了對某個增量構件的開發之後,需要將該構件集成到系統中去,並對已經發生了改變的系統重新進行有效性驗證,然後再繼續下一個增量構件的開發。

增量模型的特點

增量模型的最大特點就是將待開發的軟體系統模組化和組件化。基於這個特點,增量模型具有以下優點。

1、將待開發的軟體系統模組化,可以分批次地提交軟體產品,使用戶可以及時了解軟體項目的進展。

2、以組件為單位進行開發降低了軟體開發的風險。一個開發周期內的錯誤不會影響到整個軟體系統。

3、開發順序靈活。開發人員可以對組件的實現順序進行優先權排序,先完成需求穩定的核心組件。當組件的優先權發生變化時,還能及時地對實現順序進行調整。

增量模型的缺點是要求待開發的軟體系統可以被模組化。如果待開發的軟體系統很難被模組化,那么將會給增量開發帶來很多麻煩。

增量模型適用於具有以下特徵的軟體開發項目:

1、軟體產品可以分批次地進行交付。

2、待開發的軟體系統能夠被模組化。

3、軟體開發人員對套用領域不熟悉,難以一次性地進行系統開發。

4、項目管理人員把握全局的水平較高。

增量模型的作用

增量模型帶來了以下幾方面的作用:

1、開發初期的需求定義只是用來確定軟體的基本結構,這使得開發初期,用戶只需要對軟體需求進行大概的描述,而對於需求的細節性描述,則可以延遲到增量構件開發時進行,以增量構件為單位逐個地進行需求補充。這種方式有利於用戶需求的逐漸明朗,能夠有效適套用戶需求的變更。

2、軟體系統可以按照增量構件的功能安排開發的優先順序,並逐個實現和交付使用。這不僅有利於用戶儘早地用上系統,能夠更好地適應新的軟體環境,而且用戶在以增量方式使用系統的過程中,還能夠獲得對軟體系統後續構件的需求經驗。這樣能使軟體需求定義越往後越順利。

3、軟體系統是逐漸擴展的,因此,開發者可以通過對諸多構件的開發,逐步積累開發經驗。實際上,增量式開發還有利於技術復用,前面構件中設計的算法、採用的技術策略、編寫的源碼等,都可以套用到後面將要創建的增量構件中去。

4、增量式開發還有利於從總體上降低軟體項目的技術風險。個別的構件或許不能使用,但這一般不會影響到整個系統的正常工作。

5、實際上,在採用增量模型時,具有最高優先權的核心增量構件將會被最先交付,而隨著後續構件不斷被集成進系統,這個核心構件將會受到最多次數的測試。這意味著軟體系統最重要的心臟部分將具有最高的可靠性,這將使得整個軟體系統更具健壯性。

比較瀑布模型、原型進化模型,增量模型具有非常顯著的優越性。但是,增量模型對軟體設計有更高的技術要求,特別是對軟體體系結構,要求它具有很好的開放性與穩定性,能夠順利地實現構件的集成。在把每個新的構件集成到已建軟體系統的結構中的時候,一般要求這個新增的構件應該儘量少地改變原來已建的軟體結構。因此增量構件要求具有相當好的功能獨立性,其接口應該簡單,以方便集成時與系統的連線。

相關詞條

相關搜尋

熱門詞條

聯絡我們