軟件過程模型的優(yōu)缺點對比_第1頁
軟件過程模型的優(yōu)缺點對比_第2頁
軟件過程模型的優(yōu)缺點對比_第3頁
軟件過程模型的優(yōu)缺點對比_第4頁
軟件過程模型的優(yōu)缺點對比_第5頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、軟件過程模型的比較瀑布模型瀑布模型(經(jīng)典生命周期)提出了軟件開發(fā)的系統(tǒng)化的、順序的方法。其流 程從用戶需求規(guī)格說明開始,通過策劃、建模、構(gòu)建和部署的過程,最終提供一 個完整的軟件并提供持續(xù)的技術(shù)支持。優(yōu)點:1. 強調(diào)開發(fā)的階段性,各階段具有順序性和依賴性2. 強調(diào)早期調(diào)研和需求分析,推遲編碼實現(xiàn)的觀點3. 提供了一個摸板,這個摸板使得分析、設計、編碼、測試和支持的方法可以 在該摸板下有一個共同的指導缺點:1. 文檔驅(qū)動,用戶無法及時了解產(chǎn)品的情況2. 依賴早期調(diào)研和需求分析,很難適應在許多項目開始階段必然存在的不確定 性。3. 流程單一,必須要完成前一階段的任務,才能進行下一階段,開發(fā)過程中的

2、 成功經(jīng)驗無法用于本產(chǎn)品。4. 測試在后期引入,對于系統(tǒng)存在的重大缺陷,如果在可執(zhí)行程序評審之前沒 有被發(fā)現(xiàn),將可能造成重大損失。5. 組織龐大,人員閑置。適用范圍:需求確定,工作能夠采用線性的方式完成的軟件。增量過程模型增量過程模型包括增量模型、RAD模型。(一)增量模型 增量過程模型以迭代的方式運用瀑布模型,把軟件產(chǎn)品作為一系列的增量構(gòu)件來設計、編碼、集成和測試。每個構(gòu)件由多個相互作用的模塊構(gòu)成,并且能夠完成特定的功能。使用增量模型時,第一個增量往往是核心功能。優(yōu)點:1. 能在較短的時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品。2. 逐步增加產(chǎn)品功能可以使用戶有充裕的時間學習和適應新產(chǎn)品,從而減少

3、一個 全新的軟件可能給客戶組織帶來的沖擊。3. 規(guī)避技術(shù)風險4. 可并行開發(fā)構(gòu)件,加快開發(fā)的進度缺點:1. 沒有考慮軟件的整體質(zhì)量和長期的可維護性。2. 大部分情況是不合適的操作算法被采用目的為了演示功能,不合適的開發(fā)工 具被采用僅僅為了它的方便,還有不合適的操作系統(tǒng)被選擇等等。3. 由于達不到質(zhì)量要求產(chǎn)品可能被拋棄,而采用新的模型重新設計適用范圍:項目在既定的商業(yè)要求期限之前不可能找到足夠的開發(fā)人員;(二)RAD模型RAD模型是一種側(cè)重于短暫的開發(fā)周期的增量軟件過程模型,它是瀑布模 型的“高速”變體,通過基于構(gòu)建的構(gòu)建方法實現(xiàn)快速開發(fā)。開發(fā)團隊能夠在非 常短的時間內(nèi)創(chuàng)造出“全功能系統(tǒng)”優(yōu)點:

4、1 開發(fā)速度快,質(zhì)量有保證。2 對信息系統(tǒng)特別有效。缺點:1. 對于大型的可伸縮的項目,RAD需要大量的人力資源來創(chuàng)建多個相對的獨立的RAD團隊2. 如果開發(fā)者和用戶沒有為短時間內(nèi)急速完成整個系統(tǒng)做好準備,RAD項目將會失敗。3. 如果一個系統(tǒng)不能合理的模塊化,RAD構(gòu)件建立會有很多問題。4. 如果系統(tǒng)需求是高性能,并且需要通過調(diào)整構(gòu)件接口的方式來提高性能,不 能采用RAD模型5. 技術(shù)風險很高的情況下適用范圍:1、不適合技術(shù)風險很高的開發(fā),不適合系統(tǒng)需求是高性能,并且需 要通過調(diào)整構(gòu)件接口的方式來提高性能的產(chǎn)品開發(fā)。2、適用于工期緊張,又可細分功能,還要有合適的構(gòu)件演化過程模型演化過程模型包

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

6、的公司而言或從來不考慮軟件質(zhì)量和不害怕長期維護的公司而言) 優(yōu)點:1、能讓人(開發(fā)者或客戶)很快見到產(chǎn)品,有成就感。2、能漸進地啟發(fā)客戶提出新的要求或任務。缺點:1、沒有考慮軟件的整體質(zhì)量和長期的可維護性。2、 大部分情況是不合適的操作算法被采用目的為了演示功能,不合適的開發(fā)工 具被采用僅僅為了它的方便,還有不合適的操作系統(tǒng)被選擇等等。3、由于達不到質(zhì)量要求產(chǎn)品可能被拋棄,而采用新的模型重新設計。(二)螺旋模型螺旋模型是一種演進式軟件過程模型,結(jié)合了原型的迭代性質(zhì) 和瀑布模型的系統(tǒng)性和可控性的特點,具有快速開發(fā)越來越完善軟件版本的潛力。開發(fā)步驟:沿螺線自內(nèi)向外,每旋轉(zhuǎn)一圈便開發(fā)出更為完善的一個

7、新的軟件版本。例如,在第一圈,確定了初步的目標、方案和限制條件以后,轉(zhuǎn)入右上象 限,對風險進行識別和分析。如果風險分析表明,需求有不確定性,那么在右下 的工程象限內(nèi),所建的原型會幫助開發(fā)人員和客戶, 考慮其它開發(fā)模型,并對需 求做進一步修正。客戶對工程成果做出評價之后,給出修正建議。在此基礎上需 再次計劃,并進行風險分析。在每一圈螺線上,風險分析的終點做出是否繼續(xù)下 去的判斷。假如風險過大,開發(fā)者和用戶無法承受,項目有可能終止。多數(shù)情況 下沿螺線的活動會繼續(xù)下去,自內(nèi)向外,逐步延伸,最終得到所期望的系統(tǒng)。累計評愉方幕、見險分孟、消除鳳徒號險分可運行劇謫駅丿卿3 原型矍丿點/十一J 乖計確認單元

8、編碼/一;轍收;蟲;/實現(xiàn):測試;實施工程 一T 一產(chǎn)咼 優(yōu)點:1. 強調(diào)風險2. 強調(diào)階段質(zhì)量3. 提供糾錯的機會 缺點:1. 每個階段都要提出被選方案,進行風險分析,研發(fā)周期長,效率低2. 必須要轉(zhuǎn)業(yè)的風險分析人員的參與適用范圍:大型項目(三)協(xié)同開發(fā)模型 協(xié)同開發(fā)模型(協(xié)同工程),可以表示唯一系列的框架活動、 軟件工程動作和任務以及相應的狀態(tài)。適用范圍:所有類型的軟件開發(fā)專用過程模型包括基于構(gòu)件的開發(fā)、形式化方法模型、面向方面的軟件開發(fā)。(一)基于構(gòu)件的開發(fā)基于構(gòu)件的開發(fā)模型具有許多螺旋模型的特點,本質(zhì)上是演化模型,需要以 迭代方式構(gòu)建軟件。不同之處在于,基于構(gòu)件開發(fā)模型采用預先打包的軟

9、件構(gòu)件 開發(fā)程序。開發(fā)過程:對所需構(gòu)件進行評估-考慮構(gòu)件的集成-設計系統(tǒng)的軟件框 架將構(gòu)件放入框架進行測試 優(yōu)點:1構(gòu)件可復用。提高了開發(fā)效率2. 采用了面向?qū)ο蟮募夹g(shù)3. 能夠使軟件復用 缺點:過分依賴于構(gòu)件,構(gòu)件庫的質(zhì)量影響著產(chǎn)品質(zhì)量(二)形式化方法模型 形式化方法模型包含了一組活動,他們導致了計算機軟 件的數(shù)學規(guī)約。形式化方法使得軟件工程師們能夠通過應用一個嚴格的數(shù)學符號體系來規(guī)約、開發(fā)、 和驗證基于計算機的系統(tǒng)。這種方法的一個變種,稱為凈室軟件工程,已經(jīng)被一些組織所采用。在開發(fā)中使用形式化方法時,它們提供了一種機制,能夠消除 使用其它軟件過程模型難以克服的很多問題。 二義性、不完整性、

10、不一致性能被 更容易地發(fā)現(xiàn)和糾正,而不是通過專門的評審,是通過對應用的數(shù)學分析。形式化方法提供了可以產(chǎn)生無缺陷軟件的承諾。優(yōu)點:1、形式化規(guī)約可直接作為程序驗證的基礎,可以盡早的發(fā)現(xiàn)和糾正錯誤(包括 那些其它情況下不能發(fā)現(xiàn)的錯誤)。2、開發(fā)出來的軟件具有很高的安全性和健壯性,特別適合安全部門或者軟件錯 誤會造成經(jīng)濟損失的開發(fā)者。3、能夠開發(fā)出無缺陷軟件。缺點:1、開發(fā)費用昂貴,而且需要的時間較長。2、需要大量的培訓。3、不能將這種模型作為對客戶通信的機制,因為客戶對這些數(shù)學語言一無所知。適用范圍:不適用于技術(shù)水平不高的客戶。(三)面向方面的軟件開發(fā) 將系統(tǒng)分成若干相對較獨立的組成部分,這些部分 稱為方面。優(yōu)點:超越了子程序和繼承的方法。缺點:技術(shù)還不成熟統(tǒng)一過程模型統(tǒng)一過程模型是一種“用例驅(qū)動、以體系結(jié)構(gòu)為核心、迭代及增量”的軟件 過程框架,由UML方法和工具支持。它是一種增量模型,定義了五個階段: a起始階段,包括用戶溝通和計劃活動,強調(diào)定義和細化用例b、細化階段,包括用戶溝通和建模活動,重點是創(chuàng)建分析和設計模型。c、構(gòu)件階段,細化模型設計,并將設計模型轉(zhuǎn)化為軟件構(gòu)件實現(xiàn)d、轉(zhuǎn)化階段,將軟件從開發(fā)人員傳遞給最終用戶, 并由用戶完成beta測試和驗 收測試e、生產(chǎn)階段,持續(xù)地監(jiān)控軟

溫馨提示

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

評論

0/150

提交評論