噴泉模型是一種以用戶需求為動力,以對象為驅(qū)動的模型,主要用于描述面向?qū)ο蟮能浖_發(fā)過程。該模型認為軟件開發(fā)過程自下而上周期的各階段是相互重疊和多次反復(fù)的,就像水噴上去又可以落下來,類似一個噴泉。各個開發(fā)階段沒有特定的次序要求,并且可以交互進行,可以在某個開發(fā)階段中隨時補充其他任何開發(fā)階段中的遺漏。采用噴泉模型的軟件過程如下圖所示:
噴泉模型主要用于面向?qū)ο蟮能浖椖?,軟件的某個部分通常被重復(fù)多次,相關(guān)對象在每次迭代中隨之加入漸進的軟件成分。各活動之間無明顯邊界,例如設(shè)計和實現(xiàn)之間沒有明顯的邊界,這也稱為“噴泉模型的無間隙性”。由于對象概念的引入,表達分析、設(shè)計及實現(xiàn)等活動只用對象類和關(guān)系,從而可以較容易地實現(xiàn)活動的迭代和無間隙。
噴泉模型主要用于采用面向?qū)ο蠹夹g(shù)的軟件開發(fā)項目,噴泉一詞本身就體現(xiàn)了迭代和無間隙的特征。無間隙指在各項活動之間無明顯邊界,如分析、設(shè)計和編碼之間沒有明顯的界限。在編碼之前再進行需求分析和設(shè)計,期間添加有關(guān)功能,使系統(tǒng)得以演化。噴泉模型在系統(tǒng)某個部分常常被重復(fù)工作多次,相關(guān)對象在每次迭代中隨之加入漸進的系統(tǒng)。由于對象概念的引入,需求分析、設(shè)計、實現(xiàn)等活動只用對象類和關(guān)系來表達,從而可以較為容易地實現(xiàn)活動的迭代和無間隙,并且使得開發(fā)過程自然地包括復(fù)用。
1、噴泉模型的優(yōu)點
噴泉模型不像瀑布模型那樣,需要分析活動結(jié)束后才開始設(shè)計活動,設(shè)計活動結(jié)束后才開始編碼活動。該模型的各個階段沒有明顯的界限,開發(fā)人員可以同步進行開發(fā)。其優(yōu)點是可以提高軟件項目開發(fā)效率,節(jié)省開發(fā)時間,適應(yīng)于面向?qū)ο蟮能浖_發(fā)過程。
2、噴泉模型的缺點
由于噴泉模型在各個開發(fā)階段是重疊的,因此在開發(fā)過程中需要大量的開發(fā)人員,因此不利于項目的管理。此外這種模型要求嚴格管理文檔,使得審核的難度加大,尤其是面對可能隨時加入各種信息、需求與資料的情況。
1.傳統(tǒng)的噴泉模型
傳統(tǒng)的噴泉模型如下圖所示,目前主要應(yīng)用于面向?qū)ο蟮能浖_發(fā)中 。該模型的主要特點是認為軟件開發(fā)的各個階段是相互重疊和多次反復(fù)的,從圖中可以看出,軟件開發(fā)的規(guī)格說明階段、設(shè)計階段、編碼階段和測試階段可以交疊在一起,同時進行。這體現(xiàn)了各個開發(fā)過程的并行關(guān)系。噴泉的水可以噴上去又可以落下來,水既可以落在中間,也可以落在底部。這一點在模型中表現(xiàn)為各個測試階段的并行。噴泉的水不停的噴發(fā)、墜落,代表著開發(fā)和測試階段的復(fù)雜性和重復(fù)性。
2.改進的噴泉模型
在傳統(tǒng)噴泉模型的基礎(chǔ)上,提出了改進的噴泉模型,如下圖所示。以噴泉模型為基礎(chǔ),可以實現(xiàn)盡早的、全面的展開測試,同時將測試工作進行迭代。另外,改進的噴泉將需求納入,使得模型完全實現(xiàn)了整個開發(fā)過程的無邊界、交互性。
該模型每一次測試過程包括四個階段。
第一階段為測試需求階段,包括提取和驗證需求。這一階段的測試主要是采用靜態(tài)測試。
第二階段為測試分析階段,又分為制定測試計劃、測試設(shè)計與開發(fā)兩個步驟。測試計劃包括確定測試策略和測試系統(tǒng),預(yù)估測試工作量等。測試設(shè)計與開發(fā)包括開發(fā)測試用例,驗證并調(diào)試測試等。
第三階段為測試執(zhí)行階段,強調(diào)測試人員和開發(fā)人員的配合。該階段的測試方法包括單元測試、集成測試、系統(tǒng)測試及驗收測試。除了對程序進行測試外,還要對文檔等進行測試。記錄測試結(jié)果并寫出測試總結(jié)報告,為下一輪的迭代測試打基礎(chǔ)。
第四階段為測試維護階段。開發(fā)者的維護包括修復(fù)顧客操作和為滿足不斷變化的顧客需求而對產(chǎn)品功能進行增強時發(fā)現(xiàn)的缺陷;測試組的維護意味著對缺陷的修復(fù)進行驗證,測試增強了的功能以及產(chǎn)品的新發(fā)布版本上運行回歸測試以確保修改前的產(chǎn)品具有的功能不因產(chǎn)品的新變化而被破壞。
從模型圖中可以看出,該模型除具有傳統(tǒng)噴泉模型的優(yōu)點外,還體現(xiàn)了以下特點:
(1)布式特點當(dāng)軟件結(jié)束計劃階段,分布在不同地域的軟件開發(fā)小組可以根據(jù)計劃,在不同或者相同的時間啟動項目開發(fā)。
(2)測試的充分軟件測試中測試用例的覆蓋率直接決定了軟件測試的質(zhì)量。改進的噴泉模型大大擴大了設(shè)計和選取測試用例的范圍,可以從包括程序、文檔等所有可以使用的信息中獲得,提高了測試用例的覆蓋率,保證測試的充分性和完全性。
(3)完全實現(xiàn)了測試和開發(fā)的同步,以及各個過程內(nèi)各個階段之間的同步。真正實現(xiàn)了“全過程”測試,提高了軟件測試的質(zhì)量。
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學(xué)員考試保駕護航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評論 查看完整評論 | |