軟件工程課程復(fù)習(xí) 2-生存周期課件_第1頁(yè)
軟件工程課程復(fù)習(xí) 2-生存周期課件_第2頁(yè)
軟件工程課程復(fù)習(xí) 2-生存周期課件_第3頁(yè)
軟件工程課程復(fù)習(xí) 2-生存周期課件_第4頁(yè)
軟件工程課程復(fù)習(xí) 2-生存周期課件_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件生存周期及模型第二講軟件生存周期及模型瀑布模型迭代模型增量模型原型模型2要求具體內(nèi)容了解1)生存周期的概念2)開(kāi)發(fā)模型的概念3)生存周期模型裁剪指南理解1)軟件的生存周期與選擇的開(kāi)發(fā)模型有關(guān)2)迭代模型的具體迭代過(guò)程掌握1)瀑布模型的本意、特點(diǎn)、選用條件2)增量模型的本意、特點(diǎn)、選用條件3)原型模型的本意、特點(diǎn)、選用條件表2-1本章對(duì)同學(xué)們的要求3周期序號(hào)周期劃分周期名稱周期的主要活動(dòng)1胚胎至分娩胎兒定期到婦幼保健院或婦產(chǎn)科醫(yī)院檢查20~3歲嬰兒請(qǐng)保姆看護(hù),上嬰兒室或托兒所33~6歲幼兒上幼兒園46~12歲兒童上小學(xué),好好學(xué)習(xí),天天向上512~18歲少年上中學(xué),參加中考、高考,自古英雄出少年618~30歲青年上大學(xué),攻讀碩士、博士學(xué)位,應(yīng)聘就業(yè)730~60歲中年上班,追求事業(yè)上的成就、成功、貢獻(xiàn)860歲以上老年退休,老有所樂(lè),寫回憶錄,立遺囑9因故因病去世死亡喪事從簡(jiǎn),長(zhǎng)眠于地下表2-2人的生存周期5軟件生存周期(Lifecycle)

軟件有一個(gè)孕育、誕生、成長(zhǎng)、成熟、衰亡的生存過(guò)程。軟件生存周期通常包括可行性研究和項(xiàng)目開(kāi)發(fā)計(jì)劃、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、維護(hù)等活動(dòng)(GB8567中規(guī)定)。6定義分析藍(lán)圖、圖表、庫(kù)存、采購(gòu)單等設(shè)計(jì)實(shí)現(xiàn)產(chǎn)品7軟件定義時(shí)期基本任務(wù):回答要解決的問(wèn)題是什么?該問(wèn)題有行的通的解決辦法嗎?若有解決問(wèn)題的辦法,則需要多少費(fèi)用、資源、時(shí)間?結(jié)束標(biāo)準(zhǔn):提出關(guān)于問(wèn)題性質(zhì)、工程目標(biāo)和規(guī)模的問(wèn)題定義書面報(bào)告;提出可行性研究報(bào)告;若問(wèn)題值得去解決,制定項(xiàng)目開(kāi)發(fā)計(jì)劃??尚行匝芯亢晚?xiàng)目開(kāi)發(fā)計(jì)劃需求分析基本任務(wù):回答“為了解決這個(gè)問(wèn)題,目標(biāo)系統(tǒng)必須做什么”,確定目標(biāo)系統(tǒng)的功能。結(jié)束標(biāo)準(zhǔn):給出軟件需求說(shuō)明書8軟件開(kāi)發(fā)時(shí)期—系統(tǒng)實(shí)現(xiàn)編碼基本任務(wù):把每個(gè)模塊的控制結(jié)構(gòu)轉(zhuǎn)換成計(jì)算機(jī)可接受的程序代碼。寫出的程序應(yīng)是結(jié)構(gòu)好,清晰易讀,并且與設(shè)計(jì)一致。結(jié)束標(biāo)準(zhǔn):以某種程序設(shè)計(jì)語(yǔ)言表示的源程序清單。測(cè)試基本任務(wù):通過(guò)各種類型的測(cè)試使軟件達(dá)到預(yù)定的要求。結(jié)束標(biāo)準(zhǔn):軟件合格,能交付用戶使用。10交互設(shè)計(jì)美國(guó)的AlanCooper提出,交互設(shè)計(jì)應(yīng)該作為軟件生存周期的一個(gè)重要階段考慮進(jìn)去(具體可參看《軟件開(kāi)發(fā)的創(chuàng)新思維》,劉瑞挺等譯,電子工業(yè)出版社出版)??尚行匝芯亢晚?xiàng)目開(kāi)發(fā)計(jì)劃、需求分析、交互設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、維護(hù)12技術(shù)審查和管理復(fù)審原始要求正確的規(guī)格說(shuō)明

錯(cuò)誤的規(guī)格說(shuō)明正確的設(shè)計(jì)

錯(cuò)誤的設(shè)計(jì)

對(duì)錯(cuò)誤說(shuō)明的設(shè)計(jì)正確編碼

錯(cuò)誤編碼

對(duì)錯(cuò)誤設(shè)計(jì)的編碼對(duì)錯(cuò)誤說(shuō)明的編碼正確功能

可改正的錯(cuò)誤不可改正的錯(cuò)誤潛伏的錯(cuò)誤需求分析設(shè)計(jì)編碼測(cè)試錯(cuò)誤的扇形傳播模型14

名詞解釋軟件工作產(chǎn)品在CMM中,它是軟件開(kāi)發(fā)活動(dòng)中的人工制品,如需求說(shuō)明書、概要設(shè)計(jì)說(shuō)明書、詳細(xì)設(shè)計(jì)說(shuō)明書、源程序、測(cè)試報(bào)告、用戶手冊(cè),也包括軟件管理文檔,如軟件開(kāi)發(fā)計(jì)劃、軟件質(zhì)量保證計(jì)劃、各種評(píng)審報(bào)告、里程碑報(bào)告、變更申請(qǐng)表、不符合項(xiàng)跟蹤報(bào)告等。軟件產(chǎn)品在CMM中軟件產(chǎn)品是最終用戶使用的軟件。它是軟件工作產(chǎn)品的一部分。基線它是軟件工作產(chǎn)品。它是要經(jīng)內(nèi)部和外部評(píng)審過(guò)的,并且是下一階段工作的基礎(chǔ),一根基線是一個(gè)里程碑或一個(gè)檢查點(diǎn)。檢查點(diǎn)它是由時(shí)間、計(jì)劃、事件驅(qū)動(dòng)的檢查工作進(jìn)度和質(zhì)量的一個(gè)記號(hào),一個(gè)檢查點(diǎn)不一定是基線或里程碑。里程碑它是一個(gè)記號(hào),只需經(jīng)過(guò)內(nèi)部評(píng)審。它是一個(gè)檢查點(diǎn),但不一定是基線。評(píng)審是對(duì)軟件工作產(chǎn)品質(zhì)量的一次開(kāi)會(huì)或匯簽活動(dòng)。審計(jì)是復(fù)查評(píng)審活動(dòng)程序的合法性,是否按程序與規(guī)范進(jìn)行。顧客>客戶>用戶客戶是顧客的一部分,顧客包括潛在的客戶。用戶是軟件產(chǎn)品的最終使用者,用戶是客戶的一部分?,F(xiàn)有系統(tǒng)目標(biāo)系統(tǒng)現(xiàn)有系統(tǒng)是用戶當(dāng)前正在使用的系統(tǒng)(可能是手工系統(tǒng));目標(biāo)系統(tǒng)是將要實(shí)現(xiàn)的系統(tǒng)。能力成熟度模型

15軟件生存周期模型概念軟件生存周期模型是描述軟件開(kāi)發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的模型。它確立了軟件開(kāi)發(fā)和演繹中各階段的次序以及各階段活動(dòng)的準(zhǔn)則,確立開(kāi)發(fā)過(guò)程所必須遵守的規(guī)定和限制等。目前有瀑布模型、增量模型、螺旋模型、噴泉模型、變換模型和基于知識(shí)的模型等。16立項(xiàng)(或簽合同)、下達(dá)任務(wù)書需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼實(shí)現(xiàn)軟件測(cè)試軟件發(fā)布與實(shí)施軟件維護(hù)版本更新或退役統(tǒng)一建模過(guò)程(UML)17生命周期各階段的基本任務(wù)生命周期的8各階段:?jiǎn)栴}定義→可行性研究→需求分析→總體設(shè)計(jì)(概要設(shè)計(jì))→詳細(xì)設(shè)計(jì)→編碼和單元測(cè)試→綜合測(cè)試→軟件維護(hù)各階段的基本任務(wù)如下圖。18開(kāi)發(fā)團(tuán)隊(duì)中的角色設(shè)計(jì)人員測(cè)試人員需求分析和定義系統(tǒng)設(shè)計(jì)單元測(cè)試程序?qū)崿F(xiàn)程序設(shè)計(jì)集成測(cè)試系統(tǒng)測(cè)試交付系統(tǒng)維護(hù)軟件開(kāi)發(fā)步驟分析員程序員培訓(xùn)人員20瀑布模型

瀑布模型(WaterfallModel)又稱流水式過(guò)程模型。它可以形象地用階梯瀑布描述,水由上向下一個(gè)階梯接著一個(gè)階梯地傾瀉下來(lái),最后進(jìn)入一個(gè)風(fēng)平浪靜的大湖,即軟件企業(yè)的產(chǎn)品庫(kù),如圖2-1所示。21特點(diǎn):上一階段的變換結(jié)果是下一階段變換的輸入,相鄰兩個(gè)階段具有因果關(guān)系,緊密相聯(lián)。需求分析問(wèn)題定義可性行研究計(jì)劃時(shí)期概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼測(cè)試開(kāi)發(fā)時(shí)期運(yùn)行與維護(hù)運(yùn)行時(shí)期瀑布模型1970年由W.Royce提出23瀑布模型瀑布模型是傳統(tǒng)軟件工程的基礎(chǔ)。瀑布模型的基本思想是將軟件生命周期劃分為若干明確定義的階段。每一階段活動(dòng)具有嚴(yán)格性,要實(shí)施評(píng)審工作,以便及早發(fā)現(xiàn)錯(cuò)誤,改正錯(cuò)誤;以文檔形式驅(qū)動(dòng)的,上一階段的結(jié)果作為本階段的輸入;24優(yōu)點(diǎn):1)階段間具有順序性和依賴性2)推遲實(shí)現(xiàn)的觀點(diǎn)3)質(zhì)量保證的觀點(diǎn)。缺點(diǎn):

1)各個(gè)階段的劃分完全固定,階段之間產(chǎn)生大量的文檔,極大增加了工作量2)由于開(kāi)發(fā)模型是線性的,用戶只有等到最后才能看到開(kāi)發(fā)成果,中間提出的變更要求很難響應(yīng),增加風(fēng)險(xiǎn)3)早期錯(cuò)誤可能要到開(kāi)發(fā)后期或測(cè)試階段才發(fā)現(xiàn),從而帶來(lái)嚴(yán)重后果26適合的軟件:軟件的需求在項(xiàng)目開(kāi)始前很明確,在開(kāi)發(fā)時(shí)期內(nèi)沒(méi)有或很少有需求變化;解決方案在軟件開(kāi)始前也很明確,開(kāi)發(fā)者對(duì)應(yīng)用領(lǐng)域很熟低風(fēng)險(xiǎn)項(xiàng)目,如開(kāi)發(fā)者對(duì)目標(biāo)和開(kāi)發(fā)環(huán)境很熟悉;除了在早期階段,用戶對(duì)開(kāi)發(fā)工作參與很少;系統(tǒng)編程要求使用面向過(guò)程的程序設(shè)計(jì)語(yǔ)言類似的軟件如:公司的財(cái)務(wù)系統(tǒng)庫(kù)存管理系統(tǒng)短期項(xiàng)目27增量模型第1塊第1次集成第2次集成第3次集成第N次集成第4次集成第1塊第1塊第1塊第1塊第N塊第4塊第3塊第2塊第2塊第2塊第2塊第3塊第3塊第4塊123491011125678需求分析設(shè)計(jì)編碼測(cè)試增量模型示意圖28增量模型把軟件產(chǎn)品分解成一系列的增量構(gòu)件,在增量開(kāi)發(fā)迭代中逐步加入。每個(gè)構(gòu)件由多個(gè)相互作用的模塊構(gòu)成,并且能夠完成特定的功能。增量開(kāi)發(fā)方法的新演進(jìn)版本叫做“極限程序設(shè)計(jì)(ExtremeProgramming)”。

定義基本需求將需求賦予增量構(gòu)件設(shè)計(jì)系統(tǒng)體系結(jié)構(gòu)開(kāi)發(fā)增量構(gòu)件確認(rèn)增量構(gòu)件集成增量構(gòu)件確認(rèn)系統(tǒng)30增量模型核心功能核心功能112123第一增量第二增量第三增量核心功能112123……31增量模型◆遵循遞增方式進(jìn)行軟件開(kāi)發(fā)。開(kāi)發(fā)一部分,向用戶展示一部分?!粼隽磕P褪且环N非整體開(kāi)發(fā)的模型。◆適用條件:1)使用面向?qū)ο笳Z(yǔ)言或第四代語(yǔ)言。2)需求可能發(fā)生變化,客戶接受分階段交付;3)分析設(shè)計(jì)人員對(duì)應(yīng)用領(lǐng)域不熟悉,難以一步到位;用戶可以參與到整個(gè)軟件開(kāi)發(fā)過(guò)程。4)項(xiàng)目風(fēng)險(xiǎn)高。5)軟件公司自己已有較好的類庫(kù)和構(gòu)件庫(kù)。32優(yōu)點(diǎn):1)將整個(gè)產(chǎn)品分解為若干個(gè)構(gòu)件進(jìn)行逐步交付,因此軟件開(kāi)發(fā)可以很好的適應(yīng)需求的變化。2)用戶可以看到所開(kāi)發(fā)軟件的可運(yùn)行中間版本降低風(fēng)險(xiǎn)缺點(diǎn):1)由于各個(gè)構(gòu)件的逐漸并入已有的軟件體系中,所以加人構(gòu)件必須不破壞已構(gòu)造好的系統(tǒng),這需要系統(tǒng)具備開(kāi)放式體系結(jié)構(gòu)。2)開(kāi)發(fā)過(guò)程中,需求的變化使得軟件過(guò)程的控制失去整體性33模型適合的項(xiàng)目:

項(xiàng)目開(kāi)始,明確了需求的大部分,但是需求可能會(huì)發(fā)生變化對(duì)于市場(chǎng)和用戶把握不是很準(zhǔn),需要逐步了解對(duì)于有龐大和復(fù)雜功能的系統(tǒng)進(jìn)行功能改進(jìn),就需要一步一步實(shí)施的。34銀行業(yè)務(wù)系統(tǒng)的生存期實(shí)例產(chǎn)品階段1設(shè)計(jì)業(yè)務(wù)需求分析原形系統(tǒng)分析項(xiàng)目規(guī)劃集成測(cè)試產(chǎn)品階段1開(kāi)發(fā)產(chǎn)品階段n設(shè)計(jì)產(chǎn)品階段n開(kāi)發(fā)確認(rèn)測(cè)試產(chǎn)品提交銀行業(yè)務(wù)需求原形系統(tǒng)源代碼項(xiàng)目規(guī)劃項(xiàng)目規(guī)劃35原型模型原型模型:先開(kāi)發(fā)一個(gè)“原型”軟件,完成主要功能,展示給用戶并征求意見(jiàn),然后逐步完善。根據(jù)原型建立的目的不同,可以分為以下幾種原型模型:——探索型原型:用于需求分析階段;——實(shí)驗(yàn)型原型:用于設(shè)計(jì)階段;——演化型原型:軟件開(kāi)發(fā)全過(guò)程,及早向用戶提交一個(gè)原型系統(tǒng)。原型運(yùn)用方式:拋棄策略和附加策略。拋棄策略是原型達(dá)到目的,則放棄使用,重新開(kāi)發(fā)軟件;而附加策略是原型達(dá)到目的后,繼續(xù)使用,軟件是在原型的基礎(chǔ)上繼續(xù)開(kāi)發(fā),直到交付使用。36快速原型模型快速原型方法是原型模型在軟件分析、設(shè)計(jì)階段的應(yīng)用,用來(lái)解決用戶對(duì)軟件系統(tǒng)在需求分析上的模糊認(rèn)識(shí)。是用來(lái)獲取用戶需求的,或是用來(lái)試探某種設(shè)計(jì)是否有效。一旦需求或設(shè)計(jì)確定下來(lái),原型就將被拋棄。需求的采集與細(xì)化客戶評(píng)價(jià)原型快速設(shè)計(jì)建造原型加工原型產(chǎn)生樣品停止開(kāi)始37原型開(kāi)發(fā)過(guò)程原型開(kāi)發(fā)步驟:▲快速分析:分析人員與用戶配合,迅速確定系統(tǒng)的基本要求。要根據(jù)原型所要體現(xiàn)的特征,描述基本需求。關(guān)鍵是要注意分析描述內(nèi)容的選取?!鴺?gòu)造原型:在軟件工具支持下盡快實(shí)現(xiàn)一個(gè)可運(yùn)行的系統(tǒng)?!\(yùn)行原型:是發(fā)現(xiàn)問(wèn)題、消除誤解、開(kāi)發(fā)者與用戶充分協(xié)調(diào)的一個(gè)步驟?!u(píng)價(jià)原型:評(píng)價(jià)原型的特性,糾正誤解與錯(cuò)誤,增添新要求或提出要求變動(dòng),提出全面的修改意見(jiàn)?!薷模涸烷_(kāi)發(fā)的循環(huán)。38快速原型模型開(kāi)發(fā)步驟需求分析需求說(shuō)明設(shè)計(jì)說(shuō)明源程序軟件產(chǎn)品設(shè)計(jì)編碼測(cè)試維護(hù)快速分析需求說(shuō)明原型修改意見(jiàn)修改類型構(gòu)造原型運(yùn)行原型評(píng)價(jià)原型停止修改修改說(shuō)明修改原型39原型模型的評(píng)價(jià)原型的優(yōu)點(diǎn):▲可及早為用戶提供有用的產(chǎn)品?!杉霸绨l(fā)現(xiàn)問(wèn)題,隨時(shí)糾正錯(cuò)誤。▲減少技術(shù)、應(yīng)用風(fēng)險(xiǎn),縮短開(kāi)發(fā)時(shí)間,減少費(fèi)用。▲促使用戶主動(dòng)參與開(kāi)發(fā)活動(dòng),促進(jìn)各類人員的協(xié)調(diào),減少誤解,適應(yīng)需求的變化,能有效提高系統(tǒng)質(zhì)量。原型存在的問(wèn)題:▲缺乏豐富而強(qiáng)有力的軟件工具和開(kāi)發(fā)環(huán)境?!狈τ行У墓芾頇C(jī)制,還未建立起自己的開(kāi)發(fā)標(biāo)準(zhǔn)?!鴮?duì)設(shè)計(jì)人員水平和開(kāi)發(fā)環(huán)境要求較高。▲在多次重復(fù)改變?cè)偷倪^(guò)程中,程序員會(huì)感到厭煩?!到y(tǒng)的易變性對(duì)測(cè)試有一定影響,難于做到徹底測(cè)試,更新文檔較為困難。40原型模型的處理過(guò)程

41項(xiàng)目的需求在項(xiàng)目開(kāi)始前不明確需要減少項(xiàng)目需求的不確定性類似的項(xiàng)目如:確定顯示界面第一次開(kāi)發(fā)的產(chǎn)品,驗(yàn)證可行性模型適合的項(xiàng)目42【例2-1】1996年8月,一名高級(jí)工程師帶領(lǐng)一個(gè)熟練的程序員,來(lái)到營(yíng)口港務(wù)局通信中心,開(kāi)發(fā)該中心的電話業(yè)務(wù)信息管理系統(tǒng)。當(dāng)時(shí),雖然他們手中并無(wú)什么“原型”,但是他倆一個(gè)是數(shù)據(jù)庫(kù)設(shè)計(jì)高手,一個(gè)是編程高手,所以倆人分工負(fù)責(zé),一人設(shè)計(jì)數(shù)據(jù)庫(kù),一人編寫程序,雙方配合默契,只用一個(gè)多月時(shí)間,就圓滿地完成了開(kāi)發(fā)任務(wù),收回了全部開(kāi)發(fā)費(fèi)用,獲得了客戶的好評(píng)。這是一個(gè)典型的“快速原型法”例子??焖僭头ㄟx擇的條件是:項(xiàng)目組中有數(shù)據(jù)庫(kù)分析和設(shè)計(jì)的專家,有面向?qū)ο缶幊痰膶<遥臋n制作有成熟的模板,而且系統(tǒng)或項(xiàng)目又不是非常大。43噴泉模型主要用于采用面向?qū)ο蠹夹g(shù)的項(xiàng)目在分析、設(shè)計(jì)、實(shí)現(xiàn)等各項(xiàng)活動(dòng)之間無(wú)明顯邊界噴泉體現(xiàn)迭代和無(wú)間隙的特征噴泉模型強(qiáng)調(diào)增量式開(kāi)發(fā),它依據(jù)分析一部分就設(shè)計(jì)一部分的原則,不要求一個(gè)階段的徹底完成。軟件的某些部分常常被重復(fù)工作多次,相關(guān)功能在每次迭代中隨之加入演進(jìn)的系統(tǒng)44迭代模型(RUP模型)RationalUnifiedProcess初始精化構(gòu)建移交9個(gè)核心流程對(duì)初學(xué)者來(lái)說(shuō),使用比較困難業(yè)務(wù)建模需求獲取分析設(shè)計(jì)實(shí)施測(cè)試部署配置與變更管理項(xiàng)目管理環(huán)境45強(qiáng)調(diào)項(xiàng)目的可控性是一個(gè)用例驅(qū)動(dòng)的基于UML和構(gòu)件式架構(gòu)的迭代增量式開(kāi)發(fā)過(guò)程RUP定義了初始、細(xì)化、實(shí)現(xiàn)和部署4個(gè)階段,分別對(duì)應(yīng)著關(guān)鍵里程碑的劃分。RUP(Rational統(tǒng)一過(guò)程)比較適合大中型的項(xiàng)目和產(chǎn)品開(kāi)發(fā)46RUP的目標(biāo)按照預(yù)先制定的時(shí)間計(jì)劃和經(jīng)費(fèi)預(yù)算,開(kāi)發(fā)出高質(zhì)量的軟件產(chǎn)品以滿足最終用戶的需求。47產(chǎn)品交付給用戶后用戶可能不滿意;到了預(yù)定的交付日期軟件可能還未開(kāi)發(fā)出來(lái);實(shí)際的開(kāi)發(fā)成本可能超過(guò)預(yù)算;產(chǎn)品完成前一些關(guān)鍵的開(kāi)發(fā)人員“跳槽”了;產(chǎn)品投入市場(chǎng)之前競(jìng)爭(zhēng)對(duì)手發(fā)布了一個(gè)功能相近、價(jià)格更低的軟件等。軟件風(fēng)險(xiǎn)是任何軟件開(kāi)發(fā)項(xiàng)目中都普遍存在的實(shí)際問(wèn)題,項(xiàng)目越大,軟件越復(fù)雜,承擔(dān)該項(xiàng)目所冒的風(fēng)險(xiǎn)也越大。例如:48螺旋模型◆螺旋模型是一種風(fēng)險(xiǎn)驅(qū)動(dòng)的模型。它將瀑布模型和增量模型結(jié)合起來(lái),并加入了風(fēng)險(xiǎn)分析。螺旋模型沿著螺線旋轉(zhuǎn),每轉(zhuǎn)一圈,表示開(kāi)發(fā)出一個(gè)更完善的新的軟件版本。它在四個(gè)象限上分別表達(dá)了4個(gè)方面的活動(dòng)?!袈菪P托枰邢喈?dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí)。49螺旋模型的基本思想使用原型及其他方法來(lái)盡量降低風(fēng)險(xiǎn)。riskanalysisstageDevelopmentstagePlanningstageEvaluationstagestartResourceuse50可看作在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過(guò)程的快速原型模型。快速原型驗(yàn)證規(guī)格說(shuō)明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼測(cè)試綜合測(cè)試維護(hù)變化的需求驗(yàn)證風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)分析簡(jiǎn)化的螺旋模型5152優(yōu)點(diǎn):強(qiáng)調(diào)可選方案和約束條件從而支持軟件的復(fù)用,有助于將軟件自質(zhì)量作為特殊目標(biāo)熔入產(chǎn)品開(kāi)發(fā)中。缺點(diǎn):強(qiáng)調(diào)風(fēng)險(xiǎn)分析,但要求許多客戶接受和相信這種分析并作出相應(yīng)反映是不容易的,因此,這種模型往往適用于內(nèi)部大規(guī)模軟件開(kāi)發(fā)。如果執(zhí)行風(fēng)險(xiǎn)分析會(huì)大大影響項(xiàng)目利潤(rùn),進(jìn)行分析風(fēng)險(xiǎn)便毫無(wú)意義,因此只適用于大規(guī)模軟件。軟件開(kāi)發(fā)人員應(yīng)該擅長(zhǎng)尋找可能的風(fēng)險(xiǎn),準(zhǔn)確分析風(fēng)險(xiǎn),否則會(huì)帶來(lái)更大的風(fēng)險(xiǎn)。53適合的項(xiàng)目風(fēng)險(xiǎn)是主要的制約因素不確定因素和風(fēng)險(xiǎn)限制了項(xiàng)目進(jìn)度用戶對(duì)自己的需求也不是很明確需要對(duì)一些基本的概念進(jìn)行驗(yàn)證可能發(fā)生一些重大的變更項(xiàng)目規(guī)模很大項(xiàng)目中采用了新技術(shù)54各種模型的比較模型優(yōu)點(diǎn)缺點(diǎn)瀑布模型規(guī)范,文檔驅(qū)動(dòng),簡(jiǎn)單好學(xué)系統(tǒng)可能不滿足客戶真正的需求快速原型克服了瀑布型的缺點(diǎn),關(guān)注滿足客戶需求可能導(dǎo)致系統(tǒng)設(shè)計(jì)差、效率低,難于維護(hù)增量模型可以分階段提交,開(kāi)發(fā)早期回報(bào)明確,易于維護(hù)要求開(kāi)放的軟件體系結(jié)構(gòu),可能會(huì)設(shè)計(jì)差、效率低

螺旋模型風(fēng)險(xiǎn)驅(qū)動(dòng),適用于大型項(xiàng)目開(kāi)發(fā)風(fēng)險(xiǎn)分析人員需要有經(jīng)驗(yàn)且經(jīng)過(guò)充分訓(xùn)練55小結(jié)軟件開(kāi)發(fā)模型是軟件開(kāi)發(fā)全過(guò)程、活動(dòng)、任務(wù)的結(jié)構(gòu)框架、軟件生命周期各個(gè)階段及各階段的任務(wù)。系統(tǒng)開(kāi)發(fā)模型:瀑布模型-知道做什么原型模型-快速開(kāi)發(fā)增量模型-并行開(kāi)發(fā)螺旋模型-風(fēng)險(xiǎn)驅(qū)動(dòng)噴泉模型-重用各模型優(yōu)點(diǎn)、缺點(diǎn)56瀑布模型?適用–在開(kāi)發(fā)的早期階段軟件需求被完整確定?挑戰(zhàn)–實(shí)際的項(xiàng)目開(kāi)發(fā)很少是線性的過(guò)程,客戶很難明確地描述軟件需求?缺點(diǎn)–各個(gè)階段的劃分完全固定,階段之間產(chǎn)生大量的文檔,極大地增加了工作量–開(kāi)發(fā)過(guò)程中很難響應(yīng)客戶的變更要求–早期的錯(cuò)誤可能要等到開(kāi)發(fā)后期的測(cè)試階段才能發(fā)現(xiàn),進(jìn)而帶來(lái)嚴(yán)重的后果57增量模型?優(yōu)點(diǎn)–整個(gè)產(chǎn)品被分解成若干個(gè)構(gòu)件逐步交付,用戶可以不斷地看到所開(kāi)發(fā)軟件的可運(yùn)行中間版本–將早期增量作為原型有助于明確后期增量的需求–降低開(kāi)發(fā)風(fēng)險(xiǎn)–重要功能被首先交付,從而使其得到最多的測(cè)試?缺點(diǎn)–需要軟件具備開(kāi)放式的體系結(jié)構(gòu)–需求難以在增量實(shí)現(xiàn)之前詳細(xì)定義,因此增量與需求的準(zhǔn)確映射以及所有增量的有效集成可能會(huì)比較困難–容易退化為邊做邊改方式,使軟件過(guò)程的控制失去整體性58快速原型模型?目的–減少開(kāi)發(fā)風(fēng)險(xiǎn)和需求不確定性?缺點(diǎn)–原型系統(tǒng)的內(nèi)部結(jié)構(gòu)可能不好–開(kāi)發(fā)人員需要掌握建立快速原型的開(kāi)發(fā)技術(shù)和工具?適用–小型或中等規(guī)模的交互式系統(tǒng)–大型系統(tǒng)的某些部分,例如用戶界面–生命周期較短的系統(tǒng)2759螺旋模型?優(yōu)點(diǎn)–關(guān)注軟件的重用–關(guān)注早期錯(cuò)誤的消除–將質(zhì)量目標(biāo)放在首位–將開(kāi)發(fā)階段與維護(hù)階段結(jié)合在一起?缺點(diǎn)–契約開(kāi)發(fā)通常需要事先指定過(guò)程模型和發(fā)布產(chǎn)品–需要風(fēng)險(xiǎn)評(píng)估的經(jīng)驗(yàn)3260課堂練習(xí)1)假設(shè)要求你開(kāi)發(fā)一個(gè)軟件,該軟件的功能是把讀入的浮點(diǎn)數(shù)開(kāi)平方,所得到的結(jié)果應(yīng)該精確到設(shè)小數(shù)點(diǎn)后4位。一旦實(shí)現(xiàn)并測(cè)試完之后,該產(chǎn)品將被拋棄。你打算選用哪種軟件生命周期模型?請(qǐng)說(shuō)明你做出選擇的理由。瀑布模型:需求明確,算法成熟,無(wú)需提高軟件的可維護(hù)性。61課堂練習(xí)2)如果要開(kāi)發(fā)“圖書館管理信息系統(tǒng)”,你認(rèn)為采用什么開(kāi)發(fā)模型比較合適?請(qǐng)說(shuō)明理由。答:開(kāi)發(fā)“圖書館管理信息系統(tǒng)”采用瀑布模型比較合適。因?yàn)槠俨寄P驮陂_(kāi)發(fā)過(guò)程中各階段非常清晰,便于評(píng)審、跟蹤、管理和控制,并且“圖書館管理信息系統(tǒng)”也基本符合瀑布模型的條件:(1)“圖書館管理信息系統(tǒng)”在開(kāi)發(fā)過(guò)程中需求變化很少。(2)分析和設(shè)計(jì)人員對(duì)“圖書館管理信息系統(tǒng)”比較熟悉。(3)“圖書館管理信息系統(tǒng)”是低風(fēng)險(xiǎn)項(xiàng)目。(4)“圖書館管理信息系統(tǒng)”的用戶使用環(huán)境比較穩(wěn)定。(5)“圖書館管理信息系統(tǒng)”的用戶除提出需求以外,很少參與開(kāi)發(fā)工作。62課堂練習(xí)3)假設(shè)你被任命為一家軟件公司的項(xiàng)目負(fù)責(zé)人,你的工作是管理該公司已被廣泛應(yīng)用的字處理軟件的新版本開(kāi)發(fā)。由于市場(chǎng)競(jìng)爭(zhēng)激烈,公司規(guī)定了嚴(yán)格的完成期限并且已對(duì)外公布。你打算采用哪種軟件生命周期模型?為什么?對(duì)這個(gè)項(xiàng)目的一個(gè)重要要求就是嚴(yán)格按照已對(duì)外公布了的日期完成場(chǎng)頻開(kāi)發(fā)工作。考慮開(kāi)發(fā)速度選擇增量模型可以并行完成開(kāi)發(fā)工作。第一,舊版本已經(jīng)相當(dāng)于一個(gè)原型,通過(guò)收集用戶對(duì)舊版本的反省,較容易定義新版本需求,所以無(wú)需原型;第二,公司軟件工程師對(duì)于字處理軟件很熟悉;第三,該軟件收到廣泛用戶的喜歡,可能還要開(kāi)發(fā)新版本,應(yīng)該把軟件的體系結(jié)構(gòu)設(shè)計(jì)成開(kāi)放式的,有助于改進(jìn)和擴(kuò)充。63實(shí)例一?某公司計(jì)劃開(kāi)發(fā)二維CAD軟件–軟件功能需求?基本功能與國(guó)外AutoCAD產(chǎn)品一致?新增加功能三個(gè)功能:智能畫線、智能標(biāo)注、讀取.dwg文件

?問(wèn)題:該軟件開(kāi)發(fā)適于采用什么過(guò)程?增量模型

64實(shí)例二?哈爾濱市交通設(shè)施設(shè)計(jì)與漫游系統(tǒng)–用戶的要求(1)完成交通設(shè)施的二維圖紙?jiān)O(shè)計(jì)(2)在二維設(shè)計(jì)的基礎(chǔ)上模擬顯示設(shè)計(jì)的效果–現(xiàn)實(shí)情況(1)二維設(shè)計(jì)部分已有工作基礎(chǔ),新功能開(kāi)發(fā)量不大(2)設(shè)計(jì)仿真與漫游顯示部分需求不確定(3)用戶要求開(kāi)發(fā)方提出可行的方案?問(wèn)題:采用什么方法開(kāi)發(fā)仿真與漫游子系統(tǒng)?快速原型模型65實(shí)例三?空中交通控制系統(tǒng)–在系統(tǒng)運(yùn)行之前需要進(jìn)行安全性和可靠性的檢驗(yàn)?問(wèn)題:該軟件開(kāi)發(fā)適于采用什么過(guò)程?螺旋模型66軟件生存周期模型的選擇1)模型應(yīng)符合軟件本身的性質(zhì)(規(guī)模、復(fù)雜性)2)模型應(yīng)滿足軟件應(yīng)用系統(tǒng)整體開(kāi)發(fā)進(jìn)度要求3)模型應(yīng)有可能控制并消除軟件開(kāi)發(fā)風(fēng)險(xiǎn)4)模型應(yīng)有可用的計(jì)算機(jī)輔助工具(如快速原型工具)的支持5)模型應(yīng)與用戶和軟件開(kāi)發(fā)人員的知識(shí)和技能相匹配6)模型應(yīng)有利于軟件開(kāi)發(fā)的管理與控制67軟件生存周期模型的剪裁在一個(gè)成熟的IT企業(yè)或軟件組織內(nèi)部,通常要根據(jù)各種軟件開(kāi)發(fā)模型的特點(diǎn),結(jié)合本單位的開(kāi)發(fā)經(jīng)驗(yàn)和行業(yè)特點(diǎn)的具體實(shí)際,還需要定

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論