軟件維護課件_第1頁
軟件維護課件_第2頁
軟件維護課件_第3頁
軟件維護課件_第4頁
軟件維護課件_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件維護1第第9章章 軟件維護軟件維護Chapter 9 Software Maintenance 軟件維護2大、中型軟件產(chǎn)品的開發(fā)周期一般為大、中型軟件產(chǎn)品的開發(fā)周期一般為1 1至至3 3年,運行周期可達年,運行周期可達5 5至至1010年。在這么年。在這么長的時間長的時間內(nèi),除了要改正軟件中的殘留錯誤外,還可內(nèi),除了要改正軟件中的殘留錯誤外,還可能要多次更新軟件的版本,以適應改善運行能要多次更新軟件的版本,以適應改善運行環(huán)境(包括硬件和軟件的改進)和加強產(chǎn)品環(huán)境(包括硬件和軟件的改進)和加強產(chǎn)品性能等需要。因此,軟件維護是不可避免的。性能等需要。因此,軟件維護是不可避免的。 維護階段是軟件

2、生存周期中花費最多、時維護階段是軟件生存周期中花費最多、時間最長的一個階段間最長的一個階段。通常,軟件維護費用與。通常,軟件維護費用與開發(fā)費用的比例為開發(fā)費用的比例為2 2:1 1。軟件維護3Development Time VS. Maintenance Time Typical development project takes between 1 and 2 years. Requires an additional 5 to 6 years of maintenance time !80-20 Rule: Twenty percent of the effort is in evelo

3、pment and eighty percent is in maintenance. 軟件維護49 9.1 .1 軟件維護的種類軟件維護的種類 1.1.完善性維護完善性維護( (Perfective Maintenance) ): 為滿足用戶日益增長的需要,不斷為滿足用戶日益增長的需要,不斷完善完善和和加強軟件的功能與性能而進行的維護。加強軟件的功能與性能而進行的維護。 完善性維護約占整個維護工作量的完善性維護約占整個維護工作量的50% 50% 。軟件維護5 2. 2.適應性維護適應性維護( (Adaptive Maintenance) ): 為使軟件適應運行環(huán)境的改變而進行的維護。為使軟件

4、適應運行環(huán)境的改變而進行的維護。 運行環(huán)境的改變包括運行環(huán)境的改變包括: : 硬件和支撐軟件硬件和支撐軟件( (如操作系統(tǒng)改版、增加如操作系統(tǒng)改版、增加數(shù)據(jù)庫等)的變化。數(shù)據(jù)庫等)的變化。 將軟件移植到新的機種上運行。將軟件移植到新的機種上運行。 軟件使用對象的變更,等等。軟件使用對象的變更,等等。 適應性維護約占整個維護工作量的適應性維護約占整個維護工作量的25% 25% 。軟件維護6 3. 3.糾錯性維護糾錯性維護( (Corrective Maintenance) ): 糾正軟件在開發(fā)期間未能發(fā)現(xiàn)的遺留錯誤。糾正軟件在開發(fā)期間未能發(fā)現(xiàn)的遺留錯誤。 糾錯性維護約占整個維護工作量的糾錯性維護

5、約占整個維護工作量的21% 21% 。 4.4.預防性維護預防性維護( (Preventive Maintenance : 為了提高軟件的可維護性,減少今后對它為了提高軟件的可維護性,減少今后對它們維護時所需要的工作量而進行的維護。們維護時所需要的工作量而進行的維護。 預防性維護約占整個維護工作量的預防性維護約占整個維護工作量的4% 4% 。軟件維護7Use of Maintenance Time Perfective Maintenance: 50% Adaptive Maintenance : 25% Corrective Maintenance : 21% Preventive Main

6、tenance : 4%軟件維護89.2 軟件可維護性軟件可維護性(Software Maintainnability) 1. 可維護性的含義可維護性的含義可維護性是衡量維護難易程度的一種軟件屬可維護性是衡量維護難易程度的一種軟件屬性。性??删S護性取決于下列屬性:可理解性、可修改可維護性取決于下列屬性:可理解性、可修改性和可測試性。性和可測試性。 (1)可理解性可理解性(Understandability ) 讀懂別人的程序是困難的讀懂別人的程序是困難的,若文檔不全若文檔不全,或僅或僅有程序而無文檔,則難度更大。有程序而無文檔,則難度更大。 要使程序達到良好的可理解性,必須堅持模要使程序達到良

7、好的可理解性,必須堅持模塊化設計,編寫準確的文檔,并使源程序文檔塊化設計,編寫準確的文檔,并使源程序文檔化?;?。軟件維護9 (2) (2)可修改性可修改性( ( Modifiability ) ) 模塊設計時的高內(nèi)聚、低耦合、面向對模塊設計時的高內(nèi)聚、低耦合、面向對象技術、復用技術等,可提高軟件的可修改性。象技術、復用技術等,可提高軟件的可修改性。 (3)(3)可測試性可測試性( ( Testability ) ) 要求程序有良好的可理解性和較低的結要求程序有良好的可理解性和較低的結構復雜度,同時要求有齊全的測試文檔,包括構復雜度,同時要求有齊全的測試文檔,包括開發(fā)時期用過的測試用例與結果。開

8、發(fā)時期用過的測試用例與結果。軟件維護10 1979 1979年,年,T.GilbT.Gilb建議把維護過程中的建議把維護過程中的 10 10 種活動種活動的耗費時間記錄下來,并用它們度量軟件的可維護的耗費時間記錄下來,并用它們度量軟件的可維護性性: : (1) (1)問題識別時間問題識別時間; (2); (2)管理延遲時間管理延遲時間; ; (3) (3)收集維護工具時間收集維護工具時間; (4); (4)問題分析時間問題分析時間; ; (5) (5)修改規(guī)格說明書時間修改規(guī)格說明書時間;(6);(6)改正改正( (或修改或修改) )時間時間; ; (7) (7)局部測試時間局部測試時間; (

9、8); (8)整體測試時間整體測試時間; ; (9) (9)維護復審時間維護復審時間; (10); (10)分發(fā)與恢復時間分發(fā)與恢復時間; ;軟件維護112.2.提高提高可維護性的途徑可維護性的途徑 (1)(1)提供完整和一致的文檔提供完整和一致的文檔 文檔的第一個作用是幫助維護人員讀懂文檔的第一個作用是幫助維護人員讀懂程序。程序。 有完整的文檔,對理解系統(tǒng)的功能、性能、有完整的文檔,對理解系統(tǒng)的功能、性能、系統(tǒng)結構、模塊算法等有很大的作用,容易系統(tǒng)結構、模塊算法等有很大的作用,容易進行維護工作。若只有源程序沒有文檔,維進行維護工作。若只有源程序沒有文檔,維護活動只能通過閱讀源程序來理解系統(tǒng)的

10、功護活動只能通過閱讀源程序來理解系統(tǒng)的功能、性能、系統(tǒng)結構、模塊算法等,這是非能、性能、系統(tǒng)結構、模塊算法等,這是非常困難的。常困難的。軟件維護12文檔的第二個作用是方便被維護軟件的測試。文檔的第二個作用是方便被維護軟件的測試。 在測試階段的在測試階段的“測試用例文件測試用例文件” ” ( (測試用例測試用例說明書和測試總結報告說明書和測試總結報告) )中,記錄了對軟件進中,記錄了對軟件進行測試的測試用例和測試結果。當軟件在維護行測試的測試用例和測試結果。當軟件在維護中被修改后,可以先把原有的測試用例全部重中被修改后,可以先把原有的測試用例全部重測一遍,再增加一些測試用例來檢驗被修改的測一遍,

11、再增加一些測試用例來檢驗被修改的代碼。代碼。軟件維護13 (2) (2)使用現(xiàn)代化的開發(fā)方法使用現(xiàn)代化的開發(fā)方法 盡可能采用面向對象技術和復用技術;盡可能采用面向對象技術和復用技術;對數(shù)據(jù)量大的應用軟件,可以采用數(shù)據(jù)庫對數(shù)據(jù)量大的應用軟件,可以采用數(shù)據(jù)庫技術來管理軟件中的數(shù)據(jù)。技術來管理軟件中的數(shù)據(jù)。軟件維護141111.3 .3 軟件維護的實施軟件維護的實施1.1.軟件維護的工作流程軟件維護的工作流程區(qū)分區(qū)分類型類型嚴重性嚴重性評價評價錯誤錯誤分析分析優(yōu)先度優(yōu)先度評價評價問題問題分析分析維護維護過程過程配置配置復審復審維護維護申請申請糾錯性糾錯性適應性適應性完善性完善性開發(fā)項目表開發(fā)項目表低

12、低高高糾錯項目表糾錯項目表嚴嚴重重不嚴重不嚴重已修改已修改的配置的配置已修改已修改的軟件的軟件批準交付批準交付的配置的配置圖圖11.3 維護的步驟維護的步驟軟件維護152.2. 維護申請單和修改報告單維護申請單和修改報告單 (1)(1)維護申請單:又稱軟件問題報告單,由申請維護申請單:又稱軟件問題報告單,由申請維護的用戶填寫。維護的用戶填寫。 糾錯性維護的申請單應說明導致錯誤發(fā)生的糾錯性維護的申請單應說明導致錯誤發(fā)生的環(huán)境,包括輸入數(shù)據(jù)、輸出數(shù)據(jù)和其他有關材料。環(huán)境,包括輸入數(shù)據(jù)、輸出數(shù)據(jù)和其他有關材料。 適應性或適應性或完善性維護完善性維護的申請,只需提出一個的申請,只需提出一個簡要的需求說

13、明。簡要的需求說明。 (2)(2)軟件修改報告單:用于記錄在維護時期對軟軟件修改報告單:用于記錄在維護時期對軟件所作的每一次修改,包括問題來源、錯誤類型、件所作的每一次修改,包括問題來源、錯誤類型、修改內(nèi)容以及批準修改的負責人等。修改報告單修改內(nèi)容以及批準修改的負責人等。修改報告單由直接進行修改和負責文檔管理的人員共同填寫。由直接進行修改和負責文檔管理的人員共同填寫。軟件維護163.3. 維護的副作用維護的副作用 因修改軟件而引入的錯誤稱為維護的副作用。因修改軟件而引入的錯誤稱為維護的副作用。 修改軟件可能產(chǎn)生的副作用有以下修改軟件可能產(chǎn)生的副作用有以下3 3類類: (1)(1)修改編碼的副作

14、用修改編碼的副作用 例如修改變量標識符、修改子程序、修改邏輯例如修改變量標識符、修改子程序、修改邏輯運算符、修改打開或關閉文件的語句等。運算符、修改打開或關閉文件的語句等。軟件維護17 (2) (2)修改數(shù)據(jù)的副作用修改數(shù)據(jù)的副作用 例如修改數(shù)據(jù)結構或其中的數(shù)據(jù)項、重新定義例如修改數(shù)據(jù)結構或其中的數(shù)據(jù)項、重新定義局部或全局變量、改變子程序的形式參數(shù)的個數(shù)或局部或全局變量、改變子程序的形式參數(shù)的個數(shù)或順序等。順序等。 (3)(3)修改文檔的副作用修改文檔的副作用 任何對程序的修改,都應該及時反映到有關的任何對程序的修改,都應該及時反映到有關的文檔上。如果只改程序,未改有關的文檔,必將在文檔上。如

15、果只改程序,未改有關的文檔,必將在今后的使用和維護中造成混亂。今后的使用和維護中造成混亂。軟件維護181111.4 .4 軟件維護的管理軟件維護的管理 1.1.維護的機構和人員維護的機構和人員 (1)(1)修改控制組修改控制組: : 由高級管理人員和專業(yè)人員組成。其職責是:由高級管理人員和專業(yè)人員組成。其職責是:對維護申請的審查和批準、維護活動的計劃和安排、對維護申請的審查和批準、維護活動的計劃和安排、人力和資源的分配、維護工作的評價和分析等。人力和資源的分配、維護工作的評價和分析等。 (2)(2)維護小組維護小組: : 可以由原開發(fā)小組承擔,也可以指定專門的維可以由原開發(fā)小組承擔,也可以指定

16、專門的維護小組進行。其職責是:進行具體的維護工作。護小組進行。其職責是:進行具體的維護工作。軟件維護19 2. 2.維護時期的配置管理維護時期的配置管理 軟件配置:一個軟件在生存周期內(nèi),它的各種軟件配置:一個軟件在生存周期內(nèi),它的各種形式、各種版本的文檔與程序的總稱。形式、各種版本的文檔與程序的總稱。 對軟件配置進行科學的管理,是保證軟件質(zhì)量對軟件配置進行科學的管理,是保證軟件質(zhì)量的重要手段。的重要手段。 常用的配置管理工具有:常用的配置管理工具有: (1)(1)配置管理數(shù)據(jù)庫配置管理數(shù)據(jù)庫 (2)(2)版本控制庫版本控制庫軟件維護20 3. 3.維護管理文檔維護管理文檔 維護階段的文檔除了維

17、護申請單和軟件修改維護階段的文檔除了維護申請單和軟件修改報告單外報告單外, ,還有以下幾種還有以下幾種: : (1) (1)維護日記維護日記 維護日記在每次維護完成后填寫,包括以下維護日記在每次維護完成后填寫,包括以下內(nèi)容內(nèi)容: : 維護前程序的情況。維護前程序的情況。 維護中對程序修改的情況。維護中對程序修改的情況。 其他的重要數(shù)據(jù),如維護的類型、維護起其他的重要數(shù)據(jù),如維護的類型、維護起止日期等。止日期等。 軟件維護21 (2) (2)維護申請摘要報告和維護趨勢圖維護申請摘要報告和維護趨勢圖 維護申請摘要報告是一種定期報告,可以每周維護申請摘要報告是一種定期報告,可以每周或每月統(tǒng)計一次。內(nèi)容包括上次報告以來已經(jīng)處理了、或每月統(tǒng)計一次。內(nèi)容包括上次報告以來已經(jīng)處理了、正在處理和新接到的維護申請項數(shù)及其處理情況。正在處理和新接到的維護申請項數(shù)及其處理情況。 維護趨勢圖是在維護申請摘要報告的基礎上繪維護趨勢圖是在維護申請摘要報告的基礎上

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論