版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、3.軟件工程的模型介紹軟件過程模型就是一種開發(fā)策略,這種策略針對軟件工程的各個階段 提供了一套范形,使工程的進展達到預期的目的。 對一個軟件的開發(fā) 無論其大小,我們都需要選擇一個合適的軟件過程模型, 這種選擇基 于項目和應用的性質(zhì)、采用的方法、需要的控制,以及要交付的產(chǎn)品 的特點。一個錯誤模型的選擇,將迷失我們的開發(fā)方向。3.1線性順序它有時也稱為傳統(tǒng)生存周期模型或瀑布模型。它提出了軟件開發(fā)的系 統(tǒng)化的、順序的方法。其流程從系統(tǒng)開始,隨后是需求分析、設計、 編碼、測試、支持。這種模型是最早也是應用最廣泛的軟件過程模型 (雖然這種模型會引起“堵賽狀態(tài)”)。缺點:1、實際的項目大部分情況難以按照該
2、模型給出的順序進行,而且這 種模型的迭代是間接的,這很容易由微小的變化而造成大的混亂。2、經(jīng)常情況下客戶難以表達真正的需求,而這種模型卻要求如此, 這種模型是不歡迎具有二義性問題存在的。3、客戶要等到開發(fā)周期的晚期才能看到程序運行的測試版本,而在 這時發(fā)現(xiàn)大的錯誤時,可能引起客戶的驚慌,而后果也可能是災難性 的。4、采用這種線性模型,會經(jīng)常在過程的開始和結束時碰到等待其他 成員完成其所依賴的任務才能進行下去,有可能花在等待的時間比開 發(fā)的時間要長。我們稱之為“堵賽狀態(tài)”。優(yōu)點:1、它提供了一個模板,這個模板使得分析、設計、編碼、測 試和支持的方法可以在該摸板下有一個共同的指導。2、雖然有不少缺
3、陷但比在軟件開發(fā)中隨意的狀態(tài)要好得多。3.2原型實現(xiàn)從需求收集開始,開發(fā)者和客戶在一起定義軟件的總體目標, 標識已 知的需求并且規(guī)劃出需要進一步定義的區(qū)域。然后是“快速設計”,它集中于軟件中那些對客戶可見的部分的表示,這將導致原型的創(chuàng) 建,并由客戶評估并進一步精化待開發(fā)軟件的需求。 逐步調(diào)整原型使 其滿足客戶的需求,這個過程是迭代的。其流程從聽取客戶意見開始、 隨后是建造/修改原型、客戶測試運行原型、然后回頭往復循環(huán)直到 客戶對原型滿意為止。由于這種模型可以讓客戶快速的感受到實際的 系統(tǒng)(雖然這個系統(tǒng)不帶有任何質(zhì)量的保證),所以客戶和開發(fā)者都 比較喜歡這種過程模型(對于那些僅僅用來演示軟件功能
4、的公司而言 或從來不考慮軟件質(zhì)量和不害怕長期維護的公司而言)。缺點:1、 沒有考慮軟件的整體質(zhì)量和長期的可維護性。22、大部分情況是不合適的操作算法被采用目的為了演示功能,不合適的開發(fā)工具被采用僅僅為了它的方便, 還有不合適的操作系統(tǒng)被 選擇等等。3、由于達不到質(zhì)量要求產(chǎn)品可能被拋棄, 而采用新的模型重新設計。 優(yōu)點:1、如果客戶和開發(fā)者達成一致協(xié)議:原型被建造僅為了定義需求,之后就被拋棄或者部分拋棄,那么這種模型很合適了。2、迷惑客戶搶占市場,這是一個首選的模型。3.3快速應用這是一個增量型的軟件開發(fā)過程模型,強調(diào)極短的開發(fā)周期,它是線 性模型的一個“高速”變種,通過使用構件的建造方法贏得了
5、快速開 發(fā)。如果需求理解的好而且約束了項目的范圍, 利用這種模型可以很 快的創(chuàng)建出功能完善的“信息系統(tǒng)”。其流程從業(yè)務建模開始,隨后 是數(shù)據(jù)建模、過程建模、應用生成、測試及反復。RAD過程強調(diào)的是復用,復用已有的或開發(fā)可復用的構件。實際上RAD采用第四代技術。缺點:1、只能用于信息系統(tǒng)。2、 對于較大的項目需要足夠的人力資源去建造足夠的RADS。3、 開發(fā)者和客戶必須在很短的時間完成一系列的需求分析,任何一 方配合不當都會導致RAD項目失敗。4、這種模型對模塊化要求比較高,如果有哪一功能不能被模塊化,那么建造RAD所需要的構件就會有問題 5、技術風險很高的情況下不適合這種模型。優(yōu)點:1、開發(fā)速
6、度快,質(zhì)量有保證。2、對信息系統(tǒng)特別有效。3.4增量這種模型融合了線性順序模型的基本成份和原型實現(xiàn)模型的迭代特征。增量模型采用隨著日程時間的進展而交錯的線性序列。每一個線性序列產(chǎn)生軟件的一個可發(fā)布的“增量”。當使用增量模型時,第一 個增量往往是核心的產(chǎn)品,也就是說第一個增量實現(xiàn)了基本的需求, 但很多補充的特征還沒有發(fā)布。客戶對每一個增量的使用和評估, 都 做為下一個增量發(fā)布的新特征和功能。這個過程在每一個增量發(fā)布后 不斷從復,直到產(chǎn)生了最終的完善產(chǎn)品。增量模型強調(diào)每一個增量均 發(fā)布一個可操作的產(chǎn)品。缺點:1、至始至終開發(fā)者和客戶糾纏在一起,直到完全版本出來。優(yōu)點: 1、人員分配靈活,剛開始不用
7、投入大量人力資源,當核心產(chǎn)品很受 歡迎時,可增加人力實現(xiàn)下一個增量。2、當配備的人員不能在設定的期限內(nèi)完成產(chǎn)品時,它提供了一種先推出核心產(chǎn)品的途徑,這樣就可以先發(fā)布部分功能給客戶, 對客戶起 到鎮(zhèn)靜劑的作用。3、具有一定的市場。3.5螺旋這是一個演化軟件過程模型,它將原型實現(xiàn)的迭代特征和線性順序模 型中控制的和系統(tǒng)化的方面結合起來。使得軟件的增量版本的快速開 發(fā)成為可能。在螺旋模型中,軟件開發(fā)是一系列的增量發(fā)布。在每一 個迭代中,被開發(fā)系統(tǒng)的更加完善的版本逐步產(chǎn)生。 螺旋模型被劃分 為若干框架活動,也稱為任務區(qū)域。典型地,有 3到6個任務區(qū)域:1、客戶交流:建立開發(fā)者和客戶之間有效通信所需要的
8、任務。2、計劃:定義資源、進度、及其它相關項目信息所需要的任務。3、風險分析:評估技術的及管理的風險所需要的任務。4、工程:建立應用的一個或多個表示說需要的任務。5、構造及發(fā)布:構造、測試、安裝和提供用戶支持所需要的任務。6、客戶評估:基于對在工程階段產(chǎn)生的或在安裝階段實現(xiàn)的軟件表 示的評估,獲得客戶反饋所需要的任務。 這是一個相對較新的模型,它的功效還需要經(jīng)歷若干年的使用方能確 定下來。缺點:1、需要相當?shù)娘L險分析評估的專門技術,且成功依賴于這種技術。2、很明顯一個大的沒有被發(fā)現(xiàn)的風險問題,將會導致問題的發(fā)生, 可能導致演化的方法失去控制。3、這種模型相對比較新,應用不廣泛,其功效需要進一步
9、的驗證。優(yōu)點:1、對于大型系統(tǒng)及軟件的開發(fā),這種模型是一個很好的方法。開發(fā) 者和客戶能夠較好地對待和理解每一個演化級別上的風險。螺旋模型提出了強調(diào)客戶交流的一個框架活動。 該活動的目標是從客 戶處誘導項目需求。在理想情況下,開發(fā)者簡單地詢問客戶需要什么, 而客戶提供足夠的細節(jié)進行下去。 不幸的是這種情形很少發(fā)生。在現(xiàn) 實中,客戶和開發(fā)者進入一個談判過程,客戶被要求在成本和應市之 間的約束下平衡功能、性能、和其它產(chǎn)品或系統(tǒng)特征。最好的談判追 求“雙贏”結果,也就是說通過談判客戶獲得大部份系統(tǒng)的功能,而 開發(fā)者則獲得現(xiàn)實的和可達到的預算和時限。對客戶的交流定義了下 面的活動:1、系統(tǒng)或子系統(tǒng)的關鍵
10、“風險承擔者”的標識。2、風險承擔者的“贏條件”的確定。3、風險承擔者的贏條件談判,以將它們協(xié)調(diào)為一組滿足各方考慮的 雙贏條件。缺點:1、需要額外的談判技巧。優(yōu)點:1、客戶和開發(fā)者達到一種平衡。3.6并發(fā)任務這種模型關注于多個任務的并發(fā)執(zhí)行,表示為一系列的主要技術活動、任務及它們的相關狀態(tài)。并發(fā)過程模型是由客戶要求、管理決策、 評審結果驅(qū)動的。該模型不是將軟件工程活動限定為一個順序的事件 序列,而是定義了一個活動網(wǎng)絡。網(wǎng)絡上的每一個活動均可于其它活 動同時發(fā)生。這種模型可以提供一個項目的當前狀態(tài)的準確視圖。缺點:暫時無優(yōu)點:1、可用于所有類型的軟件開發(fā),而對于客戶/服務器結構更加有效。2、可以
11、隨時查閱到開發(fā)的狀態(tài)。3.7構件開發(fā)面向?qū)ο蟮募夹g為軟件工程的基于構件的過程模型提供了技術框架。 面向?qū)ο竽P蛷娬{(diào)了類的創(chuàng)建、 類的封裝了的數(shù)據(jù)、操縱該數(shù)據(jù)的算 法。一般來講經(jīng)過合適的設計和實現(xiàn), 面向?qū)ο蟮念惪梢栽诓煌膽?用及基于計算機的系統(tǒng)的體系結構中復用。基于構件的開發(fā)模型融合 了螺旋模型的許多特征,它本質(zhì)上是演化形的,要求軟件創(chuàng)建的迭代 方法。然而基于構件的開發(fā)模型是利用預先包裝好的軟件構件(有時成為類)來構造應用。開發(fā)活動從候選類的標識開始,這一步是通過檢查將被應用系統(tǒng)操縱 的數(shù)據(jù)及用于實現(xiàn)該操縱的算法來完成的。 相關的數(shù)據(jù)和算法被封裝 成一個類。缺點:1、過分依賴于構件,構件庫的
12、質(zhì)量影響著產(chǎn)品質(zhì)量。優(yōu)點:1、構件可復用。提高了開發(fā)效率。2、采用了面向?qū)ο蟮募夹g。3.8形式化形式化方法模型包含了一組活動,他們導致了計算機軟件的數(shù)學規(guī) 約。形式化方法使得軟件工程師們能夠通過應用一個嚴格的數(shù)學符號 體系來規(guī)約、開發(fā)、和驗證基于計算機的系統(tǒng)。這種方法的一個變種,稱為凈室軟件工程,已經(jīng)被一些組織所采用。在開發(fā)中使用形式 化方法時,它們提供了一種機制,能夠消除使用其它軟件過程模型難 以克服的很多問題。二義性、不完整性、不一致性能被更容易地發(fā)現(xiàn) 和糾正,而不是通過專門的評審,是通過對應用的數(shù)學分析。形式化方法提供了可以產(chǎn)生無缺陷軟件的承諾。缺點:1、開發(fā)費用昂貴(對開發(fā)人員需要多方
13、面的培訓),而且需要的時間 較長。2、不能將這種模型作為對客戶通信的機制,因為客戶對這些數(shù)學語 言一無所知。3、還不流行。優(yōu)點:1、形式化規(guī)約可直接作為程序驗證的基礎,可以盡早的發(fā)現(xiàn)和糾正 錯誤(包括那些其它情況下不能發(fā)現(xiàn)的錯誤)。2、開發(fā)出來的軟件具有很高的安全性和健壯性,特別適合安全部門 或者軟件錯誤會造成經(jīng)濟損失的開發(fā)者。3、具有開發(fā)無缺陷軟件的承諾。3.9 4GT一系列的軟件工具的使用,是第四代技術的特點。這些工具有一個共 同的特點:能夠使軟件工程師們在較高級別上規(guī)約軟件的某些特征, 然后根據(jù)開發(fā)者的規(guī)約自動生成源代碼。 我們知道,軟件在越高的級 別上被規(guī)約,就越能被快速的建造出程序。軟件工程的4GT模型集中于規(guī)約軟件的能力:使用特殊的語言形式或一種采用客 戶可以理解的術語描述待解決問題的圖形符號體系。和其它模型一 樣,4GT也是從需求收集這一步開始的,要將一個 4GT實現(xiàn)變成最終 產(chǎn)品,開發(fā)者還必須進行徹底的測試、開發(fā)有意義的文檔,并且同樣 要完成其它模型中同樣要求的所有集成活動。總而言之,4GT已經(jīng)成為軟件工程的一個重要方法。特別是和基于構件的開發(fā)模型結合起來 時,4G
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度酒店會議及豪華住宿體驗合同
- 2025年度股票委托交易與金融科技企業(yè)合作合同
- 二零二五年度診所與高校醫(yī)院合作教學合同
- 應急培訓說明會
- 店長管理基礎知識培訓
- 學校電工工作計劃
- 主管工作匯報模板
- 2025最專業(yè)勞動合同范本
- 2025公證授權合同范本
- 2025期房轉讓合同范文
- 廣東省惠州市2024-2025學年高一上學期期末考試英語試題(含答案)
- 醫(yī)院骨科2025年帶教計劃(2篇)
- 環(huán)境保護應急管理制度執(zhí)行細則
- 2024-2030年中國通航飛行服務站(FSS)行業(yè)發(fā)展模式規(guī)劃分析報告
- 機械制造企業(yè)風險分級管控手冊
- 地系梁工程施工方案
- 藏文基礎-教你輕輕松松學藏語(西藏大學)知到智慧樹章節(jié)答案
- 2024電子商務平臺用戶隱私保護協(xié)議3篇
- 安徽省蕪湖市2023-2024學年高一上學期期末考試 英語 含答案
- 醫(yī)學教程 常見體表腫瘤與腫塊課件
- 內(nèi)分泌系統(tǒng)異常與虛勞病關系
評論
0/150
提交評論