秋計(jì)算機(jī)學(xué)科概論軟件工程概述_第1頁
秋計(jì)算機(jī)學(xué)科概論軟件工程概述_第2頁
秋計(jì)算機(jī)學(xué)科概論軟件工程概述_第3頁
秋計(jì)算機(jī)學(xué)科概論軟件工程概述_第4頁
秋計(jì)算機(jī)學(xué)科概論軟件工程概述_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

秋計(jì)算機(jī)學(xué)科概論軟件工程概述1.1軟件危機(jī)

軟件危機(jī)的定義、含義、實(shí)質(zhì)、具體表現(xiàn)、產(chǎn)生的原因、解決途徑1.2軟件工程

軟件工程的定義、基本原理、 軟件工程方法學(xué)、要素 結(jié)構(gòu)化方法、面向?qū)ο蠓椒?.3軟件生命周期

瀑布、快速原型、增量、螺旋、噴泉、RUP、敏捷、MS主要內(nèi)容計(jì)算機(jī)系統(tǒng)的發(fā)展歷程 系統(tǒng)的概念(1)若干部件的集合;(2)每個(gè)部件有自己獨(dú)立的功能和邊界;(3)部件之間的關(guān)系構(gòu)成系統(tǒng)的結(jié)構(gòu);(4)部件之間的相互作用構(gòu)成系統(tǒng)的運(yùn)動(dòng)。軟件危機(jī)結(jié)構(gòu)的概念:元素及關(guān)系。關(guān)系:1:11:mm:n系統(tǒng)的觀點(diǎn):完整、層次、功能、運(yùn)動(dòng)計(jì)算機(jī)系統(tǒng)的發(fā)展歷程 過程文檔數(shù)據(jù)庫人員軟件硬件計(jì)算機(jī)系統(tǒng)的組成

所謂計(jì)算機(jī)系統(tǒng)就是指適當(dāng)?shù)亟M織在一起的一系列系統(tǒng)元素的集合,這些系統(tǒng)元素互相配合、相互協(xié)作,通過對(duì)信息的處理而完成預(yù)先定義的目標(biāo)。計(jì)算機(jī)系統(tǒng)的發(fā)展歷程 計(jì)算機(jī)系統(tǒng)的發(fā)展歷程:經(jīng)歷了四個(gè)不同的發(fā)展階段。個(gè)體開發(fā)(1950-1960)軟件工程(1970-1980)軟件作坊(1960-1970)軟件產(chǎn)業(yè)(1980-)4GT和4GL?1.1軟件危機(jī)計(jì)算機(jī)系統(tǒng)的發(fā)展歷程 計(jì)算機(jī)系統(tǒng)的發(fā)展軟件危機(jī)軟件危機(jī)“危機(jī)”:(1)是危險(xiǎn)的環(huán)境中醞釀的機(jī)會(huì),也是機(jī)遇背后暗藏的危險(xiǎn)(2)危險(xiǎn)的機(jī)會(huì)、矛盾、出事了(3)政治危機(jī)、經(jīng)濟(jì)危機(jī)、金融危機(jī)、信任危機(jī)、心理危機(jī)、婚姻危機(jī)……1.1軟件危機(jī)軟件危機(jī)“危機(jī)”的含義一是指突發(fā)事件,出乎人們意料發(fā)生的,如地震、水災(zāi)、空難、疾病爆發(fā)、恐怖襲擊、戰(zhàn)爭(zhēng)等;

二是指人所處的緊急狀態(tài)。

當(dāng)個(gè)體遭遇重大問題或變化發(fā)生使個(gè)體感到難以解決、難以把握時(shí),平衡就會(huì)打破,正常的生活受到干擾,內(nèi)心的緊張不斷積蓄,繼而出現(xiàn)無所適從甚至思維和行為的紊亂,進(jìn)入一種失衡狀態(tài),這就是危機(jī)狀態(tài)。危機(jī)意味著平衡穩(wěn)定的破壞,引起混亂、不安。危機(jī)出現(xiàn)是因?yàn)閭€(gè)體意識(shí)到某一事件和情景超過了自己的應(yīng)付能力,而不是個(gè)體經(jīng)歷的事件本身。軟件危機(jī)

軟件危機(jī)的定義軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。

即:效率

和質(zhì)量

的問題。軟件危機(jī)軟件危機(jī)的具體表現(xiàn)(1)開發(fā)成本和進(jìn)度估計(jì)不準(zhǔn)。(2)用戶對(duì)“已完成的”軟件系統(tǒng)不滿意。(3)軟件質(zhì)量往往靠不住。(4)軟件常常是不可維護(hù)的。(5)軟件通常沒有適當(dāng)?shù)奈臋n資料。(6)軟件成本逐年上升。(7)軟件開發(fā)生產(chǎn)率滯后于硬件和計(jì)算機(jī)應(yīng)用普及。軟件危機(jī)軟件開發(fā)周期:一個(gè)軟件從定義、開發(fā)、使用和維護(hù),直到最終被廢棄,要經(jīng)歷一個(gè)漫長(zhǎng)的時(shí)期,該時(shí)期稱為軟件的生命周期。軟件危機(jī)軟件危機(jī)案例8客戶所付的錢9上線后的技術(shù)支持7最后交付給用戶的軟件0客戶真正的需求1客戶解釋他們想要的4程序員寫出的代碼2項(xiàng)目負(fù)責(zé)人對(duì)客戶需求的認(rèn)識(shí)3系統(tǒng)分析員分析的6項(xiàng)目文檔一片空白5顧問所描繪的情景軟件危機(jī)產(chǎn)生軟件危機(jī)的原因:

(1)軟件本身的特性缺乏可見性、無制造過程、規(guī)模龐大(2)對(duì)軟件開發(fā)錯(cuò)誤的認(rèn)識(shí)和做法軟件就是程序、開發(fā)軟件就是編程序、輕視文檔、不懂測(cè)試、不想維護(hù)、輕視管理(3)開發(fā)與維護(hù)的方法不正確非工程化(個(gè)體、軟件作坊)落后的方法學(xué)(結(jié)構(gòu)化的、面向?qū)ο蟮模?)概念的商業(yè)炒作與迷信軟件危機(jī)仍然在困擾我們。軟件危機(jī)不同時(shí)期對(duì)軟件修改付出的代價(jià):引入同一變動(dòng)付出的代價(jià)隨時(shí)間變化的趨勢(shì):越晚越大。O早中晚變化出現(xiàn)的時(shí)期代價(jià)軟件危機(jī)軟件危機(jī)

軟件危機(jī)與《人月神話》焦油坑

史前史中,沒有別的場(chǎng)景比巨獸在焦油坑中垂死掙扎的場(chǎng)面更令人震撼。上帝見證著恐龍、猛犸象、劍齒虎在焦油中掙扎。它們掙扎得越是猛烈,焦油糾纏得越緊,沒有任何猛獸足夠強(qiáng)壯或具有足夠的技巧,能夠掙脫束縛,它們最后都沉到了坑底。

軟件危機(jī)軟件危機(jī)與《人月神話》焦油坑過去幾十年的大型系統(tǒng)開發(fā)就猶如這樣一個(gè)焦油坑,很多大型和強(qiáng)壯的動(dòng)物在其中劇烈地掙扎。他們中大多數(shù)開發(fā)出了可運(yùn)行的系統(tǒng)——不過,其中只有非常少數(shù)的項(xiàng)目滿足了目標(biāo)、時(shí)間進(jìn)度和預(yù)算的要求。各種團(tuán)隊(duì),大型的和小型的,龐雜的和精干的,一個(gè)接一個(gè)淹沒在了焦油坑中。表面上看起來好像沒有任何一個(gè)單獨(dú)的問題會(huì)導(dǎo)致困難,每個(gè)都能被解決,但是當(dāng)它們相互糾纏和累積在一起的時(shí)候,團(tuán)隊(duì)的行動(dòng)就會(huì)變得越來越慢。對(duì)問題的麻煩程度,每個(gè)人似乎都會(huì)感到驚訝,并且很難看清問題的本質(zhì)。不過,如果我們想解決問題,就必須試圖先去理解它。

軟件危機(jī)消除軟件危機(jī)的途徑:(1)對(duì)軟件正確認(rèn)識(shí)。(2)推廣使用成功的技術(shù)和方法。(3)研究探索更好更有效的技術(shù)和方法。(4)應(yīng)該開發(fā)和使用更好的軟件工具。總之,為了消除軟件危機(jī),既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。

軟件工程正是從管理和技術(shù)兩方面研究如何更好地開發(fā)和維護(hù)計(jì)算機(jī)軟件的一門新興學(xué)科。(1)軟件是無形的(intangible)比其他工程產(chǎn)品更加不可捉摸。你無法感覺軟件產(chǎn)品的形狀,它的設(shè)計(jì)也難以直觀表示。因此確定軟件產(chǎn)品的質(zhì)量或者估計(jì)其開發(fā)的工作量是非常困難的。這就是人們總是低估系統(tǒng)開發(fā)時(shí)間的一個(gè)原因。軟件的特性軟件的特性(2)軟件副本的大批量生產(chǎn)輕而易舉絕大多數(shù)其他類型的工程師非常關(guān)心每一個(gè)部件耗費(fèi)的成本與勞動(dòng)量。換句話說,對(duì)于有形產(chǎn)品,設(shè)計(jì)完成之后的制作過程往往是代價(jià)昂貴的部分。與之相反,軟件產(chǎn)品能通過網(wǎng)絡(luò)下載或制作CD以極低的成本進(jìn)行復(fù)制。因此,幾乎全部的軟件成本都存在于它的開發(fā)過程中,而不是制造過程中。軟件的特性(3)軟件業(yè)是勞動(dòng)密集型的

通過使用機(jī)器,制造業(yè)與建筑業(yè)的許多領(lǐng)域已經(jīng)實(shí)現(xiàn)了自動(dòng)化;因此其他工程分支可以用更少的勞動(dòng)量生產(chǎn)出更多的產(chǎn)品。但是,使軟件的設(shè)計(jì)與編程完全實(shí)現(xiàn)自動(dòng)化,需要真正“智能”的機(jī)器。目前這個(gè)方向上的嘗試離成功還很遙遠(yuǎn)。軟件的特性(4)一個(gè)沒有經(jīng)過充分訓(xùn)練的軟件開發(fā)人員很容易編寫出難以理解和修改的軟件

編程新手可以創(chuàng)建復(fù)雜的系統(tǒng)完成有用的功能,但它的設(shè)計(jì)卻可能極其紊亂。其他工程領(lǐng)域也可能產(chǎn)生不良的設(shè)計(jì),但是這些缺陷通常比較容易發(fā)現(xiàn),因?yàn)樗鼈儾粫?huì)隱藏在上千頁的源代碼中。例如,如果土木工程師設(shè)計(jì)了一座不安全的橋梁,審查人員一般會(huì)比較容易地發(fā)現(xiàn)設(shè)計(jì)中的缺陷,因?yàn)樗麄兦宄刂涝诿繌垐D紙和每次計(jì)算中應(yīng)當(dāng)尋找什么。軟件的特性(5)軟件本身很容易修改

但由于它的復(fù)雜性,又很難正確地修改人們總是試圖在尚未完全了解軟件的時(shí)候就去修改它,而這些修改又會(huì)帶來新的錯(cuò)誤。

軟件的特性(6)軟件不像其他的工業(yè)產(chǎn)品那樣會(huì)因使用而磨損,隨著反復(fù)修改,它的設(shè)計(jì)會(huì)逐漸退化對(duì)軟件的修改很容易引入新的缺陷,因此修改過的軟件從設(shè)計(jì)角度講容易變差。隨著時(shí)間的流逝,軟件后續(xù)版本的設(shè)計(jì)可能會(huì)表現(xiàn)出嚴(yán)重的退化,這時(shí)就需要完全重新設(shè)計(jì)了。軟件的特性(6)軟件不像其他的工業(yè)產(chǎn)品那樣會(huì)因使用而磨損,隨著反復(fù)修改,它的設(shè)計(jì)會(huì)逐漸退化。

軟件的特性軟件的特性造成的問題總而言之,以上這些特性說明,大部分現(xiàn)有軟件的質(zhì)量都相對(duì)較差,而且還在不斷地變得更差。同時(shí),對(duì)新的、修改過的軟件的需求旺盛,客戶希望它們質(zhì)量高,并且能夠很快地生產(chǎn)出來。因此,軟件開發(fā)人員常常滿足不了經(jīng)理與客戶的期望——許多軟件項(xiàng)目不是根本沒有交付,就是推遲交付而且超出了預(yù)算。此外,許多已交付的軟件系統(tǒng)的問題太多,從未投入使用;而其他一些軟件在使用前需要做較大的修改。什么是工程 對(duì)“工程(engineering)”的理解:

大事情、施工的過程、工程學(xué)科。大事情:大的、復(fù)雜的、由眾多的人共同完成的。如建筑工程、三峽工程、航天工程。什么是工程 對(duì)“工程(engineering)”的理解:

1.對(duì)“工程”的理解:大事情,施工的過程,工程學(xué)科。施工的過程:分析

設(shè)計(jì)

實(shí)現(xiàn)

維護(hù)做啥,怎么做,用什么做(工具、技術(shù)),誰作,什么時(shí)候做開始做:……做得怎么樣?持久使用:維修是啥,要啥,啥樣,理解,搞清楚,弄明白什么是工程 1.對(duì)“工程”的理解:大事情,施工的過程,工程學(xué)科。工程學(xué)科的簡(jiǎn)稱。文、理、法、醫(yī)、農(nóng)、工……計(jì)算機(jī)工程、化學(xué)工程、機(jī)械工程、電子工程……什么是工程 1.對(duì)“工程”的理解“人”與“草”的區(qū)別“人”與其它“動(dòng)物”的共性:面對(duì)復(fù)雜性復(fù)雜性:體力與智力受到挑戰(zhàn)科學(xué):揭示復(fù)雜性技術(shù):如何解決復(fù)雜性工程:運(yùn)用科學(xué)與技術(shù)解決復(fù)雜性軟件工程:靠計(jì)算機(jī)軟件延伸人的智力構(gòu)建一個(gè)小狗屋可以由一個(gè)人制造需求: 最小的模型 簡(jiǎn)單的過程 簡(jiǎn)單的工具

由一個(gè)團(tuán)體建設(shè),并且需要更高的效率、更精確的時(shí)間限制,需求模型,良好定義的過程,功能強(qiáng)大的工具構(gòu)造一棟房屋構(gòu)建一個(gè)高層建筑過程有限的理論知識(shí)早期的結(jié)構(gòu)現(xiàn)代的結(jié)構(gòu)進(jìn)步-先進(jìn)的原材料和先進(jìn)的分析范圍-Pantheon的五倍范圍Cheops的3倍高度房屋建模“工程”的定義定義有很多,通常來說: 用最少的代價(jià)解決問題... ...目的是處理實(shí)際的難題... ...以科學(xué)知識(shí)為手段... ...建造工具... ...服務(wù)于人類目標(biāo):使普通人能做以前只有專家圣手才能做的事情??茖W(xué)商業(yè)專業(yè)工程生產(chǎn)科學(xué)商業(yè)專業(yè)工程生產(chǎn)手工“工程”的進(jìn)化“工程”化的步伐手工(Craft)商業(yè)(Commerical)工程(ProfessionalEngineering)行家里手和業(yè)余天才熟練的工匠受過系統(tǒng)教育的專業(yè)人員直覺與強(qiáng)力既定程序分析與理論偶然的進(jìn)步注重實(shí)效地優(yōu)化以科學(xué)為指導(dǎo)地升級(jí)換代不經(jīng)意的推廣言傳身教專業(yè)教育課程奢侈地使用原料注重成本與原料利用原料多次利用生產(chǎn)是為了使用而不是出售為銷售而生產(chǎn)市場(chǎng)份額規(guī)范化循環(huán)專門的解決方法土方法規(guī)范化模型與理論新的問題實(shí)踐提高討論工程、項(xiàng)目、科學(xué)、技術(shù)、方法、工具、過程之間的關(guān)系?軟件工程的背景和歷史1968年由NATO(北大西洋公約組織)在德國(guó)Garmish召開的學(xué)術(shù)會(huì)議上,F(xiàn)eitzBauer首先提出了“軟件工程”概念。北約(美國(guó))、華約(蘇聯(lián))、第三世界(中國(guó))軟件工程的概念

概括地說,軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。軟件工程的概念

1993年IEEE的定義:(1)把系統(tǒng)化的、規(guī)范的、可度量的途徑應(yīng)用與軟件開發(fā)、運(yùn)行和維護(hù);(2)研究(1)中的途徑。軟件工程的本質(zhì)特性1.關(guān)注大型程序的構(gòu)造2.中心課題是控制復(fù)雜性(分解便于管理)3.軟件經(jīng)常變化4.開發(fā)效率非常重要5.和諧協(xié)作是關(guān)鍵6.軟件必須有效地支持用戶7.開發(fā)者與使用者文化不同(隔行如隔山)軟件工程的基本原理

1.用分階段的生命周期計(jì)劃進(jìn)行嚴(yán)格管理2.堅(jiān)持進(jìn)行階段評(píng)審3.實(shí)行嚴(yán)格的產(chǎn)品控制4.采用現(xiàn)代程序設(shè)計(jì)技術(shù)5.結(jié)果應(yīng)能清楚地審查6.開發(fā)小組的人員應(yīng)該少而精7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性軟件生命周期定義可研分析總體設(shè)計(jì)(概要、外部、方案)詳細(xì)設(shè)計(jì)(內(nèi)部、算法、模塊)編碼測(cè)試維護(hù)定義分析設(shè)計(jì)實(shí)現(xiàn)維護(hù)開發(fā)維護(hù)軟件工程方法學(xué)通常把在軟件生命周期全過程中使用的一整套技術(shù)的集合稱為方法學(xué)(methodology),也稱為范型(paradigm)。在軟件工程范疇中,這兩個(gè)詞的含義基本相同。軟件工程方法學(xué)軟件工程方法學(xué)三要素,這就是方法、工具和過程。其中,方法是完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“如何做”的問題;工具是為方法的運(yùn)用提供自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境;過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。軟件工程:一種層次化技術(shù)工具方法過程質(zhì)量焦點(diǎn)Softwareengineeringlayers軟件工程三要素:方法、工具、過程用什么做怎么做什么時(shí)候做什么做成什么樣軟件工程方法學(xué)傳統(tǒng)方法學(xué)(結(jié)構(gòu)化方法學(xué)):SA、SD、SP、ST面向?qū)ο蠓椒▽W(xué):OOA、OOD、OOP、OOT4、軟件工程之過程生命周期LifeCycle系統(tǒng)規(guī)劃階段明確系統(tǒng)規(guī)劃階段明確系統(tǒng)規(guī)劃階段明確系統(tǒng)開發(fā)請(qǐng)求修改初步調(diào)查可行性研究初步方案討論2系統(tǒng)分析階段3系統(tǒng)設(shè)計(jì)階段4系統(tǒng)實(shí)施階段5系統(tǒng)運(yùn)行階段將此圖轉(zhuǎn)換為程序流程圖?模型的發(fā)展瀑布模型瀑布模型(Waterfall)

在20世紀(jì)80年代之前,瀑布模型一直是唯一被廣泛采用的生命周期模型,現(xiàn)在它仍然是軟件工程中應(yīng)用得最廣泛的過程模型。特點(diǎn):(1)階段間具有順序性和依賴性(2)推遲實(shí)現(xiàn)的觀點(diǎn)(3)質(zhì)量保證的觀點(diǎn)瀑布模型analysisdesigncodetestdeploy瀑布模型analysisdesigncodetestdeploy瀑布模型analysisdesigncodetestdeploy瀑布模型ThewaterfallmodelofthelifecycleFEASIBILITYSTUDYREQUIREMENTSANALYSISSPECIFICATIONGLOBALDESIGNDETAILEDDESIGNIMPLEMENTATIONDISTRIBUTIONVALIDATION&VERIFICATIONPROJECTPROGRESS瀑布模型ThewaterfallmodelofthelifecycleFEASIBILITYSTUDYREQUIREMENTSANALYSISSPECIFICATIONGLOBALDESIGNDETAILEDDESIGNIMPLEMENTATIONDISTRIBUTIONVALIDATION&VERIFICATIONPROJECTTIMEDESIGNANDIMPLEMENTATION瀑布模型RequirementsDesignBuildTestDeploymentMaintenance傳統(tǒng)的瀑布模型

線性的需求分析驗(yàn)證規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼測(cè)試綜合測(cè)試維護(hù)定義時(shí)期開發(fā)時(shí)期維護(hù)時(shí)期傳統(tǒng)的瀑布模型

線性的實(shí)際的瀑布模型帶“反饋環(huán)”設(shè)計(jì)驗(yàn)證規(guī)格說明驗(yàn)證需求分析驗(yàn)證編碼測(cè)試變化的需求驗(yàn)證綜合測(cè)試維護(hù)RequirementsDesignBuildTestDeploymentMaintenance名人語錄TomGilb:

“假如你不積極地解決你項(xiàng)目(Project)中存在的風(fēng)險(xiǎn)(risk),它們就會(huì)積極地解決掉你”。

瀑布方法會(huì)掩飾項(xiàng)目中真正的風(fēng)險(xiǎn),當(dāng)你太晚發(fā)現(xiàn)它們時(shí)已無濟(jì)于事。快速原型模型Prototype所謂快速原型是快速建立起來的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集。delivery交付,移交快速原型模型快速原型驗(yàn)證規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證編碼測(cè)試綜合測(cè)試維護(hù)變化的需求驗(yàn)證維護(hù)過程開發(fā)過程

快速原型的本質(zhì)是“快速”。開發(fā)人員應(yīng)該盡可能快地建造出原型系統(tǒng),以加速軟件開發(fā)過程,節(jié)約軟件開發(fā)成本。原型的用途是獲知用戶的真正需求,一旦需求確定了,原型將被拋棄。樹:廣度優(yōu)先增量模型IncrementalModels

增量模型也稱為漸增模型。使用增量模型開發(fā)軟件時(shí),把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計(jì)、編碼、集成和測(cè)試。每個(gè)構(gòu)件由多個(gè)相互作用的模塊構(gòu)成,并且能夠完成特定的功能。使用增量模型時(shí),第一個(gè)增量構(gòu)件往往實(shí)現(xiàn)軟件的基本需求,提供最核心的功能。樹:深度優(yōu)先需求分析驗(yàn)證規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證維護(hù)針對(duì)每個(gè)構(gòu)件完成詳細(xì)設(shè)計(jì)、編碼和集成,經(jīng)測(cè)試后交付給用戶增量模型需求分析驗(yàn)證規(guī)格說明驗(yàn)證設(shè)計(jì)驗(yàn)證維護(hù)針對(duì)每個(gè)構(gòu)件完成詳細(xì)設(shè)計(jì)、編碼和集成,經(jīng)測(cè)試后交付給用戶增量模型分析分析分析分析設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)編碼編碼編碼編碼測(cè)試測(cè)試測(cè)試測(cè)試增量1增量2增量3增量4風(fēng)險(xiǎn)更大的增量模型規(guī)格說明設(shè)計(jì)編碼和集成交付客戶規(guī)格說明設(shè)計(jì)編碼和集成交付客戶規(guī)格說明設(shè)計(jì)編碼和集成交付客戶構(gòu)件1:構(gòu)件2:構(gòu)件n:螺旋模型

軟件開發(fā)幾乎總要冒一定風(fēng)險(xiǎn),因此,在軟件開發(fā)過程中必須及時(shí)識(shí)別和分析風(fēng)險(xiǎn),并且采取適當(dāng)措施以消除或減少風(fēng)險(xiǎn)的危害。螺旋模型的基本思想是,使用原型及其他方法來盡量降低風(fēng)險(xiǎn)。理解這種模型的一個(gè)簡(jiǎn)便方法,是把它看作在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過程的快速原型模型,如圖2.6所示。完整的螺旋模型如圖2.7所示。圖中帶箭頭的點(diǎn)劃線的長(zhǎng)度代表當(dāng)前累計(jì)的開發(fā)費(fèi)用,螺線旋過的角度值代表開發(fā)進(jìn)度。螺旋模型決定目標(biāo)、方案和限制評(píng)價(jià)方案、識(shí)別風(fēng)險(xiǎn)、弱化風(fēng)險(xiǎn)

開發(fā)、驗(yàn)證、下一級(jí)產(chǎn)品

計(jì)劃下一階段集成測(cè)試螺

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論