- 相關(guān)推薦
論計算機軟件維護
軟件維護時(shí)要建立正式的維護團隊,明確責任和分工,避免出現糾紛,以下是小編搜集整理的一篇探究計算機軟件工程維護的論文范文,歡迎閱讀查看。
[摘 要]近幾年,中國軟件產(chǎn)業(yè)突飛猛進(jìn),從事軟件行業(yè)的相關(guān)人員大幅增加。但是如何保證開(kāi)發(fā)出來(lái)的軟件能穩定的運行,如何維護用戶(hù)使用的軟件是我國從事軟件行業(yè)人員較為忽略的問(wèn)題。專(zhuān)門(mén)從事維護的相關(guān)人員較少,本文簡(jiǎn)單闡述軟件維護和前景,提出關(guān)于軟件維護的方法和見(jiàn)解。
[關(guān)鍵詞]計算機;軟件工程;維護
軟件產(chǎn)品的維護階段是完全開(kāi)發(fā)出來(lái)的軟件在已經(jīng)交付給用戶(hù)之后,保證能在用戶(hù)所接受的時(shí)間周期下正常且穩定的運行。軟件維護是軟件生命周期的最后階段。開(kāi)發(fā)軟件的目的就是要提高軟件產(chǎn)品的維護性能,盡可能降低軟件在維護階段的工作量,節約軟件開(kāi)發(fā)成本。維護軟件所需工作量較大,據統計,較大型的軟件維護成本是開(kāi)發(fā)成本的四倍以上。國內外較大型軟件開(kāi)發(fā)公司把60%左右的工作量用于維護已經(jīng)開(kāi)發(fā)的軟件。公司為了使軟件的壽命更長(cháng),這方面的工作量會(huì )越來(lái)越高,軟件的維護費用也在逐年增加,70年代維護軟件的費用占開(kāi)發(fā)軟件總預算的37%左右,80年代提高為50%左右,到了90年代已經(jīng)高達75%左右。因此降低軟件維護的成本是軟件開(kāi)發(fā)過(guò)程中最重要的環(huán)節。
一、軟件維護的分類(lèi)
(一)改正性維護:診斷并糾正由于開(kāi)發(fā)時(shí)測試環(huán)節的疏漏和運行中潛伏的錯誤以及開(kāi)發(fā)時(shí)未能測試的錯誤。
(二)適應性維護:隨著(zhù)時(shí)間變化,相匹配的軟硬件出現了更新,數據庫,數據的存儲格式可能會(huì )發(fā)生變化,為了適應變化環(huán)境而對軟件的修正,使之兼容。
(三)完善性維護:為了能提高系統性能和擴充優(yōu)化,改進(jìn)運行效率,完善可視化界面,實(shí)現用戶(hù)提出的建議和改進(jìn)的要求。
(四)預防性維護:為了軟件將來(lái)的前景,采用軟件工程的方法對軟件進(jìn)行相適應的修改。
(五)其他維護:其中,改正性維護所占比例約為19%,適應性維護約為22%,完善性維護約為56%,預防性維護約為1%,其他維護占2%左右。
二、軟件維護的影響因素
(一)人員變動(dòng):往往軟件交付以后就要解散團隊,人員會(huì )被分配到下一個(gè)開(kāi)發(fā)團隊中。當初開(kāi)發(fā)的人員離開(kāi)了團隊,甚至后來(lái)修改該軟件的人員也離開(kāi)了團隊或公司,會(huì )導致幾乎已經(jīng)沒(méi)人徹底了解這個(gè)遺留的軟件,造成軟件徹底報廢。這樣也會(huì )給負責軟件維護的新團隊帶來(lái)困擾,要花費更多精力,浪費了資金。
(二)用戶(hù)要求:當初沒(méi)有簽訂詳細的合同和擬出詳細的計劃書(shū),也沒(méi)有和用戶(hù)進(jìn)行詳細的溝通,導致開(kāi)發(fā)人員認為合理的修改和更新不能滿(mǎn)足用戶(hù)的要求,成本增加。
(三)潛在錯誤:維護人員的改動(dòng)可能會(huì )在軟件中加入潛在的風(fēng)險和錯誤,導致間接降低了軟件的質(zhì)量。本來(lái)是正確的地方,改過(guò)以后變成了錯誤,兼容性變得更差了。
(四)維護成本:維護成本已經(jīng)大于開(kāi)發(fā)一個(gè)新軟件的成本或者大于預計的成本,維護價(jià)值下降。
(五)團隊素質(zhì):簽訂系統維護的合同一般和簽訂系統開(kāi)發(fā)的合同無(wú)直接關(guān)系。假設這個(gè)開(kāi)發(fā)團隊為了節約開(kāi)發(fā)成本,不按照系統可維護性來(lái)設計,那么勢必會(huì )增加維護團隊的維護成本。軟件開(kāi)發(fā)時(shí)采用急功近利還是放眼未來(lái)的態(tài)度,對軟件維護的影響很大。
(六)人員水平:一般公司認為維護軟件不需要太多技術(shù),不如開(kāi)發(fā)軟件聲望好,分配能力較低的員工去做,也會(huì )增加維護的風(fēng)險。
(七)文檔同步:軟件開(kāi)發(fā)人員編碼中不斷修改需求和設計,但是文檔卻沒(méi)有進(jìn)行實(shí)時(shí)更新,造成交付的文檔于實(shí)際軟件出現偏差,使今后對軟件進(jìn)行維護時(shí)出現誤解。
同時(shí),一些軟件滲入了許多相關(guān)的公司業(yè)務(wù)知識,還需要有一定的相關(guān)工作經(jīng)驗,這類(lèi)軟件維護的成本會(huì )更高。目前軟件維護系統的方法不完善,維護工作變得更加困難,意外的發(fā)生也會(huì )導致風(fēng)險隨之增加。軟件維護也會(huì )產(chǎn)生一些副作用,軟件修改是一項很危險的工作,雖然設計文檔化和回歸測試有助于排除錯誤,但是仍然會(huì )產(chǎn)生副作用。副作用指,由于維護和維護過(guò)程中其他的一些不期望的行為引入的錯誤,分為:代碼副作用,數據副作用,文檔副作用。
(1)代碼副作用:修改或刪除子程序,語(yǔ)句符號,標示符。修改文件的open,close才做;修改邏輯操作符;修改對邊界條件的測試等。
(2)數據副作用:全局常量和局部常量的再定義;修改全局數據;重新初始化控制標志和指針,重新排列I/O表或子程序參數表等。
(3)文檔副作用:維護應該統一考慮整個(gè)軟件的配置,而不僅僅是源代碼。
三、維護工作量的模型
M=P+K*exp(c-d)
其中:M是維護需要的總工作量,P是生產(chǎn)性工作量,K是經(jīng)驗指數,c是復雜程度,d是維護人員對該軟件的熟悉程度,該模型表明,如果軟件的開(kāi)發(fā)途徑不好,開(kāi)發(fā)人員不能參加維護工作,維護需要的總工作量和費用將以指數的形勢增加。
四、軟件維護的步驟
總體步驟:修改軟件需求說(shuō)明-修改軟件設計-設計評審-重新編碼-單元測試-集成測試-回歸測試-確認測試-復審。
軟件維護時(shí)要建立正式的維護團隊,明確責任和分工,避免出現糾紛。要建立一份用戶(hù)要求表格,要讓用戶(hù)全面詳細地闡述發(fā)生的問(wèn)題和錯誤,包括問(wèn)題的類(lèi)型,需要達到的目標,系統運行的環(huán)境,發(fā)生問(wèn)題的日期等等。維護過(guò)程中要注意順從原有代碼的編碼習慣,確保和諧。維護申請比較多,可分配優(yōu)先級。修改前要做備份,改后要做測試,完成后要進(jìn)行會(huì )議總結,汲取教訓,分享經(jīng)驗。必要時(shí)還可以專(zhuān)門(mén)為該軟件建立維護指南,使用手冊,簡(jiǎn)要說(shuō)明如何使用和維護這個(gè)軟件。還可以建立參考手冊,可以預示會(huì )發(fā)生出錯的可能情況和錯誤代碼相對應的含義以及解決的辦法,注意要用形式化語(yǔ)言描述。維護完成時(shí),可進(jìn)行回歸測試,測試順利完成后方可交付。軟件隨著(zhù)多次的維護和修改,其可維護性會(huì )變得越來(lái)越差,當可維護性降低到一定程度時(shí),為了滿(mǎn)足用戶(hù)的要求再繼續修改已經(jīng)不可靠了,軟件就會(huì )被拋棄,生命周期終止,失去了利用價(jià)值。
五、軟件維護的前景
目前據筆者了解到,軟件維護相關(guān)人員較少,但是軟件維護成本卻占了軟件開(kāi)發(fā)中成本的大半,許多大型軟件由于缺少維護導致失控而被拋棄。因此如果精通或掌握軟件維護領(lǐng)域相關(guān)知識,能夠熟練完成大型軟件的維護如:ERP的日常維護,SQL數據庫的維護,網(wǎng)頁(yè)服務(wù)器的維護等等,不斷改進(jìn)完善軟件,發(fā)展潛力很大。
當前計算機技術(shù)在整個(gè)國民經(jīng)濟中具有相當廣泛的領(lǐng)域,在人們的日常生活中,計算機技術(shù)可以說(shuō)是無(wú)處不在,是人們生活、工作不可缺少的工具之一,以軟件技術(shù)作為其內在靈魂的計算機信息系統,正在對系統高度集成化、結構廣泛分布化、信息多元化和功能智能化等一系列新型發(fā)展方向越來(lái)越重視,并逐步在實(shí)踐中得以實(shí)現。軟件維護是一項綜合性很強的工作,隨著(zhù)軟件規模和復雜度的日益提高,使軟件維護成為軟件生存周期中費用最高、難度最大的一個(gè)階段。因此,良好的軟件維護是軟件生命周期的最后階段,也是最重要的階段。
參考文獻
[1] 吳杰明,張正.實(shí)用軟件維護策略[J]..北方工業(yè)大學(xué)學(xué)報,2002,14,3:61-62 .
[2] 張海藩.軟件工程導論[M].第五版.北京:清華大學(xué)出版社,2008,5:191.
[3] 周全學(xué).軟件維護淺析[J].鐵路計算機應用,2003,12:42-43.
【論計算機軟件維護】相關(guān)文章:
論旋耕機的使用與日常維護03-18
計算機軟件可維護性方法研究03-28
探究計算機軟件可維護性方法11-15
談?dòng)嬎銠C軟件工程管理維護03-05
淺析計算機軟件工程管理維護12-06
計算機軟件可維護性方法的探索12-04
計算機軟件工程的管理和維護分析03-28
論物權行為與交易各方利益的維護03-24
淺議計算機軟件工程維護措施和方法12-03