演化模型

演化模型是一種全局的軟體(或產品)生存周期模型。屬於疊代開發方法。

基本介紹

  • 中文名:演化模型
  • 外文名:Evolutionary Model
  • 概念:全局的軟體(或產品)生存周期模型
  • 類別:疊代開發方法
簡介,作用,優缺點,演化模型的優點,演化模型的缺點,

簡介

演化模型(Evolutionary Model)
該模型可以表示為:第一次疊代(需求->設計->實現->測試->集成)->反饋->第二次疊代(需求->設計->實現->測試->集成)->反饋->……
即根據用戶的基本需求,通過快速分析構造出該軟體的一個初始可運行版本,這個初始的軟體通常稱之為原型,然後根據用戶在使用原型的過程中提出的意見和建議對原型進行改進,獲得原型的新版本。重複這一過程,最終可得到令用戶滿意的軟體產品。採用演化模型的開發過程,實際上就是從初始的原型逐步演化成最終軟體產品的過程。演化模型特別適用於對軟體需求缺乏準確認識的情況。
複雜網路的演化模型包括BA模型以及其他多種擴展模型。
最經典的演化模型為BA模型,刻畫了無標度網路形成的兩個條件:增長和偏好依附,最終形成的網路符合冪指數為3的度分布

作用

演化模型主要針對事先不能完整定義需求的軟體開發。用戶可以給出待開發系統的核心需求,並且當看到核心需求實現後,能夠有效地提出反饋,以支持系統的最終設計和實現。軟體開發人員根據用戶的需求,首先開發核心繫統。當該核心繫統投入運行後,用戶試用之,完成他們的工作,並提出精化系統、增強系統能力的需求。軟體開發人員根據用戶的反饋,實施開發的疊代過程。第一疊代過程均由需求、設計、編碼、測試、集成等階段組成,為整個系統增加一個可定義的、可管理的子集。  在開發模式上採取分批循環開發的辦法,每循環開發一部分的功能,它們成為這個產品的原型的新增功能。於是,設計就不斷地演化出新的系統。 實際上,這個模型可看作是重複執行的多個“瀑布模型”。
“演化模型”要求開發人員有能力把項目的產品需求分解為不同組,以便分批循環開發。這種分組並不是絕對隨意性的,而是要根據功能的重要性及對總體設計的基礎結構的影響而作出判斷。有經驗指出,每個開發循環以六周到八周為適當的長度。

優缺點

演化模型的優點

1)任何功能一經開發就能進入測試以便驗證是否符合產品需求。
2)幫助導引出高質量的產品要求。如果沒有可能在一開始就弄清楚所有的產品需求,它們可以分批取得。而對於已提出的產品需求,則可根據對現階段原型的試用而作出修改。
3)風險管理可以在早期就獲得項目進程數據,可據此對後續的開發循環作出比較切實的估算。提供機會去採取早期預防措施,增加項目成功的機率。
4)大大有助於早期建立產品開發的配置管理,產品構建(build ),自動化測試,缺陷跟蹤,文檔管理。均衡整個開發過程的負荷。
5)開發中的經驗教訓能反饋套用於本產品的下一個循環過程,大大提高質量與效率。
6)如果風險管理髮現資金或時間已超出可承受的程度,則可以決定調整後續的開發,或在一個適當的時刻結束開發,但仍然有一個具有部分功能的,可工作的產品。
7)心理上,開發人員早日見到產品的雛型,是一種鼓舞。
8)使用戶可以在新的一批功能開發測試後,立即參加驗證,以便提供非常有價值的反饋。
9)可使銷售工作有可能提前進行,因為可以在產品開發的中後期取得包含了主要功能的產品原型去向客戶作展示和試用。

演化模型的缺點

1)如果所有的產品需求在一開始並不完全弄清楚的話,會給總體設計帶來困難及削弱產品設計的完整性,並因而影響產品性能的最佳化及產品的可維護性
2)如果缺乏嚴格的過程管理的話,這個生命周期模型很可能退化為一種原始的無計畫的“試-錯-改”模式。
3)心理上,可能產生一種影響盡最大努力的想法,認為雖然不能完成全部功能,但還是造出了一個有部分功能的產品。
4)如果不加控制地讓用戶接觸開發中尚未測試穩定的功能,可能對開發人員及用戶都產生負面的影響。

相關詞條

熱門詞條

聯絡我們