演化模型

在快速原型模型中,原型的用途是獲知用戶的真正需求,一旦需求確定了,原型即被拋棄。而演化模型套用於整個軟體開發過程,是從初始模型逐步演化為最終軟體產品的漸進過程。也就是說,快速原型模型是一種“拋棄式”的原型化方法,而演化模型則是一種“漸進式”的原型化方法。

演化模型(Evolutionary Model)

什麼是演化模型

演化模型主要針對事先不能完整定義需求的軟體開發。用戶可以給出待開發系統的核心需求,並且當看到核心需求實現後,能夠有效地提出反饋,以支持系統的最終設計和實現。軟體開發人員根據用戶的需求,首先開發核心繫統。當該核心繫統投入運行後,用戶試用之,完成他們的工作,並提出精化系統、增強系統能力的需求。軟體開發人員根據用戶的反饋,實施開發的疊代過程。第一疊代過程均由需求、設計、編碼、測試、集成等階段組成,為整個系統增加一個可定義的、可管理的子集。

在開發模式上採取分批循環開發的辦法,每循環開發一部分的功能,它們成為這個產品的原型的新增功能。於是,設計就不斷地演化出新的系統。 實際上,這個模型可看作是重複執行的多個“瀑布模型”。

“演化模型”要求開發人員有能力把項目的產品需求分解為不同組,以便分批循環開發。這種分組並不是絕對隨意性的,而是要根據功能的重要性及對總體設計的基礎結構的影響而作出判斷。有經驗指出,每個開發循環以六周到八周為適當的長度。

演化模型的優缺點

1、演化模型的優點

1)任何功能一經開發就能進入測試以便驗證是否符合產品需求。

2)幫助導引出高質量的產品要求。如果沒有可能在一開始就弄清楚所有的產品需求,它們可以分批取得。而對於已提出的產品需求,則可根據對現階段原型的試用而作出修改。

3)風險管理可以在早期就獲得項目進程數據,可據此對後續的開發循環作出比較切實的估算。提供機會去採取早期預防措施,增加項目成功的機率。

4)大大有助於早期建立產品開發的配置管理,產品構建(build ),自動化測試,缺陷跟蹤,文檔管理。均衡整個開發過程的負荷。

5)開發中的經驗教訓能反饋套用於本產品的下一個循環過程,大大提高質量與效率。

6)如果風險管理髮現資金或時間已超出可承受的程度,則可以決定調整後續的開發,或在一個適當的時刻結束開發,但仍然有一個具有部分功能的,可工作的產品。

7)心理上,開發人員早日見到產品的雛型,是一種鼓舞。

8)使用戶可以在新的一批功能開發測試後,立即參加驗證,以便提供非常有價值的反饋。

9)可使銷售工作有可能提前進行,因為可以在產品開發的中後期取得包含了主要功能的產品原型去向客戶作展示和試用。

2、演化模型的缺點

1)如果所有的產品需求在一開始並不完全弄清楚的話,會給總體設計帶來困難及削弱產品設計的完整性,並因而影響產品性能的最佳化及產品的可維護性。

2)如果缺乏嚴格的過程管理的話,這個生命周期模型很可能退化為一種原始的無計畫的“試-錯-改”模式。

3)心理上,可能產生一種影響盡最大努力的想法,認為雖然不能完成全部功能,但還是造出了一個有部分功能的產品。

4)如果不加控制地讓用戶接觸開發中尚未測試穩定的功能,可能對開發人員及用戶都產生負面的影響。

本條目在以下條目中被提及

關鍵字

演化模型,Evolutionary Model,Evolutionary model.

相關詞條

相關搜尋

熱門詞條

聯絡我們