快速原型模型
目錄
1.什么是快速原型模型
原型是指模擬某種產(chǎn)品的原始模型,在其他產(chǎn)業(yè)中經(jīng)常使用。軟件開(kāi)發(fā)中的原型是軟件的一個(gè)早期可運(yùn)行的版本,它反映了最終系統(tǒng)的重要特性。
快速原型模型又稱原型模型,它是增量模型的另一種形式;它是在開(kāi)發(fā)真實(shí)系統(tǒng)之前,構(gòu)造一個(gè)原型,在該原型的基礎(chǔ)上,逐漸完成整個(gè)系統(tǒng)的開(kāi)發(fā)工作。例如,客戶需要一個(gè)ATM機(jī)軟件,可以先設(shè)計(jì)一個(gè)僅包含刷卡、密碼檢測(cè)、數(shù)據(jù)輸入和賬單打印的原型軟件提供給客戶,此時(shí)還不包括網(wǎng)絡(luò)處理與數(shù)據(jù)庫(kù)存取以及數(shù)據(jù)應(yīng)急、故障處理等服務(wù)??焖僭湍P偷牡谝徊绞墙ㄔ煲粋€(gè)快速原型,實(shí)現(xiàn)客戶或未來(lái)的用戶與系統(tǒng)的交互,用戶或客戶對(duì)原型進(jìn)行評(píng)價(jià),進(jìn)一步細(xì)化待開(kāi)發(fā)軟件的需求。通過(guò)逐步調(diào)整原型使其滿足客戶的要求,開(kāi)發(fā)人員可以確定客戶的真正需求是什么;第二步則在第一步的基礎(chǔ)上開(kāi)發(fā)客戶滿意的軟件產(chǎn)品。
2.快速原型模型的思想產(chǎn)生、原理及運(yùn)用方式 [1]
3.快速原型模型的類型
根據(jù)原型的不同作用,有三類原型模型:
1、探索型原理
這種類型的原型是把原型用于開(kāi)發(fā)的需求分析階段,目的是要型清用戶的需求,確定所期望的特性,并探索各種方案的可行性。它主要針對(duì)開(kāi)發(fā)目標(biāo)模糊,用戶與開(kāi)發(fā)都對(duì)項(xiàng)目都缺乏經(jīng)驗(yàn)的情況,通過(guò)對(duì)原型的開(kāi)發(fā)來(lái)明確用戶的需求。
2、實(shí)驗(yàn)型原型
這種原型主要用于設(shè)計(jì)階段,考核;實(shí)現(xiàn)方案是否合適,能否實(shí)陋。對(duì)于一個(gè)大型系統(tǒng),若對(duì)設(shè)計(jì)方案心中沒(méi)有把握時(shí),可通過(guò)這種原型來(lái)證實(shí)設(shè)計(jì)方案的正確性。
3、演化型原型
這種原型主要用于及早向用戶提交一個(gè)原型系統(tǒng),該原型系統(tǒng)或者包含系統(tǒng)的框架,或者包含系統(tǒng)的主要功能,在得到用戶的認(rèn)可后,將原型系統(tǒng)不斷擴(kuò)充演變?yōu)樽罱K的軟件系統(tǒng)。它將原型的思想擴(kuò)展到軟件開(kāi)發(fā)的全過(guò)程。
4.快速原型模型的開(kāi)發(fā)步驟
1、快速分析
在分析人員與用戶密切配合下,迅速確定系統(tǒng)的基本需求,根據(jù)原型所要體現(xiàn)的特征描述基本需求以滿足開(kāi)發(fā)原型的需要。
2、構(gòu)造原型
在快速分析的基礎(chǔ)上,根據(jù)基本需求說(shuō)明盡快實(shí)現(xiàn)一個(gè)可行的系統(tǒng)。這里要求具有強(qiáng)有力的軟件工具的支持,并忽略最終系統(tǒng)在某些細(xì)節(jié)上的要求,如安全性、堅(jiān)固性、例外處理等等,主要考慮原型系統(tǒng)能夠充分反映所要評(píng)價(jià)的特性,而暫時(shí)刪除一切次要內(nèi)容。
3、運(yùn)行原型
這是發(fā)現(xiàn)問(wèn)題、消除誤解、開(kāi)發(fā)者與用戶充分協(xié)調(diào)的一個(gè)步驟。
4、評(píng)價(jià)原型
在運(yùn)行的基礎(chǔ)上,考核評(píng)價(jià)原型的特性,分析運(yùn)行效果是否滿足用戶的愿望,糾正過(guò)去交互中的誤解與分析中的錯(cuò)誤,增添新的要求,并滿足因環(huán)境變化或用戶的新想法引起的系統(tǒng)要求變動(dòng),提出全面的修改意見(jiàn)。
5、修改
根據(jù)評(píng)價(jià)原型的活動(dòng)結(jié)果進(jìn)行修改。若原型未滿足需求說(shuō)明的要求,說(shuō)明對(duì)需求說(shuō)明存在不一致的理解或?qū)崿F(xiàn)方案不夠合理,則根據(jù)明確的要求迅速修改原型。
5.快速原型的開(kāi)發(fā)技術(shù)和開(kāi)發(fā)環(huán)境[1]
為了節(jié)省開(kāi)發(fā)原型的費(fèi)用,實(shí)現(xiàn)快速地分析,迅速構(gòu)造出所需的原型,應(yīng)采用一些特殊的有別于通常軟件開(kāi)發(fā)時(shí)使用的技術(shù)和工具。
1.構(gòu)造原型的技術(shù)
(1)可執(zhí)行的規(guī)格說(shuō)明。
(2)基于腳本的設(shè)計(jì)。
(3)采用非常高級(jí)語(yǔ)言或?qū)iT語(yǔ)言。
(4)能重用軟件。
2.構(gòu)造原型的建議
(1)暫不考慮速度、空間等性能效率方面的要求。
(2)暫不考慮錯(cuò)誤恢復(fù)和處理。
(3)可降低可靠性和軟件質(zhì)量標(biāo)準(zhǔn)。
(4)原型界面部分要設(shè)計(jì)得簡(jiǎn)單易學(xué),最好能與最終系統(tǒng)的界面相容。
(5)根據(jù)不同的軟件類型和應(yīng)用領(lǐng)域,可使用不同風(fēng)格的高級(jí)語(yǔ)言來(lái)構(gòu)造原型。
3.原型的開(kāi)發(fā)環(huán)境
除了上述的構(gòu)造原型的技術(shù)和建議外,還應(yīng)該有開(kāi)發(fā)環(huán)境來(lái)輔助原型的開(kāi)發(fā)。
(1)交互式系統(tǒng)。能快速響應(yīng)使用者的要求。
(2)數(shù)據(jù)庫(kù)管理系統(tǒng)。能夠提供更多工具,可以定義、建立、查詢、加工信息資源。
(3)通用輸入/輸出軟件。容易使用的數(shù)據(jù)編輯,屏幕格式化軟件等對(duì)原型設(shè)計(jì)和開(kāi)發(fā)都有很大的幫助。
(4)重用代碼庫(kù)??蓽p少重復(fù)勞動(dòng)。
6.各種軟件過(guò)程模型的特點(diǎn)[2]
不同的軟件過(guò)程模型對(duì)軟件開(kāi)發(fā)過(guò)程有不同的理解和認(rèn)識(shí),支持不同的軟件項(xiàng)目和開(kāi)發(fā)組織。下表對(duì)比和分析了各個(gè)軟件過(guò)程模型的特點(diǎn)及其適用的軟件項(xiàng)目類型。
各種軟件過(guò)程模型的特點(diǎn)
模型名稱 | 技術(shù)特點(diǎn) | 適用范圍 |
---|---|---|
瀑布模型 | 簡(jiǎn)單,分階段,階段間存在因果關(guān)系,
各個(gè)階段完成后都有評(píng)審,允許反饋,不支持 用戶參與,要求預(yù)先確定需求 | 需求易于完善定義且不易變更的軟件系統(tǒng) |
快速原型模型 | 不要求需求預(yù)先完備定義,支持用戶參與,
支持需求的漸進(jìn)式完善和確認(rèn),能夠適應(yīng)用戶需求的變化 | 需求復(fù)雜、難以確定、動(dòng)態(tài)變化的軟件系統(tǒng) |
增量模型 | 軟件產(chǎn)品是被增量式地一塊塊開(kāi)發(fā)的,
允許開(kāi)發(fā)活動(dòng)并行和重疊 | 技術(shù)風(fēng)險(xiǎn)較大、用戶需求較為穩(wěn)定的軟件系統(tǒng) |
迭代模型 | 不要求一次性地開(kāi)發(fā)出完整的軟件系統(tǒng),將軟件
開(kāi)發(fā)視為一個(gè)逐步獲取用廣需求、完善軟件產(chǎn)品的過(guò)程 | 需求難以確定、不斷變更的軟件系統(tǒng) |
螺旋模型 | 結(jié)合瀑布模型、快速原型模型和迭代模
型的思想,并引進(jìn)了風(fēng)險(xiǎn)分析活動(dòng) | 需求難以獲取和確定、軟件開(kāi)發(fā)風(fēng)險(xiǎn)較大的軟件系統(tǒng) |
RUP | 可改造、擴(kuò)展和剪裁:可以對(duì)它進(jìn)行設(shè)計(jì)、
開(kāi)發(fā)、維護(hù)和發(fā)布;強(qiáng)調(diào)迭代開(kāi)發(fā) | 復(fù)雜和需求難以獲取和確定的軟件系統(tǒng);
軟件開(kāi)發(fā)項(xiàng)目組擁有豐富的軟件開(kāi)發(fā)和管理經(jīng)驗(yàn) |