第2章-軟件過程剖析課件_第1頁
第2章-軟件過程剖析課件_第2頁
第2章-軟件過程剖析課件_第3頁
第2章-軟件過程剖析課件_第4頁
第2章-軟件過程剖析課件_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2.1軟件生命周期的基本任務2.2瀑布模型2.3快速原型模型2.4增量模型2.5螺旋模型2.6噴泉模型2.7Rational統(tǒng)一過程2.8敏捷過程與極限編程2.9能力成熟度模型第2章軟件過程軟件過程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟。過程定義了:運用方法的順序應該交付的文檔資料為保證軟件質(zhì)量和協(xié)調(diào)變化所需要采取的管理措施以及標志軟件開發(fā)各個階段任務完成的里程碑2.1軟件生命周期的基本任務三個時期:八個階段:軟件生命周期軟件定義軟件開發(fā)軟件維護問題定義可行性研究需求分析概要設計詳細設計編碼和單元測試綜合測試運行維護系統(tǒng)設計系統(tǒng)實現(xiàn)1.問題定義任務:問題是什么通過對客戶的訪問調(diào)查,系統(tǒng)分析員扼要地寫出關(guān)于問題性質(zhì)、工程目標和工程規(guī)模的書面報告。經(jīng)過討論和必要的修改之后這份報告應該得到客戶的確認。結(jié)果:關(guān)于系統(tǒng)規(guī)模和目標的報告書2.可行性研究任務:有可行的解嗎系統(tǒng)分析員需要進行一次大大壓縮和簡化了的系統(tǒng)分析和設計過程。研究問題的范圍,探索這個問題是否值得去解,是否有可行的解決辦法。結(jié)果:系統(tǒng)的高層邏輯模型(數(shù)據(jù)流圖、成本效益分析)可行性論證報告(立即進行/推遲進行/不能或不值得進行)3.需求分析任務:必須做什么主要是確定目標系統(tǒng)必須具備哪些功能。系統(tǒng)分析員必須和用戶密切配合,充分交流信息,以得出經(jīng)過用戶確認的系統(tǒng)邏輯模型。結(jié)果:系統(tǒng)的邏輯模型(數(shù)據(jù)流圖、數(shù)據(jù)字典、簡要的算法描述)用規(guī)格說明書準確地記錄對目標系統(tǒng)的需求4.總體設計任務:如何解決已提出的問題設計出實現(xiàn)目標系統(tǒng)的幾種可能的方案(低、中、高成本)。用適當?shù)谋磉_工具描述每種方案,分析其優(yōu)缺點,推薦一個最佳方案,制定出實現(xiàn)最佳方案的詳細計劃。設計程序的體系結(jié)構(gòu)。結(jié)果:可能的解法(系統(tǒng)流程圖、成本效益分析)推薦的系統(tǒng)體系結(jié)構(gòu)(層次圖或結(jié)構(gòu)圖)5.詳細設計任務:怎樣具體實現(xiàn)該系統(tǒng)詳細地設計每個模塊,確定實現(xiàn)模塊功能所需要的算法和數(shù)據(jù)結(jié)構(gòu)。結(jié)果:每個模塊的算法和數(shù)據(jù)結(jié)構(gòu)(程序流程圖、PAD圖、N-S圖等)。6.編碼和單元測試任務:得到正確的程序模塊選取一種適當?shù)母呒壋绦蛟O計語言(必要時用匯編語言),把詳細設計的結(jié)果翻譯成用選定的語言書寫的程序;并且仔細測試編寫出的每一個模塊。結(jié)果:代碼和測試報告7.綜合測試任務:得到符合要求的軟件通過集成測試、驗收測試、現(xiàn)場測試、平行運行等方法對目標系統(tǒng)進一步測試檢驗。通過對軟件測試結(jié)果的分析可以預測軟件的可靠性;反之,根據(jù)對軟件可靠性的要求,也可以決定測試和調(diào)試過程什么時候可以結(jié)束。結(jié)果:測試計劃、詳細測試方案以及實際測試結(jié)果完整一致的軟件配置8.軟件維護任務:使系統(tǒng)持久地滿足用戶的需要改正性維護,診斷和改正在使用過程中發(fā)現(xiàn)的軟件錯誤;適應性維護,修改軟件以適應環(huán)境的變化;完善性維護,根據(jù)用戶的要求改進或擴充軟件;預防性維護,修改軟件為將來的維護活動做準備。每一項維護活動實質(zhì)上是經(jīng)歷了一次壓縮和簡化了的軟件定義和開發(fā)的全過程。結(jié)果:完整準確的維護記錄各類維護工作量所占比例維護工作量在軟件生命周期所占比例傳統(tǒng)的瀑布模型實際的瀑布模型2.2瀑布模型瀑布模型的特點:階段間具有順序性和依賴性前一階段的工作完成之后,才能開始后一階段的工作;前一階段的輸出文檔就是后一階段的輸入文檔。推遲實現(xiàn)的觀點對于規(guī)模較大的軟件項目來說,往往編碼開始得越早最終完成開發(fā)工作所需要的時間反而越長。質(zhì)量保證的觀點每個階段都必須完成規(guī)定的文檔,是“文檔驅(qū)動”的模型;每個階段結(jié)束前都要對所完成的文檔進行評審,盡早發(fā)現(xiàn)問題,改正錯誤。瀑布模型的優(yōu)點:可強迫開發(fā)人員采用規(guī)范的方法;嚴格地規(guī)定了每個階段必須提交的文檔;要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證。瀑布模型的缺點:只能通過文檔了解產(chǎn)品,不經(jīng)過實踐的需求是不切實際的。瀑布模型適用于:需求是預知的;軟件實現(xiàn)方法是成熟的;項目周期較短。快速原型模型2.3快速原型模型快速原型:是快速建立起來的可以在計算機上運行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個子集??焖僭湍P偷奶攸c:快速原型模型不帶反饋環(huán),軟件產(chǎn)品的開發(fā)基本上是線性順序進行的??焖僭偷谋举|(zhì)是“快速”。應該盡可能快地建造出原型系統(tǒng),以加速軟件開發(fā)過程,節(jié)約成本。根據(jù)原型的不同作用,有三類原型模型:探索型原型——用于開發(fā)的需求分析階段實驗型原型——主要用于設計階段演化型原型——用于及早向用戶提交一個原型系統(tǒng)快速原型模型的運用方式:拋棄策略——探索型和實驗型采用此策略附加策略——演化型快速原型采用此策略2.4增量模型增量模型把軟件產(chǎn)品作為一系列的增量構(gòu)件來設計、編碼、集成和測試。每個構(gòu)件由多個相互作用的模塊構(gòu)成,并且能夠完成特定的功能。第一個增量構(gòu)件:提供最核心的功能;第二個增量構(gòu)件:提供更完善的功能;第三個增量構(gòu)件:實現(xiàn)附加的功能;第四個增量構(gòu)件:完成更高級的功能。增量模型項目日歷時間軟件功能性和特征12345第2次增量發(fā)布增量212345第n次增量發(fā)布增量n12345第1次增量發(fā)布增量1┇5部署(發(fā)布,反饋)4構(gòu)造(編碼,測試)3建模(分析,設計)2計劃1交流增量模型的優(yōu)點:人員分配靈活,剛開始不用投入大量人力資源。當配備的人員不能在設定的期限內(nèi)完成產(chǎn)品時,它提供了一種先推出核心產(chǎn)品的途徑。逐步增加產(chǎn)品功能可以使用戶有較充裕的時間學習和適應新產(chǎn)品。增量模型適用于:適用于需求經(jīng)常改變的軟件開發(fā)過程。如果在項目既定的商業(yè)要求期限之前不可能找到足夠的開發(fā)人員,在這種情況下,增量模型顯得特別有用。2.5螺旋模型螺旋模型的基本思想:使用原型及其他方法來盡量降低風險。把它看作在每個階段之前都增加了風險分析過程的快速原型模型。簡化的螺旋模型完整的螺旋模型決定目標、方案和限制評價方案識別風險弱化風險

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

計劃下一階段集成測試螺旋模型的優(yōu)點:主要優(yōu)勢在于它是風險驅(qū)動的。對可選方案和約束條件的強調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個重要目標;減少了過多測試或測試不足所帶來的風險;維護只是模型的另一個周期,維護和開發(fā)之間沒有本質(zhì)區(qū)別。螺旋模型的缺點:采用螺旋模型需要具有相當豐富的風險評估經(jīng)驗和專門知識,在風險較大的項目開發(fā)中,如果未能夠及時標識風險,勢必造成重大損失。過多的迭代次數(shù)會增加開發(fā)成本,延遲提交時間。螺旋模型適用于:特別適用于龐大、復雜并具有高風險的系統(tǒng)。適用于內(nèi)部開發(fā)的大規(guī)模軟件項目。2.6噴泉模型噴泉模型:典型的面向?qū)ο笊芷谀P??!皣娙边@個詞體現(xiàn)了面向?qū)ο筌浖_發(fā)過程迭代和無縫的特性。為避免使用噴泉模型開發(fā)軟件時開發(fā)過程過分無序,應該把一個線性過程作為總目標。噴泉模型噴泉模型的優(yōu)點:該模型的各個階段沒有明顯的界限,開發(fā)人員可以同步進行開發(fā)。多次反復地增加或明確目標系統(tǒng),而不是本質(zhì)性的改動,降低錯誤的可能性。噴泉模型的缺點:在各個開發(fā)階段是重疊的,因此在開發(fā)過程中需要大量的開發(fā)人員,不利于項目的管理。要求嚴格管理文檔,使得審核的難度加大,尤其是面對可能隨時加入各種信息、需求與資料的情況。噴泉模型適用于:面向?qū)ο蟮能浖_發(fā)過程?;跇?gòu)件的開發(fā)模型:支持軟件復用。利用預先包裝好的軟件構(gòu)件來構(gòu)造應用系統(tǒng)。領(lǐng)域分析構(gòu)件可變性分析構(gòu)建可復用構(gòu)件領(lǐng)域模型領(lǐng)域基準體系結(jié)構(gòu)圖可復用構(gòu)件庫分析體系結(jié)構(gòu)設計獲取構(gòu)件構(gòu)件特化和修改評價構(gòu)件組裝和測試開發(fā)未找到構(gòu)件的部分應用系統(tǒng)工程應用系統(tǒng)領(lǐng)域工程形式化方法模型:形式化方法是建立在嚴格數(shù)學基礎上的一種軟件開發(fā)方法。軟件開發(fā)的全過程中,從需求分析、規(guī)約、設計、編程、系統(tǒng)集成、測試、文檔生成、直至維護各個階段,凡是采用嚴格的數(shù)學語言,具有精確的數(shù)學語義的方法,都稱為形式化方法。軟件需求形式化說明(M0)軟件設計形式化說明(M1)(M2)(Mn)……模型檢查程序變換程序變換程序變換2.7.1最佳實踐2.7.2RUP的十大要素2.7.3RUP生命周期2.7Rational統(tǒng)一過程2.7Rational統(tǒng)一過程Rational統(tǒng)一過程(RationalUnifiedProcess,RUP)是由Rational軟件公司推出的一種完整而完美的軟件過程。RUP是一種迭代的、以架構(gòu)為中心的、用例驅(qū)動的軟件開發(fā)方法。RUP是一種有明確定義和結(jié)構(gòu)的軟件工程過程。RUP還是一個過程產(chǎn)品,提供了可定制的軟件工程的過程框架。RUP被廣泛應用在不同工業(yè)領(lǐng)域中的不同企業(yè)。2.7.1最佳實踐迭代式開發(fā)管理需求使用基于組件的架構(gòu)可視化建模驗證軟件質(zhì)量控制軟件變更2.7.2RUP的十大要素前景計劃風險業(yè)務案例架構(gòu)原型評估變更請求用戶支持過程2.7.3RUP生命周期2.8.1敏捷過程概述2.8.2極限編程2.8敏捷過程與極限編程2.8.1敏捷過程概述敏捷軟件開發(fā)宣言(價值觀聲明):個體和交互勝過過程和工具可以工作的軟件勝過面面俱到的文檔客戶合作勝過合同談判響應變化勝過遵循計劃2.8.2極限編程極限編程(eXtremeProgramming,XP):敏捷過程中最富盛名的一個廣泛適用于需求模糊且經(jīng)常改變的場合使得敏捷過程能夠較好地適應商業(yè)競爭環(huán)境下對小型項目提出的有限資源和有限開發(fā)時間的約束極限編程的有效實踐:客戶作為開發(fā)團隊成員使用用戶素材短交付周期驗收測試結(jié)對編程測試驅(qū)動開發(fā)集體所有持續(xù)集成可持續(xù)的開發(fā)速度開放的工作空間及時調(diào)整計劃簡單的設計重構(gòu)使用隱喻極限編程的整體開發(fā)過程極限編程的迭代過程2.9.1能力成熟度模型的結(jié)構(gòu)2.9.2能力成熟度等級2.9.3關(guān)鍵過程域2.9.4應用CMM2.9能力成熟度模型美國卡內(nèi)基梅隆大學軟件工程研究所在美國國防部資助下于20世紀80年代末建立的能力成熟度模型(CapabilityMaturityModel,CMM),是用于評價軟件機構(gòu)的軟件過程能力成熟度的模型。能力成熟度模型有助于軟件開發(fā)組織建立一個有規(guī)律的、成熟的軟件過程。改進后的過程將開發(fā)出質(zhì)量更好的軟件,使更多的軟件項目免受時間和費用超支之苦。2.9.1能力成熟度模型的結(jié)構(gòu)2.9.2能力成熟度等級初始級——軟件過程的特征是無序的,有時甚至是混亂的??芍貜图墶⒘嘶镜捻椖抗芾磉^程。已定義級——已經(jīng)定義了完整的軟件過程。已管理級——對軟件過程和軟件產(chǎn)品都建立了定量的質(zhì)量目標。優(yōu)化級——有能力識別軟件過程要素的薄弱環(huán)節(jié),并有足夠的手段改進它們。2.9.3關(guān)鍵過程域除第1級成熟度之外,每個成熟度等級都包含幾個關(guān)鍵過程域,指明了為改進其軟件過程,軟件開發(fā)組織應該重視的區(qū)域,同時也指明了為達到某個成熟度等級所必須解決的問題。2.9.4應用CMMCMM的用途:軟件過程改進軟件開發(fā)組織用它來改進開發(fā)和維護軟件的過程,根據(jù)評估結(jié)果,從低級逐極向更高級發(fā)展,制定軟件過程改進的策略。

軟件能力評價政府或商業(yè)企業(yè)用它來評價與一個特定的軟件公司簽訂軟件項目合同的風險。國內(nèi)外較早通過CMM評估的企業(yè):到1998年,全球已有近萬家軟件開發(fā)機構(gòu)通過CMM評估,其中絕大多數(shù)還處在2級,達到3級的只占17%;而到1999年初達到5級的只有6家機構(gòu)。1999年,中國第一家企業(yè)——IBM與清華大學合資的鼎鑫信息技術(shù)有限公司通過CMM2級評估。20

溫馨提示

  • 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

提交評論