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