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