增量開發模型
增量模型是把待開發的軟件系統模塊化,將每個模塊作為一個增量組件,從而分批次地分析、設計、編碼和測試這些增量組件。運用增量模型的軟件開發過程是遞增式的過程。相對于瀑布模型而言,采用增量模型進行開發,開發人員不需要一次性地把整個軟件產品提交給用戶,而是可以分批次進行提交。
增量模型工作流程
-
工作流程
1、系統開發的前期階段,為了確保所建系統具有優良的結構,仍需要針對整個系統進行需求分析和概要設計,需要確定系統的基于增量構件的需求框架,并以需求框架中構件的組成及關系為依據,完成對軟件系統的體系結構設計。
2、在完成軟件體系結構設計之后,可以進行增量構件的開發。這個時候,需要對構件進行需求細化,然后進行設計、編碼測試和有效性驗證。
3、在完成了對某個增量構件的開發之后,需要將該構件集成到系統中去,并對已經發生了改變的系統重新進行有效性驗證,然后再繼續下一個增量構件的開發。
-
優缺點
1、優點
- 將待開發的軟件模塊化,能夠分批次的交付,客戶能夠快速了解到軟件開發的進程。
- 以模塊為單位進行開發,如果某一模塊的開發周期當中出現了風險,不會影響整體的開發。
- 開發順序靈活,能夠自由調整開發順序,如先開發穩定的模塊。
2、缺點
- 如果待開發的軟件不能模塊化而進行增量模型開發的話,將會帶來許多的不必要的麻煩。
-
適用項目
1、軟件產品可以分批次地進行交付。
2、待開發的軟件系統能夠被模塊化。
3、軟件開發人員對應用領域不熟悉,難以一次性地進行系統開發。
4、項目管理人員把握全局的水平較高。
-
作用(參考自百度百科)
1、開發初期的需求定義只是用來確定軟件的基本結構,這使得開發初期,用戶只需要對軟件需求進行大概的描述,而對于需求的細節性描述,則可以延遲到增量構件開發時進行,以增量構件為單位逐個地進行需求補充。這種方式有利于用戶需求的逐漸明朗,能夠有效適應用戶需求的變更。 2、軟件系統可以按照增量構件的功能安排開發的優先順序,并逐個實現和交付使用。這不僅有利于用戶盡早地用上系統,能夠更好地適應新的軟件環境,而且用戶在以增量方式使用系統的過程中,還能夠獲得對軟件系統后續構件的需求經驗。這樣能使軟件需求定義越往后越順利。 3、軟件系統是逐漸擴展的,因此,開發者可以通過對諸多構件的開發,逐步積累開發經驗。實際上,增量式開發還有利于技術復用,前面構件中設計的算法、采用的技術策略、編寫的源碼等,都可以應用到后面將要創建的增量構件中去。 4、增量式開發還有利于從總體上降低軟件項目的技術風險。個別的構件或許不能使用,但這一般不會影響到整個系統的正常工作。 5、實際上,在采用增量模型時,具有最高優先權的核心增量構件將會被最先交付,而隨著后續構件不斷被集成進系統,這個核心構件將會受到最多次數的測試。這意味著軟件系統最重要的心臟部分將具有最高的可靠性,這將使得整個軟件系統更具健壯性。