快速原型開發(fā)是指在獲得一組基本的用戶需求后,,通過快速分析構(gòu)造出一個滿足這些基本需求的小型的軟件系統(tǒng),,使得用戶可以在使試用這個小型系統(tǒng)的過程中親身感受自己的需求并受到啟發(fā),對這個系統(tǒng)做出反應(yīng)和評價(jià),,然后開發(fā)者根據(jù)用戶的意見對原型加以改進(jìn),。通過不斷的試驗(yàn)、糾錯,、使用,、評價(jià)和修改,快速原型法可以逐步確定各種需求細(xì)節(jié),,適應(yīng)需求的變更,。 快速原型迭代完成后會給出一個經(jīng)過確認(rèn)的、詳細(xì)準(zhǔn)確的需求文檔,,為后續(xù)的研制打下堅(jiān)實(shí)的基礎(chǔ),。
選擇快速原型開發(fā)方法應(yīng)考慮以下因素:
快速原型法生命周期模型見下圖,。
這個階段要求分析人員和用戶緊密配合,快速確定軟件的界面形式,、主要的功能和性能以及結(jié)構(gòu)等基本的用戶需求,。 這一階段的主要成果是形成可用于構(gòu)造原型軟件系統(tǒng)的基本的需求規(guī)格說明。 快速分析的主要目的是為下一步構(gòu)造開發(fā)原型打下基礎(chǔ),,所以不要太糾結(jié)于需求的細(xì)節(jié),。
這個階段是根據(jù)快速分析得到的軟件原型系統(tǒng)的基本需求,快速實(shí)現(xiàn)一個可運(yùn)行的軟件系統(tǒng)原型,。 這一階段的成果是一個可運(yùn)行的軟件系統(tǒng)原型,。 構(gòu)造原型要求盡可能快速地實(shí)現(xiàn),所以這一階段要盡可能地采用強(qiáng)有力的軟件工具的支持,。比如采用高級的面向?qū)ο蟮拈_發(fā)平臺,,使用構(gòu)件庫等等。
開發(fā)人員在完成原型的開發(fā)之后,就要與用戶一起運(yùn)行和評價(jià)原型,。用戶需要在開發(fā)人員的指導(dǎo)下試用原型,,在使用過程中評價(jià)原型的特性,分析其是否滿足用戶的要求和期望,,以及是否滿足快速分析階段形成的基本的需求,。在運(yùn)行和評價(jià)原型完成之后,用戶要給出是否滿意的結(jié)論或者修改的意見,。 一個原型要讓用戶滿意,,通常不是一次就能達(dá)成的,它需要多次迭代才能達(dá)成,。所以對原型的運(yùn)行和評價(jià)也常常不只一次,,它也是需要多次迭代的。而在迭代的初期和后期所要達(dá)成的目的也是不同的,。在迭代的初期要達(dá)成的目的是:檢查原型的完成度,,檢查原型中存在的錯誤,以及在使用原型時(shí)用戶是否容易和舒適,;在迭代的后期要達(dá)到的目的是:檢查原型是否有未實(shí)現(xiàn)的或不正確的功能,,確定后續(xù)軟件系統(tǒng)的測試思路,對系統(tǒng)界面提出改進(jìn)建議,。
如果用戶通過試用軟件系統(tǒng)原型給出了修改意見,,那么開發(fā)人員就要按照這個修改意見進(jìn)對原型進(jìn)行修改。如果用戶的修改意見當(dāng)中包含了對基本的需求規(guī)格說明的修改,,那么開發(fā)人員應(yīng)當(dāng)首先修改基本的需求規(guī)格說明再按照需求規(guī)格說明修改原型,。
在對原型進(jìn)行改進(jìn)之后,開發(fā)人員與用戶一起來判定原型是否滿足基本需求規(guī)格說明的要求,。如果滿足,,則判定原型已經(jīng)完成;否則,,繼續(xù)改進(jìn)原型,。
由于各種條件的限制,有些需求可能無法在原型上準(zhǔn)確的展示,,這就需要開發(fā)人員和用戶一起來判斷是否需要對這些需求補(bǔ)充一些詳細(xì)的說明,。
對那些不能通過原型進(jìn)行演示的需求補(bǔ)充詳細(xì)說明。比如數(shù)據(jù)庫的組織,、系統(tǒng)的可靠性,、用戶地位等。
用戶通過試用迭代改進(jìn)后的原型及其所確定的基本需求規(guī)格說明,,以及補(bǔ)充的需求詳細(xì)說明等來判斷對原型的效果是否滿意,。如果滿意,則進(jìn)入下一階段,如果不滿意則繼續(xù)迭代驗(yàn)證,。
如果用戶對原型的效果比較滿意,,就可以結(jié)束原型開發(fā)的過程。在這個階段,,開發(fā)人員對原型進(jìn)行整理,,將其作為下一步開發(fā)提供依據(jù),同時(shí)形成最終的需求規(guī)格說明,。 這正是: 快速原型開發(fā)法,,六個因素選擇它 細(xì)分模型九階段,一一闡述不費(fèi)話 參考書目:軍用軟件工程,,作者:黃震宇等,,出版社:電子工業(yè)出版社 |
|