登錄

演化模型

百科 > 信息管理工具 > 演化模型

1.什么是演化模型

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

在開發(fā)模式上采取分批循環(huán)開發(fā)的辦法,每循環(huán)開發(fā)一部分的功能,它們成為這個產(chǎn)品的原型的新增功能。于是,設(shè)計就不斷地演化出新的系統(tǒng)。 實際上,這個模型可看作是重復(fù)執(zhí)行的多個“瀑布模型”。

“演化模型”要求開發(fā)人員有能力把項目的產(chǎn)品需求分解為不同組,以便分批循環(huán)開發(fā)。這種分組并不是絕對隨意性的,而是要根據(jù)功能的重要性及對總體設(shè)計的基礎(chǔ)結(jié)構(gòu)的影響而作出判斷。有經(jīng)驗指出,每個開發(fā)循環(huán)以六周到八周為適當(dāng)?shù)拈L度。

2.演化模型的優(yōu)缺點

1、演化模型的優(yōu)點

1)任何功能一經(jīng)開發(fā)就能進(jìn)入測試以便驗證是否符合產(chǎn)品需求。

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

3)風(fēng)險管理可以在早期就獲得項目進(jìn)程數(shù)據(jù),可據(jù)此對后續(xù)的開發(fā)循環(huán)作出比較切實的估算。提供機會去采取早期預(yù)防措施,增加項目成功的機率。

4)大大有助于早期建立產(chǎn)品開發(fā)的配置管理,產(chǎn)品構(gòu)建(build ),自動化測試,缺陷跟蹤,文檔管理。均衡整個開發(fā)過程的負(fù)荷。

5)開發(fā)中的經(jīng)驗教訓(xùn)能反饋應(yīng)用于本產(chǎn)品的下一個循環(huán)過程,大大提高質(zhì)量與效率。

6)如果風(fēng)險管理發(fā)現(xiàn)資金或時間已超出可承受的程度,則可以決定調(diào)整后續(xù)的開發(fā),或在一個適當(dāng)?shù)臅r刻結(jié)束開發(fā),但仍然有一個具有部分功能的,可工作的產(chǎn)品。

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

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

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

2、演化模型的缺點

1)如果所有的產(chǎn)品需求在一開始并不完全弄清楚的話,會給總體設(shè)計帶來困難及削弱產(chǎn)品設(shè)計的完整性,并因而影響產(chǎn)品性能的優(yōu)化及產(chǎn)品的可維護(hù)性。

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

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

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

評論  |   0條評論