軟件維護(hù)特點(diǎn)MaintenanceCharacteristics_第1頁
軟件維護(hù)特點(diǎn)MaintenanceCharacteristics_第2頁
軟件維護(hù)特點(diǎn)MaintenanceCharacteristics_第3頁
軟件維護(hù)特點(diǎn)MaintenanceCharacteristics_第4頁
軟件維護(hù)特點(diǎn)MaintenanceCharacteristics_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、8.1 軟件維護(hù)的概念軟件維護(hù)的概念一般來說,要求進(jìn)行維護(hù)的原因大致有以下幾種:(1)改正程序中的錯(cuò)誤和缺陷。(2)改進(jìn)設(shè)計(jì)以適應(yīng)新的軟、硬件環(huán)境。(3)增加新的應(yīng)用范圍。綜合以上幾種要求進(jìn)行維護(hù)的原因,我們可以把軟件維護(hù)分為以下幾類:1改正性維護(hù)(Corrective Maintenance)2適應(yīng)性維護(hù)(Adaptive Maintenance)3完善性維護(hù)(Perfective Maintenance)4預(yù)防性維護(hù)(Preventive Maintenance)8.1.1 軟件維護(hù)的種類軟件維護(hù)的種類 影響維護(hù)工作量的因素影響維護(hù)工作量的因素1系統(tǒng)的規(guī)模(System scale)2系統(tǒng)

2、的年齡(System age)3系統(tǒng)的結(jié)構(gòu)(System Structure)4程序設(shè)計(jì)語言(Program Languages)5文檔的質(zhì)量(Quality of documentation)8. 2 軟件維護(hù)的特點(diǎn)軟件維護(hù)的特點(diǎn) 8.2.1 軟件工程與軟件維護(hù)的關(guān)系軟件工程與軟件維護(hù)的關(guān)系配置評(píng)價(jià)設(shè)計(jì)計(jì)劃途徑修改設(shè)計(jì)重新編碼評(píng)價(jià)代碼?復(fù)查重新編碼復(fù)查維護(hù)要求交付使用軟件代碼無形的維護(hù)成本:(1)一些看起來是合理的改錯(cuò)或修改的要求不能及時(shí)滿足,使得用戶不滿意;(2)維護(hù)時(shí)產(chǎn)生的改動(dòng),可能會(huì)帶來新的潛伏的故障,從而降低了軟件的整體質(zhì)量;(3)當(dāng)必須把軟件開發(fā)人員抽調(diào)去進(jìn)行維護(hù)工作時(shí),將在開發(fā)過

3、程中造成混亂。8.2.2 維護(hù)成本維護(hù)成本用于軟件維護(hù)的工作量可以分為兩部分:一部分用于生產(chǎn)性活動(dòng),另一部分用于非生產(chǎn)性活動(dòng)。下面的表達(dá)式是由Belady和Lehman提出的維護(hù)工作量的計(jì)算模型:MpKe(c d)M:維護(hù)中消耗的總工作量;p:生產(chǎn)性工作量;K:經(jīng)驗(yàn)常數(shù);c:復(fù)雜程度;d:維護(hù)人員對(duì)軟件的熟悉程度。通過這個(gè)模型可以看出,如果使用了不好的軟件開發(fā)方法,參加維護(hù)的人員都不是原來開發(fā)的人員,那么維護(hù)工作量(及成本)將按指數(shù)級(jí)增加。(1)理解他人編寫的程序一般都有一定的困難性。(2)軟件配置的文檔嚴(yán)重不足甚至沒有,或者沒有合格的文檔。(3)當(dāng)需要對(duì)軟件進(jìn)行維護(hù)時(shí),由于軟件人員經(jīng)常流動(dòng),

4、維護(hù)階段持續(xù)的時(shí)間又很長,所以一般不能指望由原來的開發(fā)人員來完成或提供軟件的解釋。(4)絕大多數(shù)軟件在設(shè)計(jì)時(shí)沒有考慮到將來的修改問題。(5)軟件維護(hù)可以說是一項(xiàng)毫無吸引力的工作。之所以形成這樣一種觀念,一方面是因?yàn)檐浖S護(hù)工作量大,看不到什么“成果”,更主要的原因是因?yàn)榫S護(hù)工作難度大,又經(jīng)常遭受挫折。8.2.3 維護(hù)的問題維護(hù)的問題8.3 軟件維護(hù)過程軟件維護(hù)過程8.3.1 維護(hù)機(jī)構(gòu)維護(hù)機(jī)構(gòu)系統(tǒng)管理員維護(hù)要求維護(hù)管理員修改負(fù)責(zé)人軟件系統(tǒng)維護(hù)管理員負(fù)責(zé)接受維護(hù)申請(qǐng),然后把維護(hù)申請(qǐng)交給某個(gè)系統(tǒng)管理員去評(píng)價(jià)。系統(tǒng)管理員是一名技術(shù)人員,他必須熟悉軟件產(chǎn)品的某一部分。系統(tǒng)管理員對(duì)維護(hù)申請(qǐng)做出評(píng)價(jià),然后交

5、與修改負(fù)責(zé)人確定如何進(jìn)行修改。 維護(hù)申請(qǐng)報(bào)告維護(hù)申請(qǐng)報(bào)告 維護(hù)申請(qǐng)報(bào)告是由軟件組織外部提交的文檔,它是計(jì)劃維護(hù)活動(dòng)的基礎(chǔ)。軟件組織內(nèi)部應(yīng)依此制定相應(yīng)的軟件修改報(bào)告,這個(gè)報(bào)告包括以下內(nèi)容:(1)為滿足某個(gè)維護(hù)申請(qǐng)要求所需的工作量;(2)所需修改變動(dòng)的性質(zhì);(3)申請(qǐng)修改的優(yōu)先級(jí);(4)與修改有關(guān)的事后數(shù)據(jù)。軟件修改報(bào)告應(yīng)提交修改負(fù)責(zé)人進(jìn)行審核批準(zhǔn),以便進(jìn)行下一步工作。 維護(hù)的工作流程維護(hù)的工作流程評(píng)價(jià)錯(cuò)誤嚴(yán)重程度改正性確定類型維護(hù)要求評(píng)價(jià)優(yōu)先次序完善性或適應(yīng)性開始問題分析嚴(yán)重不嚴(yán)重安排改正性維護(hù)錯(cuò)誤改正目錄開始分析維護(hù)任務(wù)復(fù)審開發(fā)目錄低高人員安排修改后的軟件通過后交付使用的軟件人員安排無論是哪一

6、種類型的維護(hù),都要進(jìn)行以下工作:(1)修改軟件設(shè)計(jì);(2)設(shè)計(jì)復(fù)審;(3)對(duì)源代碼的必要修改;(4)單元測試;(5)集成測試,包括回歸測試;(6)驗(yàn)收測試;(7)軟件配置復(fù)審。在每次軟件維護(hù)任務(wù)完成后,需要進(jìn)行必要的情況評(píng)審。這種評(píng)審是對(duì)以下問題的一個(gè)小結(jié):(1)在當(dāng)前情況下,設(shè)計(jì)、編碼、測試中的哪些方面能夠改進(jìn)?(2)哪些維護(hù)資源是應(yīng)該有而實(shí)際上卻沒有的?(3)工作中的主要和次要的障礙是什么?(4)要求的維護(hù)類型中有預(yù)防性維護(hù)嗎? 維護(hù)記錄維護(hù)記錄 對(duì)于維護(hù)記錄中的內(nèi)容,Swanson給出了下述的項(xiàng)目表:(1)程序名稱;(2)源程序語句條數(shù);(3)機(jī)器代碼指令條數(shù);(4)使用的程序設(shè)計(jì)語言;

7、(5)程序的安裝日期;(6)程序安裝后的運(yùn)行次數(shù);(7)與程序安裝后運(yùn)行次數(shù)有關(guān)的處理故障的次數(shù);(8)程序修改的層次和名稱;(9)由于程序修改而增加的源程序語句條數(shù);(10)由于程序修改而刪除的源程序語句條數(shù);(11)每項(xiàng)修改所付出的“人時(shí)”數(shù);(12)程序修改的日期;(13)軟件維護(hù)人員的姓名;(14)維護(hù)申請(qǐng)報(bào)告的名稱;(15)維護(hù)類型;(16)維護(hù)開始時(shí)間和維護(hù)結(jié)束時(shí)間;(17)用于維護(hù)的累計(jì)“人時(shí)”數(shù);(18)維護(hù)工作的凈收益。 維護(hù)評(píng)價(jià)維護(hù)評(píng)價(jià) 一般來說,可以從以下七個(gè)方面來評(píng)價(jià)維護(hù)工作:(1)每次程序運(yùn)行時(shí)的平均出錯(cuò)次數(shù);(2)用于每一類維護(hù)活動(dòng)的總“人時(shí)”數(shù);(3)每個(gè)程序、每

8、種語言、每種維護(hù)類型所做的平均修改數(shù);(4)維護(hù)過程中,增加或刪除每條源程序語句花費(fèi)的平均“人時(shí)”數(shù);(5)用于每種語言的平均“人時(shí)”數(shù);(6)一張維護(hù)申請(qǐng)報(bào)告的平均處理時(shí)間;(7)各類維護(hù)類型所占的百分比。8.4 軟件可維護(hù)性軟件可維護(hù)性可以從以下四個(gè)方面來度是軟件的可維護(hù)性:1可理解性(understandability)2可測試性(testability)3可修改性(Modify-ability)4可移植性(transplant-ability)8.4.1 軟件可維護(hù)性的度量軟件可維護(hù)性的度量 提高軟件可維護(hù)性的方法提高軟件可維護(hù)性的方法 1建立明確的軟件質(zhì)量標(biāo)準(zhǔn)2利用先進(jìn)的軟件技術(shù)和工

9、具3建立明確的質(zhì)量保證制度4選擇可維護(hù)的程序設(shè)計(jì)語言5改進(jìn)軟件的文檔8.5 軟件維護(hù)的副作用軟件維護(hù)的副作用 (1)對(duì)子程序的刪除或修改;(2)對(duì)語句標(biāo)號(hào)的刪除或修改;(3)對(duì)標(biāo)識(shí)符的刪除或修改;(4)為改進(jìn)程序執(zhí)行性能所做的修改:(5)改變文件的打開或關(guān)閉;(6)對(duì)邏輯運(yùn)算符的修改;(7)把設(shè)計(jì)的修改翻譯成程序代碼的修改;(8)對(duì)判定的邊界條件所做的修改。為確保編碼修改沒有引入新的錯(cuò)誤,應(yīng)進(jìn)行嚴(yán)格的回歸測試。一般情況下,通過回歸測試,可以發(fā)現(xiàn)并糾正修改編碼所帶來的副作用。1、修改編碼的副作用、修改編碼的副作用(Coding (1)重新定義局部常量或全程常量;(2)重新定義記錄格式或文件格式;(3)改變一個(gè)數(shù)組或高階數(shù)據(jù)結(jié)構(gòu)的大小;(4)修改全程變量;(5)重新初始化控制標(biāo)記或指針;(6)重新排列輸入輸出或子程序的自變量。修改數(shù)據(jù)的副作用可以通過完善的設(shè)計(jì)文檔來加以限制。這種文檔描述了數(shù)據(jù)結(jié)構(gòu),并且提供了一種把數(shù)據(jù)元素、記錄、文件及其它結(jié)構(gòu)與軟件模塊聯(lián)系起來的交叉對(duì)照功能。2、修改數(shù)據(jù)的副作用、修改數(shù)據(jù)的副作用(Data 維護(hù)應(yīng)該著眼于整個(gè)軟件配置,而不只是源程序代碼的修改。如果源代碼的修改沒有反映在設(shè)計(jì)文檔或用戶文檔中時(shí),就會(huì)發(fā)生文檔的副作用。每當(dāng)對(duì)數(shù)據(jù)流圖、軟件結(jié)構(gòu)、模塊算法過程和

溫馨提示

  • 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)論