複製鏈接
請複製以下鏈接發送給好友

演化模型

鎖定
演化模型是一種全局的軟件(或產品)生存週期模型。屬於迭代開發方法。
中文名
演化模型
外文名
Evolutionary Model
概    念
全局的軟件(或產品)生存週期模型
類    別
迭代開發方法

目錄

演化模型模型簡介

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

演化模型作用

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

演化模型優缺點

演化模型優點

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

演化模型缺點

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