軟件工程08-維護(hù)_第1頁
軟件工程08-維護(hù)_第2頁
軟件工程08-維護(hù)_第3頁
軟件工程08-維護(hù)_第4頁
軟件工程08-維護(hù)_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 岐兵 Email:可行性研究可行性研究需求分析需求分析概要設(shè)計概要設(shè)計詳細(xì)設(shè)計詳細(xì)設(shè)計實實 現(xiàn)現(xiàn)集成測試集成測試確認(rèn)測試確認(rèn)測試使用與維護(hù)使用與維護(hù)退役退役軟件定義軟件定義軟件開發(fā)軟件開發(fā)軟件使用軟件使用與維護(hù)與維護(hù)n 軟件維護(hù)軟件維護(hù)主要任務(wù)是在主要任務(wù)是在軟件使用軟件使用/維護(hù)階段,為維護(hù)階段,為了改正錯誤或滿足新的需要而修改軟件了改正錯誤或滿足新的需要而修改軟件n大型軟件的維護(hù)成本高達(dá)開發(fā)成本的4倍左右n目前國外許多軟件開發(fā)組織把60以上的人力用于維護(hù)已有的軟件n而且隨著軟件數(shù)量增多和使用壽命延長,這個百分比還在持續(xù)上升n第8章:“維護(hù)” 軟件維護(hù)的定義 軟件維護(hù)的特點 軟件維護(hù)過程

2、軟件的可維護(hù)性 預(yù)防性維護(hù)Q:什么是維護(hù)?:什么是維護(hù)?A:在軟件已經(jīng)交付使用之后,為了改正錯誤或滿:在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。足新的需要而修改軟件的過程。Q:維護(hù)做什么?:維護(hù)做什么?A: 診斷和改正錯誤診斷和改正錯誤 改正性維護(hù)改正性維護(hù)(corrective maintenance),約占全部維護(hù)活動的約占全部維護(hù)活動的 1720%; 為了和變化了的環(huán)境(如軟為了和變化了的環(huán)境(如軟硬件升級、新硬件升級、新數(shù)據(jù)庫等)適當(dāng)?shù)嘏浜隙薷能浖?shù)據(jù)庫等)適當(dāng)?shù)嘏浜隙薷能浖?適應(yīng)性適應(yīng)性維護(hù)維護(hù)(adaptive maintenance),約占全部維護(hù)活

3、,約占全部維護(hù)活動的動的1825%;為了增加新功能,修改已有功能,改造界面,為了增加新功能,修改已有功能,改造界面,增加增加HELP等,而修改軟件等,而修改軟件 完善性維護(hù)完善性維護(hù)(perfective maintenance),約占全部維護(hù)約占全部維護(hù)活動的活動的5066% ; 為了改進(jìn)未來的可維護(hù)性或可靠性,或為了給為了改進(jìn)未來的可維護(hù)性或可靠性,或為了給未來的改進(jìn)奠定更好的基礎(chǔ)而修改軟件未來的改進(jìn)奠定更好的基礎(chǔ)而修改軟件 預(yù)防性維護(hù)預(yù)防性維護(hù)(preventive maintenance),與,與其它維護(hù)活動共占總維護(hù)的其它維護(hù)活動共占總維護(hù)的4%左右。左右。注:注: 一般維護(hù)的工作量

4、占生存周期一般維護(hù)的工作量占生存周期70%以上,維以上,維護(hù)成本約為開發(fā)成本的護(hù)成本約為開發(fā)成本的4倍倍(80 - 20 Rule); 文檔維護(hù)與代碼維護(hù)同樣重要。文檔維護(hù)與代碼維護(hù)同樣重要。 n第8章:“維護(hù)” 軟件維護(hù)的定義 軟件維護(hù)的特點 軟件維護(hù)過程 軟件的可維護(hù)行 預(yù)防性維護(hù)軟件結(jié)構(gòu)、系統(tǒng)接口、軟件結(jié)構(gòu)、系統(tǒng)接口、約束條件約束條件?不知道!不知道!1 1、結(jié)構(gòu)化維護(hù)與非、結(jié)構(gòu)化維護(hù)與非結(jié)構(gòu)化維護(hù)的對比結(jié)構(gòu)化維護(hù)的對比維護(hù)要求維護(hù)要求軟件配置軟件配置只有代碼只有代碼評價代碼評價代碼重編程序重編程序復(fù)復(fù) 查查完整配置完整配置評價設(shè)計文檔評價設(shè)計文檔估計改動影響,計劃實施途徑估計改動影響,

5、計劃實施途徑修改設(shè)計修改設(shè)計重編程序重編程序復(fù)復(fù) 查查交付使用交付使用軟件維護(hù)的特點軟件維護(hù)的特點2、維護(hù)的代價、維護(hù)的代價 有形代價:費用已上升至總預(yù)算的有形代價:費用已上升至總預(yù)算的80%; 無形代價:無形代價: 占用資源以致延誤開發(fā);占用資源以致延誤開發(fā); 修改不及時引起用戶不滿修改不及時引起用戶不滿 ; 維護(hù)引入新錯誤,降低了軟件質(zhì)量,等等。維護(hù)引入新錯誤,降低了軟件質(zhì)量,等等。 維護(hù)工作量的經(jīng)驗?zāi)P停壕S護(hù)工作量的經(jīng)驗?zāi)P停很浖S護(hù)的特點軟件維護(hù)的特點M = P + K ec-d其中:其中:M = 維護(hù)用的總工作量維護(hù)用的總工作量; P = 生產(chǎn)性工作量生產(chǎn)性工作量 (e.g. 分析分

6、析, 評估評估, 設(shè)計設(shè)計, 編碼編碼, and 測試測試); K = 經(jīng)驗常數(shù)經(jīng)驗常數(shù) ; c = 復(fù)雜度復(fù)雜度 ( 主要來自缺乏結(jié)構(gòu)化設(shè)計和必要的文檔主要來自缺乏結(jié)構(gòu)化設(shè)計和必要的文檔) d = 維護(hù)人員對軟件的熟悉程度維護(hù)人員對軟件的熟悉程度.35%40%40%60%70%80%80%90%2000年年1990年年1980年年1970年年軟件維護(hù)的特點軟件維護(hù)的特點n軟件維護(hù)的費用逐年上升3、維護(hù)的問題、維護(hù)的問題2. 維護(hù)的特點維護(hù)的特點n別人的程序很難讀懂別人的程序很難讀懂 說明性文檔不可缺少說明性文檔不可缺少!n文檔與代碼不一致文檔與代碼不一致那是給誰看呢?那是給誰看呢?n開發(fā)人員

7、往往不參加維護(hù)開發(fā)人員往往不參加維護(hù) 工資不一樣嘛!工資不一樣嘛!n大多數(shù)軟件在設(shè)計時沒有考慮將來的修改大多數(shù)軟件在設(shè)計時沒有考慮將來的修改所以不所以不是人人是人人能發(fā)財能發(fā)財軟件工程軟件工程的思想至少部分地解決了與維護(hù)有的思想至少部分地解決了與維護(hù)有關(guān)的每一個問題。關(guān)的每一個問題。n第8章:“維護(hù)” 軟件維護(hù)的定義 軟件維護(hù)的特點 軟件維護(hù)過程 軟件的可維護(hù)行 預(yù)防性維護(hù)n軟件維護(hù)過程n本質(zhì)上是修改和壓縮了的軟件定義和開發(fā)過程n有效的維護(hù)需要n建立一個維護(hù)組織n確定報告和評價的過程n為每個維護(hù)要求規(guī)定一個標(biāo)準(zhǔn)化的事件序列n建立一個適用于維護(hù)活動的記錄保管過程,并且規(guī)定復(fù)審標(biāo)準(zhǔn)1、建立維護(hù)組織

8、、建立維護(hù)組織(maintenance team): 在維護(hù)活動開始之前就明確維護(hù)責(zé)在維護(hù)活動開始之前就明確維護(hù)責(zé)任是十分必要的,這樣可以大大減少維任是十分必要的,這樣可以大大減少維護(hù)過程中可能出現(xiàn)的混亂護(hù)過程中可能出現(xiàn)的混亂要要求求維維護(hù)護(hù)維護(hù)管理員維護(hù)管理員系系統(tǒng)統(tǒng)管管理理員員客戶要求客戶要求任務(wù)評價任務(wù)評價任務(wù)評價任務(wù)評價變變化化授授權(quán)權(quán)人人 錢太少錢太少不干!不干!軟件維護(hù)過程軟件維護(hù)過程2、維護(hù)報告、維護(hù)報告 維護(hù)申請報告維護(hù)申請報告(Maintenance Request Form) 由用戶填寫的外部文件,提供錯誤情況說明由用戶填寫的外部文件,提供錯誤情況說明(輸入數(shù)據(jù),錯誤清單等

9、),或修改說明書等。(輸入數(shù)據(jù),錯誤清單等),或修改說明書等。 軟件修改報告軟件修改報告(Software Change Report) 與與MRF相應(yīng)的內(nèi)部文件,要求說明:相應(yīng)的內(nèi)部文件,要求說明: 所需修改變動的性質(zhì);所需修改變動的性質(zhì); 申請修改的優(yōu)先級;申請修改的優(yōu)先級; 為滿足某個維護(hù)申請報告,所需的工作量;為滿足某個維護(hù)申請報告,所需的工作量; 預(yù)計修改后的狀況。預(yù)計修改后的狀況。軟件軟件 維護(hù)過程維護(hù)過程用戶用戶類型類型維護(hù)要求維護(hù)要求估計估計錯誤嚴(yán)重錯誤嚴(yán)重程度程度改錯改錯計劃計劃改正改正進(jìn)度進(jìn)度不嚴(yán)重不嚴(yán)重錯誤改正目錄錯誤改正目錄分析分析問題問題嚴(yán)重嚴(yán)重維護(hù)維護(hù)任務(wù)任務(wù)分分配

10、配的的人人員員復(fù)審復(fù)審修改后的修改后的軟件配置軟件配置評價評價優(yōu)先度優(yōu)先度開始開始分析分析開發(fā)目錄開發(fā)目錄完完善善適適應(yīng)應(yīng)低低高高分配的人員分配的人員復(fù)審后供使用復(fù)審后供使用的軟件配置的軟件配置軟件維護(hù)過程軟件維護(hù)過程3、維護(hù)的事件流、維護(hù)的事件流4、保存維護(hù)記錄、保存維護(hù)記錄n先要確定哪些數(shù)據(jù)是值得記錄,下述內(nèi)容:先要確定哪些數(shù)據(jù)是值得記錄,下述內(nèi)容:n程序程序標(biāo)識;源語句數(shù)目;機(jī)器指令條數(shù);標(biāo)識;源語句數(shù)目;機(jī)器指令條數(shù);n使用的程序設(shè)計語言;程序安裝日期;使用的程序設(shè)計語言;程序安裝日期;n從安裝以來程序運(yùn)行的次數(shù)、失效的次數(shù);從安裝以來程序運(yùn)行的次數(shù)、失效的次數(shù);n程序變動的層次和標(biāo)識

11、;程序變動的層次和標(biāo)識;n因程序變動而增加的源語句數(shù)、刪除的源語句數(shù);因程序變動而增加的源語句數(shù)、刪除的源語句數(shù);n每個改動耗費的人每個改動耗費的人時數(shù);時數(shù);n修改程序的日期;軟件工程師的名字;修改程序的日期;軟件工程師的名字;n維護(hù)要求表的標(biāo)識;維護(hù)類型;維護(hù)開始和結(jié)束日期;維護(hù)要求表的標(biāo)識;維護(hù)類型;維護(hù)開始和結(jié)束日期;n累計用于維護(hù)的人時數(shù);累計用于維護(hù)的人時數(shù);n與完成的維護(hù)相聯(lián)系的純效益與完成的維護(hù)相聯(lián)系的純效益 。軟件維護(hù)過程軟件維護(hù)過程5 評價維護(hù)活動評價維護(hù)活動n 可以對維護(hù)工作從以下幾個方面進(jìn)行度量。可以對維護(hù)工作從以下幾個方面進(jìn)行度量。n每次程序運(yùn)行平均失效的次數(shù);每次程

12、序運(yùn)行平均失效的次數(shù);n用于每類維護(hù)活動的總?cè)藭r數(shù);用于每類維護(hù)活動的總?cè)藭r數(shù);n平均每個程序、每種語言、每種維護(hù)類型所做的平均每個程序、每種語言、每種維護(hù)類型所做的程序變動數(shù);程序變動數(shù);n維護(hù)過程中增加或刪除一個源語句平均花費的維護(hù)過程中增加或刪除一個源語句平均花費的人人時數(shù);時數(shù);n維護(hù)每種語言源程序花費的人時數(shù);維護(hù)每種語言源程序花費的人時數(shù);n一張維護(hù)申請表的平均周轉(zhuǎn)時間;一張維護(hù)申請表的平均周轉(zhuǎn)時間;n不同維護(hù)類型所占的百分比。不同維護(hù)類型所占的百分比。軟件維護(hù)過程軟件維護(hù)過程n第8章:“維護(hù)” 軟件維護(hù)的定義 軟件維護(hù)的特點 軟件維護(hù)過程 軟件的可維護(hù)性 預(yù)防性維護(hù) 軟件可維護(hù)性

13、可定性地定義為:維護(hù)人員軟件可維護(hù)性可定性地定義為:維護(hù)人員理解、改正、改動和改進(jìn)這個軟件的難易程度。理解、改正、改動和改進(jìn)這個軟件的難易程度。1、用于衡量可維護(hù)性的軟件特性:、用于衡量可維護(hù)性的軟件特性: 可理解性可理解性(Understandability) 是指由是指由文檔代碼文檔代碼理解理解功能運(yùn)行功能運(yùn)行的容易程度。對的容易程度。對外又稱外又稱 user friendliness. 好程序的特征好程序的特征:模塊化、結(jié)構(gòu)化、代碼與設(shè)計:模塊化、結(jié)構(gòu)化、代碼與設(shè)計風(fēng)格一致,高級語言實現(xiàn)。風(fēng)格一致,高級語言實現(xiàn)。 度量方法度量方法:90 - 10 Test 讀源程序讀源程序10分分鐘,能

14、否默寫出鐘,能否默寫出90%?可測試性可測試性(Testability) 是指論證程序正確性的容易程度。是指論證程序正確性的容易程度。 好程序的特征:可理解、可靠、簡單。好程序的特征:可理解、可靠、簡單。 度量方法度量方法:程序復(fù)雜度:程序復(fù)雜度軟件的可維護(hù)性軟件的可維護(hù)性 可修改性可修改性(Reparability) 是指程序容易修改的程度。是指程序容易修改的程度。 好程序的特征好程序的特征:可理解、簡單、通用。:可理解、簡單、通用。 度量方法度量方法: 可移植性可移植性(Portability) 是指程序被移到一個新環(huán)境的容易程度。是指程序被移到一個新環(huán)境的容易程度。 好程序的特征:結(jié)構(gòu)好

15、,不特別依賴于某一具好程序的特征:結(jié)構(gòu)好,不特別依賴于某一具體的計算機(jī)或操作系統(tǒng)。體的計算機(jī)或操作系統(tǒng)。CAD 其中:其中:D = 修改難度;修改難度; A = 要修改模塊的復(fù)雜度要修改模塊的復(fù)雜度 C = 所有模塊的平均復(fù)雜度。所有模塊的平均復(fù)雜度。 D 1表示修改很困難。表示修改很困難。 可靠性可靠性軟件的可維護(hù)性軟件的可維護(hù)性 可使用性可使用性 效率效率(Efficiency) 是指程序能執(zhí)行預(yù)定功能,而又不浪費機(jī)器資源是指程序能執(zhí)行預(yù)定功能,而又不浪費機(jī)器資源(包括內(nèi)存、外存、通道容量、執(zhí)行時間等等)(包括內(nèi)存、外存、通道容量、執(zhí)行時間等等)的程度。的程度。軟件的可維護(hù)性軟件的可維護(hù)性

16、2、文檔、文檔 影響可維護(hù)性的決定因素,影響可維護(hù)性的決定因素,比代碼更重要。比代碼更重要。 用戶文檔:用戶文檔: 功能描述功能描述 說明系統(tǒng)能做什么;說明系統(tǒng)能做什么; 安裝文檔安裝文檔 說明安裝系統(tǒng)的方法及適應(yīng)特定說明安裝系統(tǒng)的方法及適應(yīng)特定的硬件配置的方法;的硬件配置的方法; 使用手冊使用手冊 說明使用方法以及錯誤挽救方法;說明使用方法以及錯誤挽救方法;參考手冊參考手冊 詳盡描述用戶可使用的所有系統(tǒng)設(shè)詳盡描述用戶可使用的所有系統(tǒng)設(shè)施以及它們的使用方法;給出錯誤施以及它們的使用方法;給出錯誤信息注解表;信息注解表;操作員指南(如果需要有系統(tǒng)操作員的話)操作員指南(如果需要有系統(tǒng)操作員的話) 說明操作員處理使用中出現(xiàn)的各種情況的方法。說明操作員處理使用中出現(xiàn)的各種情況的方法。系統(tǒng)文檔:即軟件生產(chǎn)過程中每一步產(chǎn)生的文檔。系統(tǒng)文檔:即軟件生產(chǎn)過程中每一步產(chǎn)生的文檔。軟件的可維護(hù)性軟件的可維護(hù)性分析分析設(shè)計設(shè)計編碼編碼測試測試驗收驗收配置配置復(fù)審復(fù)審可靠性可靠性可移植性可移植性可用性可用性可理解性可理解性可修改性可修改性可測試性可測試性可理解性可理解性可修改性可修改性可移植性可移植性效率效率可靠性可靠性效率效率完整性完整性一致性一致性可理解性可理解性各階段復(fù)審重點:各階段復(fù)審重

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論