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

下載本文檔

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

文檔簡(jiǎn)介

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

2、生存周期中花費(fèi)最多、時(shí)維護(hù)階段是軟件生存周期中花費(fèi)最多、時(shí)間最長(zhǎng)的一個(gè)階段間最長(zhǎng)的一個(gè)階段。通常,軟件維護(hù)費(fèi)用與。通常,軟件維護(hù)費(fèi)用與開發(fā)費(fèi)用的比例為開發(fā)費(fèi)用的比例為2 2:1 1。軟件維護(hù)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. 軟件維護(hù)49 9.1 .1 軟件維護(hù)的種類軟件維護(hù)的種類 1.1.完善性維護(hù)完善性維護(hù)( (Perfective Maintenance) ): 為滿足用戶日益增長(zhǎng)的需要,不斷為滿足用戶日益增長(zhǎng)的需要,不斷完善完善和和加強(qiáng)軟件的功能與性能而進(jìn)行的維護(hù)。加強(qiáng)軟件的功能與性能而進(jìn)行的維護(hù)。 完善性維護(hù)約占整個(gè)維護(hù)工作量的完善性維護(hù)約占整個(gè)維護(hù)工作量的50% 50% 。軟件維護(hù)5 2. 2.適應(yīng)性維護(hù)適應(yīng)性維護(hù)( (Adaptive Maintenance) ): 為使軟件適應(yīng)運(yùn)行環(huán)境的改變而進(jìn)行的維護(hù)。為使軟件

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

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

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

7、好的可理解性,必須堅(jiān)持模塊化設(shè)計(jì),編寫準(zhǔn)確的文檔,并使源程序文檔塊化設(shè)計(jì),編寫準(zhǔn)確的文檔,并使源程序文檔化。化。軟件維護(hù)9 (2) (2)可修改性可修改性( ( Modifiability ) ) 模塊設(shè)計(jì)時(shí)的高內(nèi)聚、低耦合、面向?qū)δK設(shè)計(jì)時(shí)的高內(nèi)聚、低耦合、面向?qū)ο蠹夹g(shù)、復(fù)用技術(shù)等,可提高軟件的可修改性。象技術(shù)、復(fù)用技術(shù)等,可提高軟件的可修改性。 (3)(3)可測(cè)試性可測(cè)試性( ( Testability ) ) 要求程序有良好的可理解性和較低的結(jié)要求程序有良好的可理解性和較低的結(jié)構(gòu)復(fù)雜度,同時(shí)要求有齊全的測(cè)試文檔,包括構(gòu)復(fù)雜度,同時(shí)要求有齊全的測(cè)試文檔,包括開發(fā)時(shí)期用過的測(cè)試用例與結(jié)果。開

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

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

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

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

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

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論