01-軟件工程學(xué)概述_第1頁(yè)
01-軟件工程學(xué)概述_第2頁(yè)
01-軟件工程學(xué)概述_第3頁(yè)
01-軟件工程學(xué)概述_第4頁(yè)
01-軟件工程學(xué)概述_第5頁(yè)
已閱讀5頁(yè),還剩72頁(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)介

軟件工程導(dǎo)論(第6版)第1章軟件工程學(xué)概述迄今為止,計(jì)算機(jī)系統(tǒng)(硬件方面)已經(jīng)經(jīng)歷了4個(gè)不同的發(fā)展階段,但是,人們?nèi)匀粵](méi)有徹底擺脫“軟件危機(jī)”的困擾,軟件已經(jīng)成為限制計(jì)算機(jī)系統(tǒng)發(fā)展的瓶頸。為了更有效地開發(fā)與維護(hù)軟件,軟件工作者在20世紀(jì)60年代后期開始認(rèn)真研究消除軟件危機(jī)的途徑,從而逐漸形成了一門新興的工程學(xué)科——計(jì)算機(jī)軟件工程學(xué)。第1章軟件工程學(xué)概述引言主要內(nèi)容主要內(nèi)容1.1軟件危機(jī)1.2軟件工程1.3軟件生命周期1.4軟件過(guò)程1.1軟件危機(jī)主要內(nèi)容1.1軟件危機(jī)1.2軟件工程1.3軟件生命周期1.4軟件過(guò)程1.1.1軟件危機(jī)的介紹1.1軟件危機(jī)1.1.1軟件危機(jī)的介紹在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。軟件危機(jī)的典型表現(xiàn)1.1軟件危機(jī)1、對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確2、用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生3、軟件產(chǎn)品的質(zhì)量往往靠不住。4、軟件常常是不可維護(hù)的。1.1.1軟件危機(jī)的介紹軟件危機(jī)的典型表現(xiàn)1.1

軟件危機(jī)4、軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。5、軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。6、軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。1.1.1軟件危機(jī)的介紹1.1.2

產(chǎn)生軟件危機(jī)的原因1.1

軟件危機(jī)與軟件本身特點(diǎn)有關(guān)1軟件不同于硬件,管理和控制軟件開發(fā)過(guò)程相當(dāng)困難。2軟件在運(yùn)行過(guò)程中不會(huì)因?yàn)槭褂脮r(shí)間過(guò)長(zhǎng)而被“用壞“如果運(yùn)行中發(fā)現(xiàn)了錯(cuò)誤,很可能是遇到了一個(gè)在開發(fā)時(shí)期引入的在測(cè)試階段沒(méi)能檢測(cè)出來(lái)的錯(cuò)誤。3軟件不同于一般程序,它的一個(gè)顯著特點(diǎn)是規(guī)模龐大,而且程序復(fù)雜性將隨著程序規(guī)模的增加而呈指數(shù)上升。1.1.2產(chǎn)生軟件危機(jī)的原因與軟件本身特點(diǎn)有關(guān)4事實(shí)上,對(duì)用戶要求沒(méi)有完整準(zhǔn)確的認(rèn)識(shí)就匆忙著手編寫程序是許多軟件開發(fā)工程失敗的主要原因之一。5目前相當(dāng)多的軟件專業(yè)人員對(duì)軟件開發(fā)和維護(hù)還有不少糊涂觀念。在實(shí)踐過(guò)程中或多或少地采用了錯(cuò)誤的方法和技術(shù),這可能是使軟件問(wèn)題發(fā)展成軟件危機(jī)的主要原因。6錯(cuò)誤的認(rèn)識(shí)和做法主要表現(xiàn)為忽視軟件需求分析的重要性,認(rèn)為軟件開發(fā)就是寫程序并設(shè)法使之運(yùn)行,輕視軟件維護(hù)等1.1軟件危機(jī)1.1.2產(chǎn)生軟件危機(jī)的原因軟件開發(fā)與維護(hù)的方法不正確有關(guān)1只重視程序而忽視軟件配置其余成分的糊涂觀念。2軟件開發(fā)人員在定義時(shí)期沒(méi)有正確全面地理解用戶需求,直到測(cè)試階段或軟件交付使用后才發(fā)現(xiàn)“已完成的”軟件不完全符合用戶的需要。3嚴(yán)重的問(wèn)題是在軟件開發(fā)的不同階段進(jìn)行修改需要付出的代價(jià)是很不相同的,如下圖所示。1.1

軟件危機(jī)1.1.2產(chǎn)生軟件危機(jī)的原因1.1

軟件危機(jī)1.1.2產(chǎn)生軟件危機(jī)的原因在軟件開發(fā)的不同階段進(jìn)行修改需要付出的代價(jià)1首先應(yīng)該對(duì)計(jì)算機(jī)軟件有一個(gè)正確的認(rèn)識(shí)。2充分認(rèn)識(shí)到軟件開發(fā)不是某種個(gè)體勞動(dòng)的神秘技巧,而應(yīng)該是各類人員協(xié)同配合,共同完成的工程項(xiàng)目。3推廣使用在實(shí)踐中總結(jié)出來(lái)的開發(fā)軟件的成功的技術(shù)和方法,并且研究探索更好更有效的技術(shù)和方法。4應(yīng)該開發(fā)和使用更好的軟件工具。1.1.3消除軟件危機(jī)的途徑1.1

軟件危機(jī)1.1.3消除軟件危機(jī)的途徑1.2軟件工程主要內(nèi)容1.1軟件危機(jī)1.2軟件工程1.3軟件生命周期1.4軟件過(guò)程1.2.1軟件工程的介紹1.2

軟件工程1.2.1

軟件工程的介紹軟件工程概述軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來(lái)開發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。1968年在第一屆NATO(北大西洋公約組織)會(huì)議上曾經(jīng)給出了軟件工程的一個(gè)早期定義:“軟件工程就是為了經(jīng)濟(jì)地獲得可靠的且能在實(shí)際機(jī)器上有效地運(yùn)行的軟件,而建立和使用完善的工程原理?!?993年IEEE(電氣和電子工程師協(xié)會(huì))進(jìn)一步給出了一個(gè)更全面更具體的定義:“軟件工程是:①把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)過(guò)程,也就是把工程應(yīng)用于軟件;②研究①中提到的途徑。1.2

軟件工程1.2.1軟件工程的介紹軟件具有的本質(zhì)特性軟件工程關(guān)注于大型程序的構(gòu)造軟件工程的中心課題是控制復(fù)雜性軟件經(jīng)常變化開發(fā)軟件的效率非常重要和諧地合作是開發(fā)軟件的關(guān)鍵必須有效地支持它的用戶兩種背景的人創(chuàng)造產(chǎn)品這個(gè)特性與前兩個(gè)特性緊密相關(guān)1.2.1軟件工程的介紹1.2

軟件工程1.2.2軟件工程的基本原理1.2.2軟件工程的基本原理1.2

軟件工程1、用分階段的生命周期計(jì)劃嚴(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í)踐的必要性1.2.3軟件工程方法學(xué)1.2.3

軟件工程方法學(xué)1.2

軟件工程1、傳統(tǒng)方法學(xué)傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。它采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn))來(lái)完成軟件開發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來(lái)支持結(jié)構(gòu)化技術(shù)的運(yùn)用。2、面向?qū)ο蠓椒▽W(xué)與傳統(tǒng)方法相反,面向?qū)ο蠓椒ò褦?shù)據(jù)和行為看成是同等重要的,它是一種以數(shù)據(jù)為主線,把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密地結(jié)合起來(lái)的方法。方法完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“怎樣做”的問(wèn)題工具為運(yùn)用方法而提供的自動(dòng)的或半自動(dòng)的軟件工程支撐環(huán)境過(guò)程為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟1.2

軟件工程1.2.3軟件工程方法學(xué)傳統(tǒng)方法學(xué)概念:傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。它采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn))來(lái)完成軟件開發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來(lái)支持結(jié)構(gòu)化技術(shù)的運(yùn)用。1.2軟件工程1.2.3軟件工程方法學(xué)傳統(tǒng)方法學(xué)的特點(diǎn):傳統(tǒng)方法學(xué)把軟件生命周期的全過(guò)程依次劃分為若干個(gè)階段,然后順序地完成每個(gè)階段的任務(wù)。每個(gè)階段的開始和結(jié)束都有嚴(yán)格標(biāo)準(zhǔn),對(duì)于任何兩個(gè)相鄰的階段而言,前一階段的結(jié)束標(biāo)準(zhǔn)就是后一階段的開始標(biāo)準(zhǔn)。1.2

軟件工程1.2.3軟件工程方法學(xué)在每一個(gè)階段結(jié)束之前都必須進(jìn)行正式嚴(yán)格的技術(shù)審查和管理復(fù)審。審查的一條主要標(biāo)準(zhǔn)就是每個(gè)階段都應(yīng)該交出“最新式的”(即和所開發(fā)的軟件完全一致的)高質(zhì)量的文檔資料,從而保證在軟件開發(fā)工程結(jié)束時(shí)有一個(gè)完整準(zhǔn)確的軟件配置交付使用。1.2

軟件工程1.2.3軟件工程方法學(xué)采用生命周期方法學(xué)可以大大提高軟件開發(fā)的成功率,軟件開發(fā)的生產(chǎn)率也能明顯提高。目前,傳統(tǒng)方法學(xué)仍然是人們?cè)陂_發(fā)軟件時(shí)使用得十分廣泛的軟件工程方法學(xué)。1.2軟件工程1.2.3軟件工程方法學(xué)面向?qū)ο蠓椒▽W(xué):概念:與傳統(tǒng)方法相反,面向?qū)ο蠓椒ò褦?shù)據(jù)和行為看成是同等重要的,它是一種以數(shù)據(jù)為主線,把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作緊密地結(jié)合起來(lái)的方法。1.2

軟件工程1.2.3軟件工程方法學(xué)四個(gè)要點(diǎn)把對(duì)象(object)作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件。把所有對(duì)象都劃分成類(class)。按照父類與子類的關(guān)系,把若干個(gè)相關(guān)類組成一個(gè)層次結(jié)構(gòu)的系統(tǒng)。對(duì)象彼此間僅能通過(guò)發(fā)送消息互相聯(lián)系。1.2軟件工程1.2.3軟件工程方法學(xué)面向?qū)ο蠓椒▽W(xué)基本原則:盡量模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過(guò)程盡可能接近人類認(rèn)識(shí)世界、解決問(wèn)題的方法與過(guò)程,從而使描述問(wèn)題的問(wèn)題空間(也稱為問(wèn)題域)與實(shí)現(xiàn)解法的解空間(也稱為求解域)在結(jié)構(gòu)上盡可能一致。1.2軟件工程1.2.3軟件工程方法學(xué)面向?qū)ο蠓椒▽W(xué):優(yōu)點(diǎn):降低了軟件產(chǎn)品的復(fù)雜性,提高了軟件的可理解性,簡(jiǎn)化了軟件的開發(fā)和維護(hù)工作。面向?qū)ο蠓椒ㄌ赜械睦^承性和多態(tài)性,進(jìn)一步提高了面向?qū)ο筌浖目芍赜眯浴?.2

軟件工程1.2.3軟件工程方法學(xué)1.3軟件生命周期主要內(nèi)容1.1軟件危機(jī)1.2軟件工程1.3軟件生命周期1.4軟件過(guò)程1.3軟件生命周期1.3

軟件生命周期軟件生命周期由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)(也稱為軟件維護(hù))3個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分成若干個(gè)階段。軟件定義時(shí)期的任務(wù)是:確定軟件開發(fā)工程必須完成的總目標(biāo);確定工程的可行性;導(dǎo)出實(shí)現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的功能;估計(jì)完成該項(xiàng)工程需要的資源和成本,并且制定工程進(jìn)度表。這個(gè)時(shí)期的工作通常又稱為系統(tǒng)分析,由系統(tǒng)分析員負(fù)責(zé)完成。1.3軟件生命周期1.3

軟件生命周期軟件定義時(shí)期通常進(jìn)一步劃分成3個(gè)階段,即問(wèn)題定義、可行性研究和需求分析。開發(fā)時(shí)期具體設(shè)計(jì)和實(shí)現(xiàn)在前一個(gè)時(shí)期定義的軟件,它通常由下述4個(gè)階段組成:總體設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼和單元測(cè)試,綜合測(cè)試。其中前兩個(gè)階段又稱為系統(tǒng)設(shè)計(jì),后兩個(gè)階段又稱為系統(tǒng)實(shí)現(xiàn)。維護(hù)時(shí)期的主要任務(wù)是使軟件持久地滿足用戶的需要。1.3軟件生命周期1.3

軟件生命周期下面簡(jiǎn)要介紹軟件生命周期每個(gè)階段的基本任務(wù)1.問(wèn)題定義2.可行性研究3.需求分析4.總體設(shè)計(jì)1.3軟件生命周期1.3軟件生命周期下面簡(jiǎn)要介紹軟件生命周期每個(gè)階段的基本任務(wù)5.詳細(xì)設(shè)計(jì)6.編碼和單元測(cè)試7.綜合測(cè)試8.軟件維護(hù)在實(shí)際從事軟件開發(fā)工作時(shí),軟件規(guī)模、種類、開發(fā)環(huán)境及開發(fā)時(shí)使用的技術(shù)方法等因素,都影響階段的劃分。1.4軟件過(guò)程主要內(nèi)容1.1軟件危機(jī)1.2軟件工程1.3軟件生命周期1.4軟件過(guò)程1.4軟件過(guò)程1.4

軟件過(guò)程

軟件過(guò)程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。

軟件過(guò)程描述為了開發(fā)出客戶需要的軟件,什么人(who)、在什么時(shí)候(when)、做什么事(what)以及怎樣(how)做這些事以實(shí)現(xiàn)某一個(gè)特定的具體目標(biāo)。1.4.1瀑布模型1.4

軟件過(guò)程1.4.1瀑布模型瀑布模型一直是唯一被廣泛采用的生命周期模型,現(xiàn)在它仍然是軟件工程中應(yīng)用得最廣泛的過(guò)程模型。如下圖所示為傳統(tǒng)的瀑布模型圖1.2傳統(tǒng)的瀑布模型如圖1.2所示為傳統(tǒng)的瀑布模型。圖1.2傳統(tǒng)的瀑布模型1.4.1瀑布模型按照傳統(tǒng)的瀑布模型開發(fā)軟件,有下述的幾個(gè)特點(diǎn)。階段間具有順序性和依賴性:兩重含義:①必須等前一階段的工作完成之后,才能開始后一階段的工作;②前一階段的輸出文檔就是后一階段的輸入文檔,因此,只有前一階段的輸出文檔正確,后一階段的工作才能獲得正確的結(jié)果。1.4

軟件過(guò)程1.4.1瀑布模型1.4.1瀑布模型b)推遲實(shí)現(xiàn)的觀點(diǎn)瀑布模型在編碼之前設(shè)置了系統(tǒng)分析與系統(tǒng)設(shè)計(jì)的各個(gè)階段,分析與設(shè)計(jì)階段的基本任務(wù)規(guī)定,在這兩個(gè)階段主要考慮目標(biāo)系統(tǒng)的邏輯模型,不涉及軟件的物理實(shí)現(xiàn)。1.4

軟件過(guò)程1.4.1瀑布模型1.4.1瀑布模型c)質(zhì)量保證的觀點(diǎn):軟件工程的基本目標(biāo)是優(yōu)質(zhì)、高產(chǎn)。為了保證所開發(fā)的軟件的質(zhì)量,在瀑布模型的每個(gè)階段都應(yīng)堅(jiān)持兩個(gè)重要做法。每個(gè)階段都必須完成規(guī)定的文檔,沒(méi)有交出合格的文檔就是沒(méi)有完成該階段的任務(wù)。每個(gè)階段結(jié)束前都要對(duì)所完成的文檔進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問(wèn)題,改正錯(cuò)誤。1.4

軟件過(guò)程1.4.1瀑布模型1.4.1瀑布模型傳統(tǒng)的瀑布模型過(guò)于理想化了,事實(shí)上,人在工作過(guò)程中不可能不犯錯(cuò)誤。實(shí)際的瀑布模型是帶“反饋環(huán)”的,如系統(tǒng)圖1.3所示。1.4

軟件過(guò)程1.4.1瀑布模型1.4.1瀑布模型1、圖中實(shí)線箭頭表示開發(fā)過(guò)程,虛線箭頭表示維護(hù)過(guò)程。、2、實(shí)際的瀑布模型當(dāng)在后面階段發(fā)現(xiàn)前面階段的錯(cuò)誤時(shí),需要沿圖中左側(cè)的反饋線返回前面的階段,修正前面階段的產(chǎn)品之后再回來(lái)繼續(xù)完成后面階段的任務(wù)。1.4.1瀑布模型瀑布模型有許多優(yōu)點(diǎn):可強(qiáng)迫開發(fā)人員采用規(guī)范的方法(例如,結(jié)構(gòu)化技術(shù));

嚴(yán)格地規(guī)定了每個(gè)階段必須提交的文檔;要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過(guò)質(zhì)量保證小組的仔細(xì)驗(yàn)證。1.4

軟件過(guò)程1.4.1瀑布模型1.4.1瀑布模型1.4.2.快速原型模型1.4

軟件過(guò)程1.4.2.快速原型模型概念:快速原型是快速建立起來(lái)的可以在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集。如下圖1.4所示:圖1.4中實(shí)線箭頭表示開發(fā)過(guò)程虛線箭頭表示維護(hù)過(guò)程1.4.2.快速原型模型快速原型模型是不帶反饋環(huán)的,這正是這種過(guò)程模型的主要優(yōu)點(diǎn):軟件產(chǎn)品的開發(fā)基本上是線性順序進(jìn)行的。能基本上做到線性順序開發(fā)的主要原因如下:1.4

軟件過(guò)程1.4.2.快速原型模型1.4.2.快速原型模型(1)原型系統(tǒng)已經(jīng)通過(guò)與用戶交互而得到驗(yàn)證,據(jù)此產(chǎn)生的規(guī)格說(shuō)明文檔正確地描述了用戶需求,因此,在開發(fā)過(guò)程的后續(xù)階段不會(huì)因?yàn)榘l(fā)現(xiàn)了規(guī)格說(shuō)明文檔的錯(cuò)誤而進(jìn)行較大的返工。(2)開發(fā)人員通過(guò)建立原型系統(tǒng)已經(jīng)學(xué)到了許多東西,因此,在設(shè)計(jì)和編碼階段發(fā)生錯(cuò)誤的可能性也比較小,這自然減少了在后續(xù)階段需要改正前面階段所犯錯(cuò)誤的可能性。1.4軟件過(guò)程1.4.2.快速原型模型1.4.2.快速原型模型1.4.3.增量模型1.4

軟件過(guò)程1.4.3.增量模型概念:增量模型也稱為漸增模型。使用增量模型開發(fā)軟件時(shí),把軟件產(chǎn)品作為一系列的增量構(gòu)件來(lái)設(shè)計(jì)、編碼、集成和測(cè)試。每個(gè)構(gòu)件由多個(gè)相互作用的模塊構(gòu)成,并且能夠完成特定的功能。使用增量模型時(shí),第一個(gè)增量構(gòu)件往往實(shí)現(xiàn)軟件的基本需求,提供最核心的功能。增量模型如下圖1.5所示:圖1.5增量模型1.4.3.增量模型優(yōu)點(diǎn):能在較短時(shí)間內(nèi)向用戶提交可完成部分工作的產(chǎn)品。逐步增加產(chǎn)品功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個(gè)全新的軟件可能給客戶組織帶來(lái)的沖擊。1.4

軟件過(guò)程1.4.3.增量模型1.4.3.增量模型1.4

軟件過(guò)程1.4.3.增量模型使用增量模型的困難:在把每個(gè)新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時(shí),必須不破壞原來(lái)已經(jīng)開發(fā)出的產(chǎn)品。必須把軟件的體系結(jié)構(gòu)設(shè)計(jì)得便于按這種方式進(jìn)行擴(kuò)充,向現(xiàn)有產(chǎn)品中加入新構(gòu)件的過(guò)程必須簡(jiǎn)單、方便,也就是說(shuō),軟件體系結(jié)構(gòu)必須是開放的。1.4.3.增量模型1.4

軟件過(guò)程1.4.3.增量模型風(fēng)險(xiǎn)更大的增量模型:1.4.3.增量模型1.4.4螺旋模型1.4

軟件過(guò)程概念:螺旋模型的基本思想是,使用原型及其他方法來(lái)盡量降低風(fēng)險(xiǎn)。理解這種模型的一個(gè)簡(jiǎn)便方法,是把它看作在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過(guò)程的快速原型模型。螺旋模型如下圖所示:1.4.4螺旋模型圖1.7

簡(jiǎn)單得螺旋模型1.4.4螺旋模型圖1.8完整的螺旋模型1.4.4螺旋模型1.4.5.噴泉模型1.4

軟件過(guò)程概念:“噴泉”這個(gè)詞體現(xiàn)了面向?qū)ο筌浖_發(fā)過(guò)程迭代和無(wú)縫的特性。迭代是軟件開發(fā)過(guò)程中普遍存在的一種內(nèi)在屬性。用面向?qū)ο蠓椒▽W(xué)開發(fā)軟件時(shí),工作重點(diǎn)應(yīng)該放在生命周期中的分析階段。噴泉模型圖如下圖1.9所示:1.4.5.噴泉模型

圖中代表不同階段的圓圈相互重疊,這明確表示兩個(gè)活動(dòng)之間存在交迭;

圖中在一個(gè)階段內(nèi)的向下箭頭代表該階段內(nèi)的迭代(或求精)。圖中較小的圓圈代表維護(hù),圓圈較小象征著采用了面向?qū)ο蠓缎椭缶S護(hù)時(shí)間縮短了。1.4.5.噴泉模型1.4

軟件過(guò)程概念:Rational統(tǒng)一過(guò)程(RationalUnifiedProcess,RUP)是由Rational軟件公司推出的一種完整而且完美的軟件過(guò)程。RUP總結(jié)了經(jīng)過(guò)多年商業(yè)化驗(yàn)證的6條最有效的軟件開發(fā)經(jīng)驗(yàn),這些經(jīng)驗(yàn)被稱為“最佳實(shí)踐”。1.4.6.Rational統(tǒng)一過(guò)程1.4.6.Rational統(tǒng)一過(guò)程1.4

軟件過(guò)程a)最佳實(shí)踐迭代式開發(fā)迭代式開發(fā)允許在每次迭代過(guò)程中需求都可以有變化,這種開發(fā)方法通過(guò)一系列細(xì)化來(lái)加深對(duì)問(wèn)題的理解,因此能更容易地容納需求的變更。管理需求RUP描述了如何提取、組織系統(tǒng)的功能性需求和約束條件并把它們文檔化。1.4.6.Rational統(tǒng)一過(guò)程1.4.6.Rational統(tǒng)一過(guò)程1.4

軟件過(guò)程a)最佳實(shí)踐使用基于構(gòu)件的體系結(jié)構(gòu)UP提供了使用現(xiàn)有的或新開發(fā)的構(gòu)件定義體系結(jié)構(gòu)的系統(tǒng)化方法,從而有助于降低軟件開發(fā)的復(fù)雜性,提高軟件重用率??梢暬?梢暬UZ(yǔ)言UML緊密地聯(lián)系在一起,在開發(fā)過(guò)程中建立起軟件系統(tǒng)的可視化模型,可以幫助人們提高管理軟件復(fù)雜性的能力。1.4.6.Rational統(tǒng)一過(guò)程1.4.6.Rational統(tǒng)一過(guò)程1.4

軟件過(guò)程a)最佳實(shí)踐驗(yàn)證軟件質(zhì)量軟件質(zhì)量評(píng)估不再是事后型的或由單獨(dú)小組進(jìn)行的孤立活動(dòng),而是內(nèi)建在貫穿于整個(gè)開發(fā)過(guò)程的、由全體成員參與的所有活動(dòng)中??刂栖浖兏黂UP描述了如何控制、跟蹤和監(jiān)控修改,以確保迭代開發(fā)的成功。1.4.6.Rational統(tǒng)一過(guò)程1.4.6.Rational統(tǒng)一過(guò)程1.4

軟件過(guò)程b)RUP軟件開發(fā)生命周期RUP軟件開發(fā)生命周期是一個(gè)二維的生命周期模型,如下圖1.10所示。圖中縱軸代表核心工作流,橫軸代表時(shí)間。核心工作流RUP中有9個(gè)核心工作流,其中前6個(gè)為核心過(guò)程工作流程,后3個(gè)為核心支持工作流程。1.4.6.Rational統(tǒng)一過(guò)程1.4.6.Rational統(tǒng)一過(guò)程1.4.6.Rational統(tǒng)一過(guò)程1.4

軟件過(guò)程RUP軟件開發(fā)生命周期工作階段RUP把軟件生命周期劃分成4個(gè)連續(xù)的階段。每個(gè)階段都有明確的目標(biāo),并且定義了用來(lái)評(píng)估是否達(dá)到這些目標(biāo)的里程碑。每個(gè)階段的目標(biāo)通過(guò)一次或多次迭代來(lái)完成。下面簡(jiǎn)述4個(gè)階段的工作目標(biāo)。1.4.6.Rational統(tǒng)一過(guò)程1.4.6.Rational統(tǒng)一過(guò)程1.4

軟件過(guò)程初始階段:建立業(yè)務(wù)模型,定義最終產(chǎn)品視圖,并且確定項(xiàng)目的范圍。精化階段:設(shè)計(jì)并確定系統(tǒng)的體系結(jié)構(gòu),制定項(xiàng)目計(jì)劃,確定資源需求。構(gòu)建階段:開發(fā)出所有構(gòu)件和應(yīng)用程序,把它們集成為客戶需要的產(chǎn)品,并且詳盡地測(cè)試所有功能。移交階段:把開發(fā)出的產(chǎn)品提交給用戶使用。1.4.6.Rational統(tǒng)一過(guò)程1.4.6.Rational統(tǒng)一過(guò)程1.4

軟件過(guò)程b)RUP軟件開發(fā)生命周期RUP迭代式開發(fā)RUP重復(fù)一系列組成軟件生命周期的循環(huán)。每次循環(huán)都經(jīng)歷一個(gè)完整的生命周期,每次循環(huán)結(jié)束都向用戶交付產(chǎn)品的一個(gè)可運(yùn)行的版本。每個(gè)階段又進(jìn)一步細(xì)分為一次或多次迭代過(guò)程。1.4.6.Rational統(tǒng)一過(guò)程1.4.6.Rational統(tǒng)一過(guò)程1.4

軟件過(guò)程概念:敏捷過(guò)程為了使軟件開發(fā)團(tuán)隊(duì)具有高效工作和快速響應(yīng)變化的能力,17位著名的軟件專家于2001年2月聯(lián)合起草了敏捷軟件開發(fā)宣言。敏捷軟件開發(fā)宣言由下述4個(gè)簡(jiǎn)單的價(jià)值觀聲明組成。1.4.7.敏捷過(guò)程與極限編程1.4.7.敏捷過(guò)程與極限編程1.4軟件過(guò)程個(gè)體和交互勝過(guò)過(guò)程和工具可以工作的軟件勝過(guò)面面俱到的文檔客戶合作勝過(guò)合同談判響應(yīng)變化勝過(guò)遵循計(jì)劃1.4.7.敏捷過(guò)程與極限編程1.4.7.敏捷過(guò)程與極限編程1.4

軟件過(guò)程極限編程:極限編程(eXtreme

Programming,XP)是敏捷過(guò)程中最富盛名的一個(gè),其名稱中“極限”二字的含義是指把好的開發(fā)實(shí)踐運(yùn)用到極致。目前,極限編程已經(jīng)成為一種典型的開發(fā)方法,廣泛應(yīng)用于需求模糊且經(jīng)常改變的場(chǎng)合。1.4.7.敏捷過(guò)程與極限編程1.4.7.敏捷過(guò)程與極限編程1.4

軟件過(guò)程極限編程的整體開發(fā)過(guò)程1

溫馨提示

  • 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)論