軟件過(guò)程模型介紹_第1頁(yè)
軟件過(guò)程模型介紹_第2頁(yè)
軟件過(guò)程模型介紹_第3頁(yè)
軟件過(guò)程模型介紹_第4頁(yè)
軟件過(guò)程模型介紹_第5頁(yè)
已閱讀5頁(yè),還剩6頁(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)介

1、3.軟件工程的模型介紹軟件過(guò)程模型就是一種開(kāi)發(fā)策略,這種策略針對(duì)軟件工程的各個(gè)階段 提供了一套范形,使工程的進(jìn)展達(dá)到預(yù)期的目的。 對(duì)一個(gè)軟件的開(kāi)發(fā) 無(wú)論其大小,我們都需要選擇一個(gè)合適的軟件過(guò)程模型, 這種選擇基 于項(xiàng)目和應(yīng)用的性質(zhì)、采用的方法、需要的控制,以及要交付的產(chǎn)品 的特點(diǎn)。一個(gè)錯(cuò)誤模型的選擇,將迷失我們的開(kāi)發(fā)方向。3.1線性順序它有時(shí)也稱為傳統(tǒng)生存周期模型或瀑布模型。它提出了軟件開(kāi)發(fā)的系 統(tǒng)化的、順序的方法。其流程從系統(tǒng)開(kāi)始,隨后是需求分析、設(shè)計(jì)、 編碼、測(cè)試、支持。這種模型是最早也是應(yīng)用最廣泛的軟件過(guò)程模型 (雖然這種模型會(huì)引起“堵賽狀態(tài)”)。缺點(diǎn):1、實(shí)際的項(xiàng)目大部分情況難以按照該

2、模型給出的順序進(jìn)行,而且這 種模型的迭代是間接的,這很容易由微小的變化而造成大的混亂。2、經(jīng)常情況下客戶難以表達(dá)真正的需求,而這種模型卻要求如此, 這種模型是不歡迎具有二義性問(wèn)題存在的。3、客戶要等到開(kāi)發(fā)周期的晚期才能看到程序運(yùn)行的測(cè)試版本,而在 這時(shí)發(fā)現(xiàn)大的錯(cuò)誤時(shí),可能引起客戶的驚慌,而后果也可能是災(zāi)難性 的。4、采用這種線性模型,會(huì)經(jīng)常在過(guò)程的開(kāi)始和結(jié)束時(shí)碰到等待其他 成員完成其所依賴的任務(wù)才能進(jìn)行下去,有可能花在等待的時(shí)間比開(kāi) 發(fā)的時(shí)間要長(zhǎng)。我們稱之為“堵賽狀態(tài)”。優(yōu)點(diǎn):1、它提供了一個(gè)模板,這個(gè)模板使得分析、設(shè)計(jì)、編碼、測(cè) 試和支持的方法可以在該摸板下有一個(gè)共同的指導(dǎo)。2、雖然有不少缺

3、陷但比在軟件開(kāi)發(fā)中隨意的狀態(tài)要好得多。3.2原型實(shí)現(xiàn)從需求收集開(kāi)始,開(kāi)發(fā)者和客戶在一起定義軟件的總體目標(biāo), 標(biāo)識(shí)已 知的需求并且規(guī)劃出需要進(jìn)一步定義的區(qū)域。然后是“快速設(shè)計(jì)”,它集中于軟件中那些對(duì)客戶可見(jiàn)的部分的表示,這將導(dǎo)致原型的創(chuàng) 建,并由客戶評(píng)估并進(jìn)一步精化待開(kāi)發(fā)軟件的需求。 逐步調(diào)整原型使 其滿足客戶的需求,這個(gè)過(guò)程是迭代的。其流程從聽(tīng)取客戶意見(jiàn)開(kāi)始、 隨后是建造/修改原型、客戶測(cè)試運(yùn)行原型、然后回頭往復(fù)循環(huán)直到 客戶對(duì)原型滿意為止。由于這種模型可以讓客戶快速的感受到實(shí)際的 系統(tǒng)(雖然這個(gè)系統(tǒng)不帶有任何質(zhì)量的保證),所以客戶和開(kāi)發(fā)者都 比較喜歡這種過(guò)程模型(對(duì)于那些僅僅用來(lái)演示軟件功能

4、的公司而言 或從來(lái)不考慮軟件質(zhì)量和不害怕長(zhǎng)期維護(hù)的公司而言)。缺點(diǎn):1、 沒(méi)有考慮軟件的整體質(zhì)量和長(zhǎng)期的可維護(hù)性。22、大部分情況是不合適的操作算法被采用目的為了演示功能,不合適的開(kāi)發(fā)工具被采用僅僅為了它的方便, 還有不合適的操作系統(tǒng)被 選擇等等。3、由于達(dá)不到質(zhì)量要求產(chǎn)品可能被拋棄, 而采用新的模型重新設(shè)計(jì)。 優(yōu)點(diǎn):1、如果客戶和開(kāi)發(fā)者達(dá)成一致協(xié)議:原型被建造僅為了定義需求,之后就被拋棄或者部分拋棄,那么這種模型很合適了。2、迷惑客戶搶占市場(chǎng),這是一個(gè)首選的模型。3.3快速應(yīng)用這是一個(gè)增量型的軟件開(kāi)發(fā)過(guò)程模型,強(qiáng)調(diào)極短的開(kāi)發(fā)周期,它是線 性模型的一個(gè)“高速”變種,通過(guò)使用構(gòu)件的建造方法贏得了

5、快速開(kāi) 發(fā)。如果需求理解的好而且約束了項(xiàng)目的范圍, 利用這種模型可以很 快的創(chuàng)建出功能完善的“信息系統(tǒng)”。其流程從業(yè)務(wù)建模開(kāi)始,隨后 是數(shù)據(jù)建模、過(guò)程建模、應(yīng)用生成、測(cè)試及反復(fù)。RAD過(guò)程強(qiáng)調(diào)的是復(fù)用,復(fù)用已有的或開(kāi)發(fā)可復(fù)用的構(gòu)件。實(shí)際上RAD采用第四代技術(shù)。缺點(diǎn):1、只能用于信息系統(tǒng)。2、 對(duì)于較大的項(xiàng)目需要足夠的人力資源去建造足夠的RADS。3、 開(kāi)發(fā)者和客戶必須在很短的時(shí)間完成一系列的需求分析,任何一 方配合不當(dāng)都會(huì)導(dǎo)致RAD項(xiàng)目失敗。4、這種模型對(duì)模塊化要求比較高,如果有哪一功能不能被模塊化,那么建造RAD所需要的構(gòu)件就會(huì)有問(wèn)題 5、技術(shù)風(fēng)險(xiǎn)很高的情況下不適合這種模型。優(yōu)點(diǎn):1、開(kāi)發(fā)速

6、度快,質(zhì)量有保證。2、對(duì)信息系統(tǒng)特別有效。3.4增量這種模型融合了線性順序模型的基本成份和原型實(shí)現(xiàn)模型的迭代特征。增量模型采用隨著日程時(shí)間的進(jìn)展而交錯(cuò)的線性序列。每一個(gè)線性序列產(chǎn)生軟件的一個(gè)可發(fā)布的“增量”。當(dāng)使用增量模型時(shí),第一 個(gè)增量往往是核心的產(chǎn)品,也就是說(shuō)第一個(gè)增量實(shí)現(xiàn)了基本的需求, 但很多補(bǔ)充的特征還沒(méi)有發(fā)布??蛻魧?duì)每一個(gè)增量的使用和評(píng)估, 都 做為下一個(gè)增量發(fā)布的新特征和功能。這個(gè)過(guò)程在每一個(gè)增量發(fā)布后 不斷從復(fù),直到產(chǎn)生了最終的完善產(chǎn)品。增量模型強(qiáng)調(diào)每一個(gè)增量均 發(fā)布一個(gè)可操作的產(chǎn)品。缺點(diǎn):1、至始至終開(kāi)發(fā)者和客戶糾纏在一起,直到完全版本出來(lái)。優(yōu)點(diǎn): 1、人員分配靈活,剛開(kāi)始不用

7、投入大量人力資源,當(dāng)核心產(chǎn)品很受 歡迎時(shí),可增加人力實(shí)現(xiàn)下一個(gè)增量。2、當(dāng)配備的人員不能在設(shè)定的期限內(nèi)完成產(chǎn)品時(shí),它提供了一種先推出核心產(chǎn)品的途徑,這樣就可以先發(fā)布部分功能給客戶, 對(duì)客戶起 到鎮(zhèn)靜劑的作用。3、具有一定的市場(chǎng)。3.5螺旋這是一個(gè)演化軟件過(guò)程模型,它將原型實(shí)現(xiàn)的迭代特征和線性順序模 型中控制的和系統(tǒng)化的方面結(jié)合起來(lái)。使得軟件的增量版本的快速開(kāi) 發(fā)成為可能。在螺旋模型中,軟件開(kāi)發(fā)是一系列的增量發(fā)布。在每一 個(gè)迭代中,被開(kāi)發(fā)系統(tǒng)的更加完善的版本逐步產(chǎn)生。 螺旋模型被劃分 為若干框架活動(dòng),也稱為任務(wù)區(qū)域。典型地,有 3到6個(gè)任務(wù)區(qū)域:1、客戶交流:建立開(kāi)發(fā)者和客戶之間有效通信所需要的

8、任務(wù)。2、計(jì)劃:定義資源、進(jìn)度、及其它相關(guān)項(xiàng)目信息所需要的任務(wù)。3、風(fēng)險(xiǎn)分析:評(píng)估技術(shù)的及管理的風(fēng)險(xiǎn)所需要的任務(wù)。4、工程:建立應(yīng)用的一個(gè)或多個(gè)表示說(shuō)需要的任務(wù)。5、構(gòu)造及發(fā)布:構(gòu)造、測(cè)試、安裝和提供用戶支持所需要的任務(wù)。6、客戶評(píng)估:基于對(duì)在工程階段產(chǎn)生的或在安裝階段實(shí)現(xiàn)的軟件表 示的評(píng)估,獲得客戶反饋所需要的任務(wù)。 這是一個(gè)相對(duì)較新的模型,它的功效還需要經(jīng)歷若干年的使用方能確 定下來(lái)。缺點(diǎn):1、需要相當(dāng)?shù)娘L(fēng)險(xiǎn)分析評(píng)估的專門(mén)技術(shù),且成功依賴于這種技術(shù)。2、很明顯一個(gè)大的沒(méi)有被發(fā)現(xiàn)的風(fēng)險(xiǎn)問(wèn)題,將會(huì)導(dǎo)致問(wèn)題的發(fā)生, 可能導(dǎo)致演化的方法失去控制。3、這種模型相對(duì)比較新,應(yīng)用不廣泛,其功效需要進(jìn)一步

9、的驗(yàn)證。優(yōu)點(diǎn):1、對(duì)于大型系統(tǒng)及軟件的開(kāi)發(fā),這種模型是一個(gè)很好的方法。開(kāi)發(fā) 者和客戶能夠較好地對(duì)待和理解每一個(gè)演化級(jí)別上的風(fēng)險(xiǎn)。螺旋模型提出了強(qiáng)調(diào)客戶交流的一個(gè)框架活動(dòng)。 該活動(dòng)的目標(biāo)是從客 戶處誘導(dǎo)項(xiàng)目需求。在理想情況下,開(kāi)發(fā)者簡(jiǎn)單地詢問(wèn)客戶需要什么, 而客戶提供足夠的細(xì)節(jié)進(jìn)行下去。 不幸的是這種情形很少發(fā)生。在現(xiàn) 實(shí)中,客戶和開(kāi)發(fā)者進(jìn)入一個(gè)談判過(guò)程,客戶被要求在成本和應(yīng)市之 間的約束下平衡功能、性能、和其它產(chǎn)品或系統(tǒng)特征。最好的談判追 求“雙贏”結(jié)果,也就是說(shuō)通過(guò)談判客戶獲得大部份系統(tǒng)的功能,而 開(kāi)發(fā)者則獲得現(xiàn)實(shí)的和可達(dá)到的預(yù)算和時(shí)限。對(duì)客戶的交流定義了下 面的活動(dòng):1、系統(tǒng)或子系統(tǒng)的關(guān)鍵

10、“風(fēng)險(xiǎn)承擔(dān)者”的標(biāo)識(shí)。2、風(fēng)險(xiǎn)承擔(dān)者的“贏條件”的確定。3、風(fēng)險(xiǎn)承擔(dān)者的贏條件談判,以將它們協(xié)調(diào)為一組滿足各方考慮的 雙贏條件。缺點(diǎn):1、需要額外的談判技巧。優(yōu)點(diǎn):1、客戶和開(kāi)發(fā)者達(dá)到一種平衡。3.6并發(fā)任務(wù)這種模型關(guān)注于多個(gè)任務(wù)的并發(fā)執(zhí)行,表示為一系列的主要技術(shù)活動(dòng)、任務(wù)及它們的相關(guān)狀態(tài)。并發(fā)過(guò)程模型是由客戶要求、管理決策、 評(píng)審結(jié)果驅(qū)動(dòng)的。該模型不是將軟件工程活動(dòng)限定為一個(gè)順序的事件 序列,而是定義了一個(gè)活動(dòng)網(wǎng)絡(luò)。網(wǎng)絡(luò)上的每一個(gè)活動(dòng)均可于其它活 動(dòng)同時(shí)發(fā)生。這種模型可以提供一個(gè)項(xiàng)目的當(dāng)前狀態(tài)的準(zhǔn)確視圖。缺點(diǎn):暫時(shí)無(wú)優(yōu)點(diǎn):1、可用于所有類型的軟件開(kāi)發(fā),而對(duì)于客戶/服務(wù)器結(jié)構(gòu)更加有效。2、可以

11、隨時(shí)查閱到開(kāi)發(fā)的狀態(tài)。3.7構(gòu)件開(kāi)發(fā)面向?qū)ο蟮募夹g(shù)為軟件工程的基于構(gòu)件的過(guò)程模型提供了技術(shù)框架。 面向?qū)ο竽P蛷?qiáng)調(diào)了類的創(chuàng)建、 類的封裝了的數(shù)據(jù)、操縱該數(shù)據(jù)的算 法。一般來(lái)講經(jīng)過(guò)合適的設(shè)計(jì)和實(shí)現(xiàn), 面向?qū)ο蟮念惪梢栽诓煌膽?yīng) 用及基于計(jì)算機(jī)的系統(tǒng)的體系結(jié)構(gòu)中復(fù)用?;跇?gòu)件的開(kāi)發(fā)模型融合 了螺旋模型的許多特征,它本質(zhì)上是演化形的,要求軟件創(chuàng)建的迭代 方法。然而基于構(gòu)件的開(kāi)發(fā)模型是利用預(yù)先包裝好的軟件構(gòu)件(有時(shí)成為類)來(lái)構(gòu)造應(yīng)用。開(kāi)發(fā)活動(dòng)從候選類的標(biāo)識(shí)開(kāi)始,這一步是通過(guò)檢查將被應(yīng)用系統(tǒng)操縱 的數(shù)據(jù)及用于實(shí)現(xiàn)該操縱的算法來(lái)完成的。 相關(guān)的數(shù)據(jù)和算法被封裝 成一個(gè)類。缺點(diǎn):1、過(guò)分依賴于構(gòu)件,構(gòu)件庫(kù)的

12、質(zhì)量影響著產(chǎn)品質(zhì)量。優(yōu)點(diǎn):1、構(gòu)件可復(fù)用。提高了開(kāi)發(fā)效率。2、采用了面向?qū)ο蟮募夹g(shù)。3.8形式化形式化方法模型包含了一組活動(dòng),他們導(dǎo)致了計(jì)算機(jī)軟件的數(shù)學(xué)規(guī) 約。形式化方法使得軟件工程師們能夠通過(guò)應(yīng)用一個(gè)嚴(yán)格的數(shù)學(xué)符號(hào) 體系來(lái)規(guī)約、開(kāi)發(fā)、和驗(yàn)證基于計(jì)算機(jī)的系統(tǒng)。這種方法的一個(gè)變種,稱為凈室軟件工程,已經(jīng)被一些組織所采用。在開(kāi)發(fā)中使用形式 化方法時(shí),它們提供了一種機(jī)制,能夠消除使用其它軟件過(guò)程模型難 以克服的很多問(wèn)題。二義性、不完整性、不一致性能被更容易地發(fā)現(xiàn) 和糾正,而不是通過(guò)專門(mén)的評(píng)審,是通過(guò)對(duì)應(yīng)用的數(shù)學(xué)分析。形式化方法提供了可以產(chǎn)生無(wú)缺陷軟件的承諾。缺點(diǎn):1、開(kāi)發(fā)費(fèi)用昂貴(對(duì)開(kāi)發(fā)人員需要多方

13、面的培訓(xùn)),而且需要的時(shí)間 較長(zhǎng)。2、不能將這種模型作為對(duì)客戶通信的機(jī)制,因?yàn)榭蛻魧?duì)這些數(shù)學(xué)語(yǔ) 言一無(wú)所知。3、還不流行。優(yōu)點(diǎn):1、形式化規(guī)約可直接作為程序驗(yàn)證的基礎(chǔ),可以盡早的發(fā)現(xiàn)和糾正 錯(cuò)誤(包括那些其它情況下不能發(fā)現(xiàn)的錯(cuò)誤)。2、開(kāi)發(fā)出來(lái)的軟件具有很高的安全性和健壯性,特別適合安全部門(mén) 或者軟件錯(cuò)誤會(huì)造成經(jīng)濟(jì)損失的開(kāi)發(fā)者。3、具有開(kāi)發(fā)無(wú)缺陷軟件的承諾。3.9 4GT一系列的軟件工具的使用,是第四代技術(shù)的特點(diǎn)。這些工具有一個(gè)共 同的特點(diǎn):能夠使軟件工程師們?cè)谳^高級(jí)別上規(guī)約軟件的某些特征, 然后根據(jù)開(kāi)發(fā)者的規(guī)約自動(dòng)生成源代碼。 我們知道,軟件在越高的級(jí) 別上被規(guī)約,就越能被快速的建造出程序。軟件工程的4GT模型集中于規(guī)約軟件的能力:使用特殊的語(yǔ)言形式或一種采用客 戶可以理解的術(shù)語(yǔ)描述待解決問(wèn)題的圖形符號(hào)體系。和其它模型一 樣,4GT也是從需求收集這一步開(kāi)始的,要將一個(gè) 4GT實(shí)現(xiàn)變成最終 產(chǎn)品,開(kāi)發(fā)者還必須進(jìn)行徹底的測(cè)試、開(kāi)發(fā)有意義的文檔,并且同樣 要完成其它模型中同樣要求的所有集成活動(dòng)。總而言之,4GT已經(jīng)成為軟件工程的一個(gè)重要方法。特別是和基于構(gòu)件的開(kāi)發(fā)模型結(jié)合起來(lái) 時(shí),4G

溫馨提示

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