二、快速原型模型
快速原型是快速建立起來的可以在計算機上運行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個子集
快速原型模型是增量模型的另一種形式,在開發(fā)真實系統(tǒng)之前方援,迅速建造一個可以運行的軟件原型 酝陈,以便理解和澄清問題营罢,在該原型的基礎(chǔ)上,逐漸完成整個系統(tǒng)的開發(fā)工作
它允許在需求分析階段對軟件的需求進(jìn)行初步而非完全的分析和定義仲智,快速設(shè)計開發(fā)出軟件系統(tǒng)的原型买乃,該原型向用戶展示待開發(fā)軟件的全部或部分功能和性能;用戶對該原型進(jìn)行測試評定钓辆,給出具體改進(jìn)意見以豐富細(xì)化軟件需求为牍;開發(fā)人員據(jù)此對軟件進(jìn)行修改完善,直至用戶滿意認(rèn)可之后岩馍,進(jìn)行軟件的完整實現(xiàn)及測試碉咆、維護(hù)
優(yōu)點
克服瀑布模型的缺點,減少由于軟件需求不明確帶來的開發(fā)風(fēng)險
適合預(yù)先不能確切定義需求的軟件系統(tǒng)的開發(fā)
缺點
所選用的開發(fā)技術(shù)和工具不一定符合主流的發(fā)展蛀恩;快速建立起來的系統(tǒng)結(jié)構(gòu)加上連續(xù)的修改可能會導(dǎo)致產(chǎn)品質(zhì)量低下
使用前提是要有一個展示性的產(chǎn)品原型疫铜,一定程度上可能會限制開發(fā)人員的創(chuàng)新
1双谆、思想產(chǎn)生
在需求分析階段得到完全壳咕、一致、準(zhǔn)確顽馋、合理的需求說明十分困難
獲得一組基本需求說明后谓厘,就快速地使其“實現(xiàn)”,通過原型反饋寸谜,加深對系統(tǒng)的理解滿足用戶基本要求竟稳,使用戶在試用后對需求說明進(jìn)行補充和精確化,從而獲得合理完整、現(xiàn)實可行的需求說明
再把快速原型思想用到軟件開發(fā)的其他階段他爸,向軟件開發(fā)的全過程擴展
先用相對少的成本聂宾,較短的周期開發(fā)一個簡單的、但可以運行的系統(tǒng)原型向用戶演示或讓用戶試用诊笤,以便及早澄清并檢驗一些主要設(shè)計策略系谐,在此基礎(chǔ)上再開發(fā)實際的軟件系統(tǒng)
2、原理
利用原型輔助軟件開發(fā)
經(jīng)過簡單快速分析快速實現(xiàn)一個原型讨跟,用戶與開發(fā)者在試用原型過程中加強通信與反饋纪他,通過反復(fù)評價和改進(jìn)原型,減少誤解晾匠,彌補漏洞止喷,最終提高軟件質(zhì)量
3、運用方式
由于運用原型的目的和方式不同混聊,在使用原型時也采取不同的策略
拋棄策略:將原型用于開發(fā)過程的某個階段弹谁,促使該階段的開發(fā)結(jié)果更加完整、準(zhǔn)確句喜、一致预愤、可靠,該階段結(jié)束后咳胃,原型隨之作廢植康。探索型和實驗型就是采用此策略的
附加策略:將原型用于開發(fā)的全過程,原型由最基本的核心開始展懈,逐步增加新的功能和新的需求销睁,反復(fù)修改反復(fù)擴充,最后發(fā)展為用戶滿意的最終系統(tǒng)存崖,演化型快速原型就是采用此策略
采用何種形式冻记、何種策略運用快速原型主要取決于軟件項目的特點、可供支持的原型開發(fā)工具和技術(shù)等来惧,根據(jù)實際情況的特點決定
在軟件開發(fā)中冗栗,原型是軟件的一個早期可運行的版本,它反映最終系統(tǒng)的部分重要特性
探索型
這種原型目的是要弄清對目標(biāo)系統(tǒng)的要求供搀,確定所希望的特性隅居,并探討多種方案的可行性
實驗型
這種原型用于大規(guī)模開發(fā)和實現(xiàn)之前,考核方案是否合適葛虐,規(guī)格說明是否可靠
進(jìn)化型
這種原型的目的不在于改進(jìn)規(guī)格說明胎源,而是將系統(tǒng)建造得易于變化,在改進(jìn)原型的過程中屿脐,逐步將原型進(jìn)化成最終系統(tǒng)
1涕蚤、快速分析
在分析人員與用戶密切配合下宪卿,迅速確定系統(tǒng)的基本需求,根據(jù)原型需要體現(xiàn)的特征描述基本需求以滿足開發(fā)原型的需要
2赞季、構(gòu)造原型
在快速分析的基礎(chǔ)上,根據(jù)基本需求說明盡快實現(xiàn)一個可行的系統(tǒng)
要求具有強有力的軟件工具的支持奢驯,并忽略最終系統(tǒng)在某些細(xì)節(jié)上的要求申钩,主要考慮原型系統(tǒng)能夠充分反映所要評價的特性
3、運行原型
發(fā)現(xiàn)問題瘪阁,消除誤解撒遣,開發(fā)者與用戶充分協(xié)調(diào)
4、評價原型
在運行的基礎(chǔ)上管跺,考核評價原型的特性义黎,分析運行效果是否滿足用戶的愿望,糾正過去交互中的誤解與分析中的錯誤豁跑,增添新的要求廉涕,并滿足因環(huán)境變化或用戶的新想法引起的系統(tǒng)要求變動,提出全面的修改意見
5艇拍、修改
根據(jù)評價原型的活動結(jié)果進(jìn)行修改
若原型未滿足需求說明的要求狐蜕,說明對需求說明存在不一致的理解或?qū)崿F(xiàn)方案不夠合理,根據(jù)明確的要求迅速修改原型
快速原型模型不帶反饋環(huán)卸夕,軟件產(chǎn)品的開發(fā)基本上是線性順序進(jìn)行的
快速原型的本質(zhì)是"快速"层释。開發(fā)人員應(yīng)盡可能地建造出原型系統(tǒng),以加速軟件開發(fā)過程快集,節(jié)約軟件開發(fā)成本
原型的用途是獲知用戶的真正需求贡羔,一旦需求確定了,原型將被拋棄