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

下載本文檔

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

文檔簡介

第9章軟件維護Chapter9

SoftwareMaintenance

第9章軟件維護●大、中型軟件產(chǎn)品的開發(fā)周期一般為1至3年,運行周期可達5至10年。在這么長的時間內(nèi),除了要改正軟件中的殘留錯誤外,還可能要多次更新軟件的版本,以適應改善運行環(huán)境(包括硬件和軟件的改進)和加強產(chǎn)品性能等需要。因此,軟件維護是不可避免的。●維護階段是軟件生存周期中花費最多、時間最長的一個階段。通常,軟件維護費用與開發(fā)費用的比例為2:1?!翊?、中型軟件產(chǎn)品的開發(fā)周期一般為1至3年,運行周期可達5至DevelopmentTimeVS.MaintenanceTime●Typicaldevelopmentprojecttakesbetween1and2years.Requiresanadditional5to6yearsofmaintenancetime!●80-20Rule:Twentypercentoftheeffortisinevelopmentandeightypercentisinmaintenance.DevelopmentTimeVS.Mainten9.1軟件維護的種類

1.完善性維護(PerfectiveMaintenance):為滿足用戶日益增長的需要,不斷完善和加強軟件的功能與性能而進行的維護。●完善性維護約占整個維護工作量的50%。9.1軟件維護的種類2.適應性維護(AdaptiveMaintenance):為使軟件適應運行環(huán)境的改變而進行的維護?!襁\行環(huán)境的改變包括:①硬件和支撐軟件(如操作系統(tǒng)改版、增加數(shù)據(jù)庫等)的變化。②將軟件移植到新的機種上運行。③軟件使用對象的變更,等等?!襁m應性維護約占整個維護工作量的25%。2.適應性維護(AdaptiveMaintenance3.糾錯性維護(CorrectiveMaintenance):糾正軟件在開發(fā)期間未能發(fā)現(xiàn)的遺留錯誤?!窦m錯性維護約占整個維護工作量的21%。

4.預防性維護(Preventive

Maintenance):為了提高軟件的可維護性,減少今后對它們維護時所需要的工作量而進行的維護。●預防性維護約占整個維護工作量的4%。3.糾錯性維護(CorrectiveMaintenaUseofMaintenanceTimePerfective

Maintenance:50%AdaptiveMaintenance:25%CorrectiveMaintenance:21%PreventiveMaintenance:4%UseofMaintenanceTimeP9.2軟件可維護性(SoftwareMaintainnability)1.可維護性的含義●可維護性是衡量維護難易程度的一種軟件屬性。可維護性取決于下列屬性:可理解性、可修改性和可測試性。

(1)可理解性(Understandability

)●讀懂別人的程序是困難的,若文檔不全,或僅有程序而無文檔,則難度更大?!褚钩绦蜻_到良好的可理解性,必須堅持模塊化設計,編寫準確的文檔,并使源程序文檔化。9.2軟件可維護性(SoftwareMaintain(2)可修改性(Modifiability

)●模塊設計時的高內(nèi)聚、低耦合、面向?qū)ο蠹夹g、復用技術等,可提高軟件的可修改性。

(3)可測試性(Testability

)●要求程序有良好的可理解性和較低的結(jié)構(gòu)復雜度,同時要求有齊全的測試文檔,包括開發(fā)時期用過的測試用例與結(jié)果。(2)可修改性(Modifiability)1979年,T.Gilb建議把維護過程中的10種活動的耗費時間記錄下來,并用它們度量軟件的可維護性:(1)問題識別時間;(2)管理延遲時間;(3)收集維護工具時間;(4)問題分析時間;(5)修改規(guī)格說明書時間;(6)改正(或修改)時間;(7)局部測試時間;(8)整體測試時間;(9)維護復審時間;(10)分發(fā)與恢復時間;1979年,T.Gilb建議把維護過程中的10種活動2.提高可維護性的途徑

(1)提供完整和一致的文檔①文檔的第一個作用是幫助維護人員讀懂程序。有完整的文檔,對理解系統(tǒng)的功能、性能、系統(tǒng)結(jié)構(gòu)、模塊算法等有很大的作用,容易進行維護工作。若只有源程序沒有文檔,維護活動只能通過閱讀源程序來理解系統(tǒng)的功能、性能、系統(tǒng)結(jié)構(gòu)、模塊算法等,這是非常困難的。2.提高可維護性的途徑②文檔的第二個作用是方便被維護軟件的測試。在測試階段的“測試用例文件”(測試用例說明書和測試總結(jié)報告)中,記錄了對軟件進行測試的測試用例和測試結(jié)果。當軟件在維護中被修改后,可以先把原有的測試用例全部重測一遍,再增加一些測試用例來檢驗被修改的代碼。②文檔的第二個作用是方便被維護軟件的測試。(2)使用現(xiàn)代化的開發(fā)方法盡可能采用面向?qū)ο蠹夹g和復用技術;對數(shù)據(jù)量大的應用軟件,可以采用數(shù)據(jù)庫技術來管理軟件中的數(shù)據(jù)。(2)使用現(xiàn)代化的開發(fā)方法11.3軟件維護的實施1.軟件維護的工作流程區(qū)分類型嚴重性評價錯誤分析優(yōu)先度評價問題分析維護過程配置復審維護申請糾錯性適應性完善性開發(fā)項目表低高糾錯項目表嚴重不嚴重已修改的配置已修改的軟件批準交付的配置圖11.3維護的步驟11.3軟件維護的實施區(qū)分嚴重性錯誤優(yōu)先度問題維護配置2.維護申請單和修改報告單

(1)維護申請單:又稱軟件問題報告單,由申請維護的用戶填寫。●糾錯性維護的申請單應說明導致錯誤發(fā)生的環(huán)境,包括輸入數(shù)據(jù)、輸出數(shù)據(jù)和其他有關材料。●適應性或完善性維護的申請,只需提出一個簡要的需求說明。

(2)軟件修改報告單:用于記錄在維護時期對軟件所作的每一次修改,包括問題來源、錯誤類型、修改內(nèi)容以及批準修改的負責人等。修改報告單由直接進行修改和負責文檔管理的人員共同填寫。2.維護申請單和修改報告單3.維護的副作用●因修改軟件而引入的錯誤稱為維護的副作用?!裥薷能浖赡墚a(chǎn)生的副作用有以下3類:

(1)修改編碼的副作用例如修改變量標識符、修改子程序、修改邏輯運算符、修改打開或關閉文件的語句等。3.維護的副作用(2)修改數(shù)據(jù)的副作用例如修改數(shù)據(jù)結(jié)構(gòu)或其中的數(shù)據(jù)項、重新定義局部或全局變量、改變子程序的形式參數(shù)的個數(shù)或順序等。

(3)修改文檔的副作用任何對程序的修改,都應該及時反映到有關的文檔上。如果只改程序,未改有關的文檔,必將在今后的使用和維護中造成混亂。(2)修改數(shù)據(jù)的副作用11.4軟件維護的管理

1.維護的機構(gòu)和人員

(1)修改控制組:

由高級管理人員和專業(yè)人員組成。其職責是:對維護申請的審查和批準、維護活動的計劃和安排、人力和資源的分配、維護工作的評價和分析等。

(2)維護小組:

可以由原開發(fā)小組承擔,也可以指定專門的維護小組進行。其職責是:進行具體的維護工作。11.4軟件維護的管理2.維護時期的配置管理●軟件配置:一個軟件在生存周期內(nèi),它的各種形式、各種版本的文檔與程序的總稱?!駥浖渲眠M行科學的管理,是保證軟件質(zhì)量的重要手段?!癯S玫呐渲霉芾砉ぞ哂校?/p>

(1)配置管理數(shù)據(jù)庫

(2)版本控制庫2.維護時期的配置管理3.維護管理文檔●維護階段的文檔除了維護申請單和軟件修改報告單外,還有以下幾種:(1)維護日記維護日記在每次維護完成后填寫,包括以下內(nèi)容:①維護前程序的情況。②維護中對程序修改的情況。③其他的重要數(shù)據(jù),如維護的類型、維護起止日期等。

3.維護管理文檔(2)維護申請摘要報告和維護趨勢圖①維護申請摘要報告是一種定期報告,可以每周或每月統(tǒng)計一次。內(nèi)容包括上次報告以來已經(jīng)處理了、正在處理和新接到的維護申請項數(shù)及其處理情況。②維護趨勢圖是在維護申請摘要報告的基礎上繪制而成的。(2)維護申請摘要報告和維護趨勢圖4.維護費用的估算:M=P+K(c-d)

其中:M=維護所需總工作量;P=為生產(chǎn)性工作量,包括修改設計與編碼等;K(c-d)為非生產(chǎn)性工作量,包括理解代碼功能,解釋數(shù)據(jù)結(jié)構(gòu)等;

K=經(jīng)驗常數(shù);

c=軟件復雜度;

d=維護人員對軟件的熟悉程度。4.維護費用的估算:M=P+K(c-d)23可編輯感謝下載23可編輯感謝下載第9章軟件維護Chapter9

SoftwareMaintenance

第9章軟件維護●大、中型軟件產(chǎn)品的開發(fā)周期一般為1至3年,運行周期可達5至10年。在這么長的時間內(nèi),除了要改正軟件中的殘留錯誤外,還可能要多次更新軟件的版本,以適應改善運行環(huán)境(包括硬件和軟件的改進)和加強產(chǎn)品性能等需要。因此,軟件維護是不可避免的?!窬S護階段是軟件生存周期中花費最多、時間最長的一個階段。通常,軟件維護費用與開發(fā)費用的比例為2:1。●大、中型軟件產(chǎn)品的開發(fā)周期一般為1至3年,運行周期可達5至DevelopmentTimeVS.MaintenanceTime●Typicaldevelopmentprojecttakesbetween1and2years.Requiresanadditional5to6yearsofmaintenancetime!●80-20Rule:Twentypercentoftheeffortisinevelopmentandeightypercentisinmaintenance.DevelopmentTimeVS.Mainten9.1軟件維護的種類

1.完善性維護(PerfectiveMaintenance):為滿足用戶日益增長的需要,不斷完善和加強軟件的功能與性能而進行的維護?!裢晟菩跃S護約占整個維護工作量的50%。9.1軟件維護的種類2.適應性維護(AdaptiveMaintenance):為使軟件適應運行環(huán)境的改變而進行的維護?!襁\行環(huán)境的改變包括:①硬件和支撐軟件(如操作系統(tǒng)改版、增加數(shù)據(jù)庫等)的變化。②將軟件移植到新的機種上運行。③軟件使用對象的變更,等等?!襁m應性維護約占整個維護工作量的25%。2.適應性維護(AdaptiveMaintenance3.糾錯性維護(CorrectiveMaintenance):糾正軟件在開發(fā)期間未能發(fā)現(xiàn)的遺留錯誤?!窦m錯性維護約占整個維護工作量的21%。

4.預防性維護(Preventive

Maintenance):為了提高軟件的可維護性,減少今后對它們維護時所需要的工作量而進行的維護?!耦A防性維護約占整個維護工作量的4%。3.糾錯性維護(CorrectiveMaintenaUseofMaintenanceTimePerfective

Maintenance:50%AdaptiveMaintenance:25%CorrectiveMaintenance:21%PreventiveMaintenance:4%UseofMaintenanceTimeP9.2軟件可維護性(SoftwareMaintainnability)1.可維護性的含義●可維護性是衡量維護難易程度的一種軟件屬性??删S護性取決于下列屬性:可理解性、可修改性和可測試性。

(1)可理解性(Understandability

)●讀懂別人的程序是困難的,若文檔不全,或僅有程序而無文檔,則難度更大。●要使程序達到良好的可理解性,必須堅持模塊化設計,編寫準確的文檔,并使源程序文檔化。9.2軟件可維護性(SoftwareMaintain(2)可修改性(Modifiability

)●模塊設計時的高內(nèi)聚、低耦合、面向?qū)ο蠹夹g、復用技術等,可提高軟件的可修改性。

(3)可測試性(Testability

)●要求程序有良好的可理解性和較低的結(jié)構(gòu)復雜度,同時要求有齊全的測試文檔,包括開發(fā)時期用過的測試用例與結(jié)果。(2)可修改性(Modifiability)1979年,T.Gilb建議把維護過程中的10種活動的耗費時間記錄下來,并用它們度量軟件的可維護性:(1)問題識別時間;(2)管理延遲時間;(3)收集維護工具時間;(4)問題分析時間;(5)修改規(guī)格說明書時間;(6)改正(或修改)時間;(7)局部測試時間;(8)整體測試時間;(9)維護復審時間;(10)分發(fā)與恢復時間;1979年,T.Gilb建議把維護過程中的10種活動2.提高可維護性的途徑

(1)提供完整和一致的文檔①文檔的第一個作用是幫助維護人員讀懂程序。有完整的文檔,對理解系統(tǒng)的功能、性能、系統(tǒng)結(jié)構(gòu)、模塊算法等有很大的作用,容易進行維護工作。若只有源程序沒有文檔,維護活動只能通過閱讀源程序來理解系統(tǒng)的功能、性能、系統(tǒng)結(jié)構(gòu)、模塊算法等,這是非常困難的。2.提高可維護性的途徑②文檔的第二個作用是方便被維護軟件的測試。在測試階段的“測試用例文件”(測試用例說明書和測試總結(jié)報告)中,記錄了對軟件進行測試的測試用例和測試結(jié)果。當軟件在維護中被修改后,可以先把原有的測試用例全部重測一遍,再增加一些測試用例來檢驗被修改的代碼。②文檔的第二個作用是方便被維護軟件的測試。(2)使用現(xiàn)代化的開發(fā)方法盡可能采用面向?qū)ο蠹夹g和復用技術;對數(shù)據(jù)量大的應用軟件,可以采用數(shù)據(jù)庫技術來管理軟件中的數(shù)據(jù)。(2)使用現(xiàn)代化的開發(fā)方法11.3軟件維護的實施1.軟件維護的工作流程區(qū)分類型嚴重性評價錯誤分析優(yōu)先度評價問題分析維護過程配置復審維護申請糾錯性適應性完善性開發(fā)項目表低高糾錯項目表嚴重不嚴重已修改的配置已修改的軟件批準交付的配置圖11.3維護的步驟11.3軟件維護的實施區(qū)分嚴重性錯誤優(yōu)先度問題維護配置2.維護申請單和修改報告單

(1)維護申請單:又稱軟件問題報告單,由申請維護的用戶填寫?!窦m錯性維護的申請單應說明導致錯誤發(fā)生的環(huán)境,包括輸入數(shù)據(jù)、輸出數(shù)據(jù)和其他有關材料?!襁m應性或完善性維護的申請,只需提出一個簡要的需求說明。

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

(1)修改編碼的副作用例如修改變量標識符、修改子程序、修改邏輯運算符、修改打開或關閉文件的語句等。3.維護的副作用(2)修改數(shù)據(jù)的副作用例如修改數(shù)據(jù)結(jié)構(gòu)或其中的數(shù)據(jù)項、重新定義局部或全局變量、改變子程序的形式參數(shù)的個數(shù)或順序等。

(3)修改文檔的副作用任何對程序的修改,都應該及時反映到有關的文檔上。如果只改程序,未改有關的文檔,必將在今后的使用和維護中造成混亂。(2)修改數(shù)據(jù)的副作用11.4軟件維護的管理

1.維護的機構(gòu)和人員

(1)修改控制組:

由高級管理人員和專業(yè)人員組成。其職責是:對

溫馨提示

  • 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

提交評論