淺析計算機軟體維護的相關論文
計算機軟體維護是指已完成開發工作、交付使用以後,對軟體產品進行的一些軟體工程活動。下面是小編給大家推薦的,希望大家喜歡!
篇一
《淺析計算機軟體維護》
摘要:隨著社會的發展,計算機在各行各業都取得了巨大的應用,同時,計算機軟體的維護也成了軟體發展的一大問題,由於軟體維護涉及的問題較多,所以在維護的過程中有較多需要我們注意的地方。而對於計算機軟體的維護不僅關乎使用者的使用,更與軟體公司的開發成本息息相關,因此對於計算機軟體維護的研究具有重要的意義。筆者從事計算機軟體工作,對於其維護有著一定的經驗及感觸,本文結合筆者自身經驗,對於計算機軟體維護概念、它有怎樣的特點、我們在維護過程中需要注意哪些問題等等進行了分析與探討,旨在對於計算機軟體的維護起到一定的指導作用。
關鍵詞:計算機軟體;維護
中圖分類號:TP393 文獻標識碼:A 文章編號:1007-9599 2012 11-0000-02
一、引言
計算機軟體的應用已經融入到我們工作、生活的方方面面。在軟體取得巨大成功的同時,我們的軟體開發公司也受到了軟體維護的困擾,如何做好軟體的維護,提高自身競爭力關係重大。
二、軟體維護的定義及型別
1計算機軟體維護的定義是指在軟體執行的時候或者維護階段針對軟體做出的修改,最終提升使用者使用體驗的工作。
2普遍來說,計算機軟體維護的型別可分為:改正性維護、適應性維護、完善性維護以及預防性維護這四種。
其中,改正性維護是以對開發週期中沒有能發現的或者遺留錯誤進行改正為目的,這種維護在總維護中佔到大概20%。
適應性維護是指標對軟體的執行環境的對軟體進行改變的維護;適應性維護可以適應於由於硬體或者支援軟體改變進而帶來的變化、把軟體移植到新機器上等。
完善性維護是以提高軟體的效能及軟體的可維護性為目的對進行的軟體修改過程,這種維護在總維護中佔主體地位,大概佔到了50%。
預防性維護是指以提高軟體的可維護性以及可靠性而對軟體而進行的修改。這種維護較少,大概只佔到4%左右。
三、軟體維護的特點
一結構化維護與非結構化維護差別巨大
1.非結構化維護。
如果軟體配置的惟一成分是程式程式碼,那麼維護活動從艱苦地評價程式程式碼開始,而且常常由於程式內部文件不足而使評價更困難,這就導致了容易對軟體的結構、系統的結構以及效能涉及約束等產生一定的誤解。
此外,對程式程式碼所做的改動的後果也是難於估量的:由於測試方面文件的缺失,因而我們就不能夠進行迴歸測試,即為了保證所做的修改沒有在以前可以正常使用的軟體功能中引入錯誤而重複過去做過的測試。非結構化維護需要付出很大代價浪費精力並且遭受挫折的打擊,這種維護方式是沒有使用良好定義的方法開發出來的軟體的必然結果。
2.結構化維護。
相對於非結構化維護,結構化維護是指使用軟體工程思想指導軟體每一個階段文件的開發。這種維護使得理解和掌握軟體的功能、系統的結構以及系統接等更加容易。能夠幫助減少維護過程的精力、降低花銷、提升維護效率。
二維護的代價
從已經過去的時間上來看,花費在軟體維護上的經費在逐漸增加。花費在維護已有軟體上的費用在1970年用只佔到軟體的總預算35%到40%,到1980年的時候就已經上升到了40%到60%,而到1990年的時候更加明顯的上升到了70%至90%。
維護費用只不過是軟體維護的最明顯的代價,在未來,人們會更加關心那些其他的、顯現不明顯的一些代價。由於可用的資源必須供維護任務使用的特點,這就容易帶來耽誤、嚴重時喪失開發良機的問題,這種代價就是一種是軟體維護的無形代價。
此外,還有其他無形的代價還有:對於看來合理的有關改錯以及修改要求未能夠及時完成時會導致使用者滿意度下降;因為維護時進行的改動而導致的在軟體中出現潛伏錯誤,進而影響了軟體質量;在需要將軟體工程師調去進行維護工作的時候,這會導致在開發的過程中出現一定的混亂。
軟體維護的最後一個代價是生產率的大幅度下降,這種情況在維護舊程式時常常遇到。例如,Gausler在1976年的時候曾報道,美國空軍的飛行控制軟體的每條指令的開發成本只有75美元,相對而言,而每條指令的維護成本甚至達到了4000多美元,這也就是說軟體維護使得在生產效率中出現50倍的下降。
在維護工作中,勞動可以分為生產性活動和非生產性活動兩個方面。
生產性勞動包括:對於軟體的分析評價;軟體修改的設計以及編寫軟體的程式程式碼等。
非生產型勞動包括:對於程式程式碼功能的理解、對於資料結構的解釋、介面特點和效能限度等
以下這一模型對於我們理解維護的工作量有一定的幫助:M=P+Kexpc—d,可以在一定程度上指導我們的工作。M是指總的工作量,p是維護時生產性的工作量,k定義為經驗指數,c是指工作複雜的程度,d是指工作者對軟體熟悉的程度。
四、影響維護工作量的因素
在軟體的維護過程中,影響維護工作量的因素可以分為以下幾個方面:
1首先軟體維護的過程這就帶來了理解別人寫的程式時會出現很多困難,這種困難隨著軟體配置成分的減少會出現較大的增幅。
2維護,這就說明了軟體往往會出現文件不全的現象,這也會增加維護難度。
3在軟體開發設計的時候對於維護工作沒有進行過多的考慮。
4軟體公司的人員流動性非常強,很容易開發人員在出現開發完就不見人的情況。
5很難對軟體的建立過程進行追蹤。
五、軟體維護的副作用
修改軟體是危險的。在複雜的邏輯過程中,每一次修改都可能使潛在的錯誤增加。設計文件和細心的迴歸測試有助於消除錯誤,但仍然不可避免地出現維護的副作用。這種副作用主要體現在以下幾個方面:
修改程式碼的副作用:程式碼不能隨意的修改,最為簡單的修改都有可能導致非常嚴重的後果。雖然不是所有的副作用都有嚴重的後果,但修改容易招致錯誤,而錯誤經常造成各種問題。在這裡我們需要再一次強調Murphy的法則:如果一個源語句進行一個修改,它將可能導致新的錯誤。