版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件工程與實(shí)踐第一頁,共三十頁,2022年,8月28日2.3軟件開發(fā)模型2.3.1瀑布模型將軟件生命周期劃分為制定計劃、需求分析、軟件設(shè)計、程序編寫、軟件測試和運(yùn)行維護(hù)等六個基本活動,并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。
第二頁,共三十頁,2022年,8月28日2.3.2螺旋模型
螺旋模型沿著螺線進(jìn)行若干次迭代,圖2-5中的四個象限代表了以下活動.螺旋模型沿著螺線旋轉(zhuǎn),每個螺旋推進(jìn)的過程都是漸進(jìn)的實(shí)現(xiàn)過程,整個過程的實(shí)現(xiàn),按照”制定計劃、風(fēng)險分析、實(shí)施工程和客戶評估”四個步驟循環(huán)實(shí)施。(1)制定計劃:確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開發(fā)的限制條件。定義資源、進(jìn)度及其他相關(guān)項(xiàng)目信息所需要的任務(wù),以調(diào)整項(xiàng)目的目標(biāo)和改善系統(tǒng)實(shí)施的效率。
(2)風(fēng)險分析:分析評估所選方案,考慮如何識別和消除風(fēng)險。從風(fēng)險角度分析方案的開發(fā)策略,努力排除各種潛在的風(fēng)險,有時需要通過建造原型來完成。如果某些風(fēng)險不能排除,該方案立即終止,否則啟動下一個開發(fā)步驟?;谏鲜瞿繕?biāo),評估技術(shù)及管理的風(fēng)險,以決定如何實(shí)施項(xiàng)目。
(3)實(shí)施工程:實(shí)施軟件開發(fā)和驗(yàn)證。包括系統(tǒng)需求分析、概要設(shè)計、詳細(xì)設(shè)計、編程、單元測試、系統(tǒng)測試和驗(yàn)證測試等項(xiàng)目具體實(shí)施的各種任務(wù)。
(4)客戶評估:評價開發(fā)工作,提出修正建議,制定下一步計劃。
第三頁,共三十頁,2022年,8月28日第四頁,共三十頁,2022年,8月28日螺旋模型的缺點(diǎn)是:(1)它可能難以使用戶相信演化方法是可控的;(2)瀑布模型要求在軟件開發(fā)的初期就完全確定軟件的需求,這在很多情況下往往是無法實(shí)現(xiàn)的。螺旋模型加入了瀑布模型所忽略的風(fēng)險分析,從而彌補(bǔ)了瀑布模型的不足。螺旋模型也有一定的限制條件,這些限制條件是:1)螺旋模型強(qiáng)調(diào)風(fēng)險分析,但要求許多客戶接受和相信這種分析,并做出相關(guān)反應(yīng)是不容易的,因此,這種模型往往適應(yīng)于內(nèi)部的大規(guī)模軟件開發(fā)。2)如果執(zhí)行風(fēng)險分析將大大影響項(xiàng)目的利潤,那么進(jìn)行風(fēng)險分析毫無意義,因此,螺旋模型只適合于大規(guī)模軟件項(xiàng)目。3)軟件開發(fā)人員應(yīng)該擅長尋找可能的風(fēng)險,準(zhǔn)確地分析風(fēng)險,否則將會帶來更大的風(fēng)險。
第五頁,共三十頁,2022年,8月28日2.3.3增量模型
增量模型和瀑布模型之間的本質(zhì)區(qū)別是:瀑布模型屬于整體開發(fā)模型,它規(guī)定在開始下一個階段的工作之前,必須完成前一階段的所有細(xì)節(jié)。而增量模型屬于非整體開發(fā)模型,它推遲某些階段或所有階段中的細(xì)節(jié),從而較早的產(chǎn)生工作軟件。增量模型是在項(xiàng)目的開發(fā)過程中以一系列的增量方式開發(fā)系統(tǒng)。增量方式包括增量開發(fā)和增量提交。
第六頁,共三十頁,2022年,8月28日增量模型也存在以下缺陷:
(1)
由于各個構(gòu)件是逐漸并入已有的軟件體系結(jié)構(gòu)中的,所以加入構(gòu)件必須不破壞已構(gòu)造好的系統(tǒng)部分,這需要軟件具備開放式的體系結(jié)構(gòu)。
(2)
在開發(fā)過程中,需求的變化是不可避免的。增量模型的靈活性可以使其適應(yīng)這種變化的能力大大優(yōu)于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟件過程的控制失去整體性。第七頁,共三十頁,2022年,8月28日第八頁,共三十頁,2022年,8月28日2.3.4噴泉模型
該模型表明軟件刻畫活動需要多次重復(fù)。例如,在編碼之前,(實(shí)踐之后),再次進(jìn)行分析和設(shè)計,其間添加有關(guān)功能,使系統(tǒng)得以演化。同時,該模型還表明活動之間沒有明顯的間隙,例如在分析和設(shè)計之間沒有明顯的界限。第九頁,共三十頁,2022年,8月28日第十頁,共三十頁,2022年,8月28日2.3.5RAD模型RAD模型包含如下幾個開發(fā)階段(1)業(yè)務(wù)建模:業(yè)務(wù)活動中的信息流被模型化。通過回答以下問題來實(shí)現(xiàn):什么信息驅(qū)動業(yè)務(wù)流程?生成什么信息?誰生成該信息?該信息流往何處?誰處理它?(2)數(shù)據(jù)建模:業(yè)務(wù)建模階段定義的一部分信息流被細(xì)化,形成一系列支持該業(yè)務(wù)所需的數(shù)據(jù)對象。標(biāo)識出每個對象的屬性,并定義這些對象間的關(guān)系。(3)處理建模:數(shù)據(jù)建模階段定義的數(shù)據(jù)對象變換成要完成一個業(yè)務(wù)功能所需的信息流。創(chuàng)建處理描述以便增加、修改、刪除或獲取某個數(shù)據(jù)對象。(4)應(yīng)用生成:RAD過程不是采用傳統(tǒng)的第三代程序設(shè)計語言來創(chuàng)建軟件,而是使用4GL技術(shù)或軟件自動化生成輔助工具,復(fù)用已有的程序構(gòu)件(如果可能的話)或是創(chuàng)建可復(fù)用的構(gòu)件(如果需要的話)。(5)測試及反復(fù):因?yàn)镽AD過程強(qiáng)調(diào)復(fù)用,許多程序構(gòu)件已經(jīng)是測試過的,這減少了測試時間。但新構(gòu)件必須測試,所有接口也必須測到。第十一頁,共三十頁,2022年,8月28日第十二頁,共三十頁,2022年,8月28日
RAD模型還有一種改進(jìn)型(見圖2-9),將”編碼”從V字型的頂點(diǎn)移到左側(cè),和單元測試對應(yīng),從而構(gòu)成水平的對應(yīng)關(guān)系。(1)從水平對應(yīng)關(guān)系看左邊是設(shè)計和分析,右邊是驗(yàn)證和測試。右邊是對左邊結(jié)果的檢驗(yàn),即對設(shè)計和分析的結(jié)果進(jìn)行測試,以確認(rèn)是否滿足用戶的需求。(2)從圖形看RAD模型避免了瀑布模型所帶來的誤區(qū)——軟件測試是在代碼完成之后進(jìn)行。RAD模型說明軟件測試的工作很早就可以開始了,項(xiàng)目一啟動,軟件測試的工作也就啟動了。(3)從垂直方向看水平虛線上部表明,其需求分析、功能設(shè)計和驗(yàn)收測試等主要工作是面向用戶,要和用戶進(jìn)行充分的溝通和交流,或者是和用戶一起完成。水平虛線下部的大部分工作,相對來說,都是技術(shù)工作,在開發(fā)組織內(nèi)部進(jìn)行,由工程師完成。第十三頁,共三十頁,2022年,8月28日圖2-9RAD改進(jìn)型第十四頁,共三十頁,2022年,8月28日2.3.6迭代式模型
迭代模型是RUP(統(tǒng)一軟件開發(fā)過程)推薦的周期模型。在RUP中,迭代被定義為:迭代包括產(chǎn)生產(chǎn)品發(fā)布(穩(wěn)定、可執(zhí)行的產(chǎn)品版本)的全部開發(fā)活動和要使用該發(fā)布必需的所有其他外圍元素。所以,在某種程度上,迭代開發(fā)是一次完整地重復(fù)所有工作流程的過程:需求工作流程、分析設(shè)計工作流程、實(shí)施工作流程和測試工作流程。第十五頁,共三十頁,2022年,8月28日第十六頁,共三十頁,2022年,8月28日迭代過程具有以下優(yōu)點(diǎn):
1)降低了在一個增量上的開支風(fēng)險。如果開發(fā)人員重復(fù)某個迭代,那么損失只是這一個有問題的迭代的花費(fèi)。
2)降低了產(chǎn)品進(jìn)入市場的風(fēng)險。通過在開發(fā)早期就確定風(fēng)險,可以盡早來解決這個風(fēng)險,而不至于在開發(fā)后期匆匆忙忙。
3)加快了整個開發(fā)工作的進(jìn)度。因?yàn)殚_發(fā)人員清楚問題的焦點(diǎn)所在,他們的工作會更有效率。
4)容易適應(yīng)需求的變化。
第十七頁,共三十頁,2022年,8月28日2.4快速原型開發(fā)軟件原型化方法是指,在獲得一組基本需求說明后,經(jīng)過快速分析構(gòu)造出一個小型的軟件系統(tǒng)(原型系統(tǒng)),滿足用戶的基本要求。用戶試用該原型系統(tǒng),從中得到感受和啟發(fā),并對該原型系統(tǒng)做出反映和評價,然后開發(fā)者根據(jù)用戶的意見對原型加以改進(jìn)。隨著不斷地實(shí)驗(yàn)、糾錯、使用、評價和修改,不斷獲得新的原型版本。如此反復(fù),逐步減少分析和通信中的誤解,彌補(bǔ)不足,進(jìn)一步確定各種需求細(xì)節(jié),適應(yīng)需求的變更,從而提高最終產(chǎn)品的質(zhì)量。第十八頁,共三十頁,2022年,8月28日2.4.2.軟件原型的分類1.廢棄型也稱為快速建立需求規(guī)格原型RSP法。先構(gòu)造一個功能簡單而且質(zhì)量要求不高的模型系統(tǒng),針對這個模型系統(tǒng)反復(fù)進(jìn)行分析修改,從而形成較好設(shè)計思想。2.追加型也稱為快速建立漸進(jìn)原型RCP法。采用循環(huán)漸進(jìn)的開發(fā)方式,對系統(tǒng)模型作連續(xù)精化,即先構(gòu)造一個功能簡單而且質(zhì)量要求不高的模型系統(tǒng),作為最終系統(tǒng)的核心,將系統(tǒng)需要具備的性質(zhì)逐步添加上去,通過不斷地擴(kuò)充修改,逐步追加新的要求,直至所有性質(zhì)全部滿足,此時的原型模型也就是最終的產(chǎn)品。第十九頁,共三十頁,2022年,8月28日2.4.3.原型軟件的周期1.原型分析原型分析是指在分析者和用戶的緊密配合下,快速確定軟件系統(tǒng)的基本要求。根據(jù)原型所要體現(xiàn)的特性(或總體結(jié)構(gòu)、處理功能,模擬性能、界面形式等),描述基本需求規(guī)格說明,以滿足開發(fā)原型的需要。當(dāng)在分析階段使用原型化方法時,必須從系統(tǒng)結(jié)構(gòu)、邏輯結(jié)構(gòu)、用戶特征、應(yīng)用約束、項(xiàng)目管理和項(xiàng)目環(huán)境等多方面來考慮,以決定是否采用原型化方法。第二十頁,共三十頁,2022年,8月28日2.原型構(gòu)造在原型分析的基礎(chǔ)上,根據(jù)基本需求規(guī)格說明,忽略細(xì)節(jié),只考慮主要特性,快速構(gòu)造一個可運(yùn)行的系統(tǒng)。為此需要強(qiáng)有力的軟件工具的支持。第二十一頁,共三十頁,2022年,8月28日第二十二頁,共三十頁,2022年,8月28日3.原型運(yùn)行與評價原型運(yùn)行與評價階段是軟件開發(fā)人員與用戶頻繁通訊、發(fā)現(xiàn)問題、消除誤解的重要階段。其目的是驗(yàn)證原型的正確程度,進(jìn)而開發(fā)新的并修改原有的需求。第二十三頁,共三十頁,2022年,8月28日4.原型修正對于原型系統(tǒng),一定要根據(jù)修改意見進(jìn)行修正。如果原型運(yùn)行的結(jié)果沒能滿足需求規(guī)格說明中的需求,那么就反映出對需求規(guī)格說明存在著不一致的理解或?qū)崿F(xiàn)方案不夠合理。若因?yàn)閲?yán)重的理解錯誤而使正常操作的原型與用戶要求相違背時,就有可能產(chǎn)出廢品,因此應(yīng)當(dāng)立即放棄。第二十四頁,共三十頁,2022年,8月28日5.判定原型完成如果原型經(jīng)過修正或和改進(jìn),獲得了參與者的一致認(rèn)可,那么原型開發(fā)的迭代過程可以結(jié)束。為此,應(yīng)判斷有關(guān)應(yīng)用的實(shí)質(zhì)是否已經(jīng)掌握,迭代周期是否可以結(jié)束等。判定的結(jié)果有兩個不同的轉(zhuǎn)向:一個是繼續(xù)迭代驗(yàn)證;另一個是進(jìn)行詳細(xì)說明,比如將需求轉(zhuǎn)化為報表,給出統(tǒng)計數(shù)字等。對于那些不能通過模型進(jìn)行說明的成分,如果必要,須提供說明,并利用屏幕等進(jìn)行討論和確定。第二十五頁,共三十頁,2022年,8月28日
6.判定原型效果考察用戶新加入的需求信息和細(xì)部說明信息,看其對模型效果有何影響?是否會影響模塊的有效性?如果使模型效果受到影響,甚至導(dǎo)致模型實(shí)效,則要進(jìn)行修正和改進(jìn)。7.整理原型和提供文檔整理原型的目的是為進(jìn)一步開發(fā)提供依據(jù)。原型的初期需求模型是一個自動的文檔。第二十六頁,共三十頁,2022年,8月28日2.4.4快速原型的優(yōu)點(diǎn)1、增進(jìn)了軟件開發(fā)人員和用戶對系統(tǒng)需求的理解,便于將用戶模糊的功能需求明確化。2、為用戶提供了一種強(qiáng)有力的學(xué)習(xí)手段。3、易于確定系統(tǒng)的性能,是理解和確認(rèn)軟件需求規(guī)格說明的良好工具。4、按照快速建立漸進(jìn)原型(RCP)法建立的原型即為最終的產(chǎn)品。第二十七頁,共三十頁,2022年,8月28日2.5常用開發(fā)模型比較分析(1)瀑布模型不滿足客戶的需求。(2)快速原型模型關(guān)注滿足客戶需求,可能導(dǎo)致系統(tǒng)設(shè)計差
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源車輛充電設(shè)施建設(shè)運(yùn)營合同
- 2025年度海洋工程海域使用權(quán)租賃與海洋地質(zhì)調(diào)查服務(wù)合同
- 2025年度化工產(chǎn)品市場推廣合作合同
- 2025年度智能交通管理系統(tǒng)合同履行擔(dān)保協(xié)議
- 二零二五年度農(nóng)產(chǎn)品地理標(biāo)志認(rèn)證合同范本4篇
- 2025年度管理層企業(yè)并購與整合合同
- 二零二五年度拆除工程安全質(zhì)量管理合同3篇
- 二零二四年度藝術(shù)品會展與展覽合作合同模板3篇
- 二零二五年度文化創(chuàng)意產(chǎn)品開發(fā)合同2篇
- 農(nóng)作物種植技術(shù)交流合同-12
- 2023年江蘇省南京市中考化學(xué)真題(原卷版)
- 2023年湖北省襄陽市中考數(shù)學(xué)真題(原卷版)
- (2024版)小學(xué)六年級數(shù)學(xué)考試命題趨勢分析
- 變電站現(xiàn)場運(yùn)行通用規(guī)程考試試題及答案
- 湖南高速鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試參考試題庫(含答案)
- 中醫(yī)護(hù)理查房制度
- 家庭園藝資材蘊(yùn)藏商機(jī)
- 母嬰護(hù)理員題庫
- 老年人預(yù)防及控制養(yǎng)老機(jī)構(gòu)院內(nèi)感染院內(nèi)感染基本知識
- SWITCH暗黑破壞神3超級金手指修改 版本號:2.7.6.90885
- 2023高考語文全國甲卷詩歌閱讀題晁補(bǔ)之《臨江仙 身外閑愁空滿眼》講評課件
評論
0/150
提交評論