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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

4、工作量占生存周期70%以上,維以上,維護(hù)成本約為開(kāi)發(fā)成本的護(hù)成本約為開(kāi)發(fā)成本的4倍倍(80 - 20 Rule); 文檔維護(hù)與代碼維護(hù)同樣重要。文檔維護(hù)與代碼維護(hù)同樣重要。 n第8章:“維護(hù)” 軟件維護(hù)的定義 軟件維護(hù)的特點(diǎn) 軟件維護(hù)過(guò)程 軟件的可維護(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ù)的對(duì)比結(jié)構(gòu)化維護(hù)的對(duì)比維護(hù)要求維護(hù)要求軟件配置軟件配置只有代碼只有代碼評(píng)價(jià)代碼評(píng)價(jià)代碼重編程序重編程序復(fù)復(fù) 查查完整配置完整配置評(píng)價(jià)設(shè)計(jì)文檔評(píng)價(jià)設(shè)計(jì)文檔估計(jì)改動(dòng)影響,計(jì)劃實(shí)施途徑估計(jì)改動(dòng)影響,計(jì)劃實(shí)施途徑修改設(shè)計(jì)

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

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

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

8、nance team): 在維護(hù)活動(dòng)開(kāi)始之前就明確維護(hù)責(zé)在維護(hù)活動(dòng)開(kāi)始之前就明確維護(hù)責(zé)任是十分必要的,這樣可以大大減少維任是十分必要的,這樣可以大大減少維護(hù)過(guò)程中可能出現(xiàn)的混亂護(hù)過(guò)程中可能出現(xiàn)的混亂要要求求維維護(hù)護(hù)維護(hù)管理員維護(hù)管理員系系統(tǒng)統(tǒng)管管理理員員客戶要求客戶要求任務(wù)評(píng)價(jià)任務(wù)評(píng)價(jià)任務(wù)評(píng)價(jià)任務(wù)評(píng)價(jià)變變化化授授權(quán)權(quán)人人 錢(qián)太少錢(qián)太少不干!不干!軟件維護(hù)過(guò)程軟件維護(hù)過(guò)程2、維護(hù)報(bào)告、維護(hù)報(bào)告 維護(hù)申請(qǐng)報(bào)告維護(hù)申請(qǐng)報(bào)告(Maintenance Request Form) 由用戶填寫(xiě)的外部文件,提供錯(cuò)誤情況說(shuō)明由用戶填寫(xiě)的外部文件,提供錯(cuò)誤情況說(shuō)明(輸入數(shù)據(jù),錯(cuò)誤清單等),或修改說(shuō)明書(shū)等。(輸入數(shù)

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

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

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

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

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

14、可測(cè)試性可測(cè)試性(Testability) 是指論證程序正確性的容易程度。是指論證程序正確性的容易程度。 好程序的特征:可理解、可靠、簡(jiǎn)單。好程序的特征:可理解、可靠、簡(jiǎn)單。 度量方法:程序復(fù)雜度度量方法:程序復(fù)雜度軟件的可維護(hù)性軟件的可維護(hù)性 可修改性可修改性(Reparability) 是指程序容易修改的程度。是指程序容易修改的程度。 好程序的特征:可理解、簡(jiǎn)單、通用。好程序的特征:可理解、簡(jiǎn)單、通用。 度量方法:度量方法: 可移植性可移植性(Portability) 是指程序被移到一個(gè)新環(huán)境的容易程度。是指程序被移到一個(gè)新環(huán)境的容易程度。 好程序的特征:結(jié)構(gòu)好,不特別依賴于某一具好程序的

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

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

溫馨提示

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