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