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