李 峰
摘要:許多計算機軟件的維護十分困難,為了使軟件能維護方便,必須考慮軟件的可維護性。文章對計算機軟件系統的運行和維護進行了探討。
關鍵詞:計算機;軟件系統運行;系統維護
中圖分類號:TP317文獻標識碼:A
文章編號:1674-1145(2009)21-0165-02
一、引起維護活動的原因
1.改正性維護:軟件交付使用后,它將不得不隱藏錯誤的運行階段,在使用某些條件將被曝光。為了識別并改正錯誤修正軟件,軟件缺陷的性能,消除誤差應實現的診斷,并改正錯誤,這個過程叫做改正性維護。
2.適應性維護:隨著計算機的飛速發展和外部環境(新硬件、軟件配置)或數據環境(數據庫、數據格式,數據輸入/輸出數據的存儲介質,可能會改變,以適應這種變化,以及軟件來修改軟件過程稱為適應性維護。
3.完善性維護:在軟件的使用過程中,用戶提出的新軟件的功能和性能要求。為了滿足這些要求,需要修改或開發的軟件由于需求的轉變,適應性的維護和改進維護工作量逐漸增加。實踐表明,在某些維修保養、比例、完美的擴張,提高用戶要求從軟件功能和性能的維修活動大約50%的維修工作。
4.預防性維護:除了以上三類維護之外,還有一類維護活動,叫做預防性維護。這是為了提高系統的可靠性和可維護性的軟件,軟件進行了進一步的改進和奠定良好的基礎。通常,維護被定義為:昨天的方法來滿足需求的系統明天。即,采用先進的軟件工程的方法來維護軟件或軟件的一個部分的設計、制備方法和測試。
二、影響維護工作量的因素
1.系統大小:系統越大,理解掌握起來越困難,所執行功能越復雜。因而需要更多的維護工作量。
2.程序設計語言:語言的功能,為生成過程的指令數較少。語言的功能,弱者為相同的功能、語句。有許多軟件在編程語言書寫,邏輯的和復雜的障礙,沒有模塊化和結構,直接影響了程序的可讀性。
3.系統年齡:舊的系統,結構不斷修改,由于維護人員經常會改變程序又變得越來越難以理解。由于長期的維護工藝文件在許多地方和程序實現成為不一致的,所以當將在維護是很困難的。
4.數據庫技術的應用:使用數據庫,可以簡單而有效地管理和存儲用戶程序中的數據,還可以減少生成用戶報表應用軟件的維護工作量。
5.先進的軟件開發技術:在軟件開發時,若使用能使軟件結構比較穩定的分析與設計技術及程序設計技術,如面向對象技術、復用技術等,可減少大量的工作量。
三、軟件維護的策略
1.改正性維護。生產100%可靠的軟件成本太高,不值得。但是通過使用新技術可以大大提高了系統的可靠性和減少需要正確的保養。這些包括數據庫管理系統、軟件開發環境、程式會自動生成系統等,并對上述四種方法可以產生更可靠的代碼。此外,使用這個應用程序包,可以培養全面發展由用戶自己的軟件系統的可靠性更高,應用結構技術的軟件開發是很容易理解和測試,通過防錯性程序的設計方案,通過介紹變態的自檢能力,通過提供定期檢討追蹤檢查,維修保養問題才能確定質量缺陷。
2.適應性維護。這種維護是不可避免的,但可以控制的。在配置管理、硬件、操作系統和其他相關的環境因素變化方面考慮,可以減少維護工作量。有些適應性與硬件、操作系統及周邊設備相關的特定程序可以修改程序模塊所造成的環境變化和程序必須在某些地方程序模塊。利用內部及外部的文件列表,常規治療,可以修改程序為維護方便。
3.完善性維護。利用前兩類維護中列舉的方法,也可以減少這一類維護。特別是數據庫管理系統、程序生成器、應用軟件包,可減少系統或程序員的維護工作量。
四、軟件維護中的程序修改
完整、準確、快速的理解是確定的計劃的成功或失敗的維護和優良的品質,因此,該軟件的理解和文件的質量的關鍵是非常重要的。
1.數據跟蹤:建立各層次的程序級上的接口圖,展示各模塊或過程的調用方式和接口參數;利用數據流分析方法,對過程內部的一些變量進行跟蹤;維護人員通過這種數據流跟蹤,可獲得有關數據在過程間如何傳遞,在過程內如何處理等信息。
2.控制跟蹤:控制流跟蹤同樣可在結構圖基礎上或源程序基礎上進行。可采用符號執行或實際動態跟蹤的方法,了解數據如何從一個輸入源到達輸出點的。
五、軟件維護中對程序的修改
在這個過程中,必須制定一個計劃、有序、細致的有效的實施。程序的修改員工和資源配置,內容主要包括:規格,如修改的數據和信息處理變更時,控制系統被修改,這個語言之間的接口的修改,等等。維護的程序,如一個新版本所需要的資源,以及軟件測試數據系統、計算機時間;等等。研究人員,如程序員,用戶對有關人員、技術支持人員,廠家聯系,數據LuRuYuan等等。鑒于上述每一個向他解釋的必要性,開始做,是否接受,日期等。通常采用自頂向下的方法在理解的基礎上,對研究項目,項目模塊和數據庫模塊的接口的角度出發,提出從全球的計劃。
1.靜態確認:修改軟件,伴隨著引起新的錯誤的危險。為了能夠做出正確的判斷,驗證修改后的程序至少需要兩個人參加。要檢查修改是否涉及規格說明,修改結果是否符合規格說明,有沒有歪曲規格說明,程序的修改是否足以修正軟件中的問題,源程序代碼有無邏輯錯誤,修改時有無修補失誤,修改部分對其他部分有無不良影響(副作用)?
2.計算機確認:在充分進行了以上確認的基礎上,要用計算機對修改程序進行確認測試。確認測試順序:先對修改部分進行測試,然后隔離修改部分,測試程序的未修改部分,最后再把它們集成起來進行測試,這種測試稱為回歸測試。準備標準的測試用例;充分利用軟件工具幫助重新驗證過程;在重新確認過程中,需邀請用戶參加。
3.維護后的驗收:交付新軟件之前,維護主管部門要檢驗:全部文檔是否完備并已更新;所有測試用例和測試結果已經正確記載;記錄軟件配置所有副本的工作已經完成;維護工序和責任已確定。
六、結語
許多軟件維護是非常困難的,因為這些軟件文檔和源程序修改和難以理解。原則上,軟件開發工作,嚴格按照軟件工程的要求,遵循標準和特殊的軟件。但由于種種原因,通常并不能真正做到。因此,軟件維護工作量增大,成本上升,修正錯誤的利率上升。此外,許多維護要求,并不是因為他的程序錯誤,但為了適應環境的變化,或者需要改變。由于維護、維修工作很困難,他愿意引進一個新問題的軟件或引進新的錯誤。因此,為了使軟件能維護方便,必須考慮到軟件的可維護性。
參考文獻
[1]李佐斌.利用OLE自動化和VBA的Delphi動態報表的研究與實現[D].武漢理工大學,2006.
[2]楊建宏.基于XML的異構數據集成及報表的研究與應用[D].昆明理工大學,2007.
[3]陸紅宇,鄭健兵.用VB5.0開發報表程序[A].中國水力發電工程學會大壩安全監測專業委員會年會暨學術交流會論文集[C].2000.
作者簡介:李峰,男,供職于河南旅游集團有限公司,研究方向:計算機軟件系統運行與維護。