試論計算機軟件維護

學識都 人氣:1.47W

計算機軟件的維護過程幾乎與開發過程一樣複雜,因而軟件維護活動通常也可定義成軟件生存週期中前幾個階段的重複,下面小編蒐集了一篇探究計算機軟件維護工作的論文範文,歡迎閱讀借鑑。

試論計算機軟件維護

 摘要:系統軟件是計算機組成中非常重要的部分,其維護工作量與費用大約佔軟件壽命週期的67%,因此,計算機軟件維護工作就顯得舉足輕重。本文作者基於多年關於計算機軟件維護的實踐經驗,就軟件維護的方法及如何提高可維護性等方面進行淺談,以期在實際工作中具有借鑑作用。

 關鍵詞:計算機軟件;軟件維護;維護方法

計算機軟件維護是指已完成開發工作、交付使用以後,對軟件產品進行的一些軟件工程活動,其一般可分爲改正性維護、適應性維護、完善性維護、預防性維護4類維護工作。計算機軟件的維護過程幾乎與開發過程一樣複雜,如何有效的進行計算機軟件維護工作是每一個維護工作者需要不斷探討的問題。

 1 計算機軟件維護工作分類

計算機軟件維護工作一般可分爲改正性維護、適應性維護、完善性維護、預防性維護等。

1.1 改正性維護指糾正軟件在使用中出現的錯誤。統計表明,軟件交付使用時仍然有佔總代碼行數的3‰含有缺陷的代碼行未被發現,需在使用中改正,這類錯誤包括設計錯誤、邏輯錯誤、編碼錯誤、文檔錯誤、數據錯誤等。

1.2 適應性維護指使運行的軟件適應外部環境變化。外部環境變化主要包括計算機的硬件升級、操作系統的升級、數據環境的改變或升級,以及有關標準、規則的變化等。

1.3 完善性維護指擴充或增強軟件功能,提高軟件性能。這些新功能和新性能都不是在原軟件需求規格說明書中規定的,而是用戶在使用軟件一段時間後提出的新要求。

1.4 預防性維護指爲了進一步改進維護性和可靠性而對尚可運行的軟件進行更改。它是採用軟件工程的方法,完全地或部分地重新設計、編寫和測試要修改的那部分軟件,以便將來的維護工作更方便。早期開發的軟件是這類維護的重要對象。

 2 計算機軟件維護的主要方法

2.1 軟件維護的基本要求

軟件維護的基本要求主要有:對操作系統實行定期質量控制審查,以確保質量維持在一個可接受的水準上;務必使數據管理員報告的數據足夠準確,防止脫離其數據模型;開發過程中,應有經驗豐富的維護人員參加,以確保軟件開發時考慮到維護的需要;建立並嚴格執行程序設計及文件標準;分析並確認那些維護代價昂貴的老系統,用更現代化的技術對它們進行重新開發;激勵和教育所有數據處理人員採用良好的維護方法等。

2.2 實施軟件維護活動

計算機軟件的維護過程幾乎與開發過程一樣複雜,因而軟件維護活動通常也可定義成軟件生存週期中前幾個階段的重複。其一般步驟爲:確定修改類型;確定修改的需要;提出修改請求;需求分析;認可或否決修改請求;安排任務進度;設計;設計評審;編碼修改和排錯;評審編碼修改;測試;更新文檔;標準審計;用戶驗收;安裝後評審修改對系統的影響。其中有幾個步驟會經常反覆循環,也並不是每次修改都要執行所有的步驟。

實施軟件維護活動中,還應注意以下事項:①建立一個專門的維護組織,以改善對維護的控制並提高效率,激發維護人員的積極性,避免自信心不足。②制定系統維護計劃,其中包括替換廢棄的模塊和新版本計劃。③使用功能強大的維護工具;提供一個使用結構技術的程序修改過程;改進現行系統的文件。④修改程序時,應強調仔細、全面地重新調試和重新驗證;對非緊急的變動和擴充,要經過成本覈算證明,並按計劃進度分批解決;對選擇性維護工作建立用戶自付費用制度;開發人員與維護人員進行輪換,使開發人員對維護方面的要求有一定了解。⑤採用“維護護送”措施,即當一個系統移交給維護人員時,由一位開發程序員協助進行維護。⑥維護人員的配備要少而精;明確每一個維護人員的職責,使維護人員及其管理人員能夠衡量自己的工作績效;從成本、完成時間、現行用戶服務的中斷以及降低軟件質量的風險等方面驗證修改的可行性。⑦研究成功的軟件項目的管理方法,並使之適用於當前維護環境。採用項目管理方法,如主程序員小組概念和結構化普查。

2.3 減少軟件維護的策略

(1)減少糾錯性維護的措施。通過生產出儘量可靠的系統來基本消除糾錯性維護。儘管從投資效益上講,生產100%可靠的軟件並不合算,但使用新的技術可以大大提高可靠性並減少執行糾錯性維護的需要。建議採用的一些新技術,包括數據庫管理系統、應用開發系統、程序自動生成、更高級程序語言、應用軟件包、結構技術、防錯性程序設計、維護審查。(2)減少適應性維護的措施。適應性維護不能完全避免,但肯定能夠控制。例如,把從屬於系統的那些特性都歸到特定的程序模塊中,可以限制爲適應硬件配置變化而必須修改的程序部分。(3)減少完善性維護的措施。使用上述用於糾錯性及適應性維護的方法也可以減少完善性維護。數據庫管理系統、程序自動生成以及軟件包對減少系統及程序員所需的維護支持都是有用的。使用這些功能很強且易於使用的工具,使某些完善性維護工作可以由終端用戶自己來做。採用面向對象開發技術和建立系統原型模型等可以減少今後完善性維護的需要。通過使用如下方法來減少支援性的'維護:最新用戶文件、聯機用戶文件、適當的用戶培訓、專門的維護人員。

 3 提高軟件維護性策略

3.1 提高軟件維護性一般方法

爲提高軟件維護性,可採取以下方法:(1)在軟件開發的開始階段就應建立軟件維護性的觀念。根據用戶需求和軟件運行支持環境以及上述影響維護性的各項因素建立軟件維護性的質量指標和它的優先級。(2)使用提高軟件質量的先進技術和工具,堅持按結構化和模塊化方法進行設計。提供用結構化模塊逐一替換非結構化模塊的途徑,降低程序結構的複雜性。(3)選用維護性好的程序設計語言。(4)採用自動重建結構和重新格式化工具將非結構化代碼轉換爲結構良好的代碼。(5)開發中努力提高軟件的可靠性,以減少改正性維護的工作量。開發時最好能預計到未來使用中可能的變動,使設計具有可修改、可擴充的靈活性。努力提高文檔編制的質量,改進現有系統的不完整文檔。進行各階段有效的質量保證審查。(6)加強軟件維護的管理,建立維護文檔,確保維護中對變更的控制和審查。

3.2 明確不必進行維護而應重新設計的軟件

當一個軟件繼續維護的“成本/效益比”可能會超出重新設計一個系統時,就應考慮重新設計一個軟件系統,而不必再進行維護工作了。其特徵主要爲:(1)軟件經常出錯,性能不斷惡化。(2)程序結構和邏輯流過分複雜,例如:過多使用DO循環;過多使用Ⅳ語句;使用不必要的GOTO語句;過多使用嵌入的常數和文字;使用不必要的全程變量;使用自我修改的代碼;使用多人口或多出口的模塊;使用相互作用過多的模塊;使用執行同樣或相似功能的模塊。(3)過時的代碼嚴重影響系統性能發揮。(4)在仿真方式下運行的系統;模塊或單個子程序非常大的系統。(5)需要過多資源的系統;將易變參數編在代碼中的程序;難以擁有維護人員的用低級語言編寫的程序。

 4 結束語

總之,軟件維護的好壞,在很大程度上決定着計算機軟件系統運行的質量。相關人員要不斷借鑑國內外軟件維護理論和實踐的基礎上,結合我國實際市場經濟條件下現狀,勇於探索、創新有效的軟件維護方法。只有這樣才能更好地適應我國社會主義市場經濟發展的需要,發展我國的計算機事業。

參考文獻:

[1]安宏偉.高校計算機機房軟件維護管理的探索[J].無線互聯科技,2012,7:125.

[2]李丹,劉思維.淺談服務器的硬件維護與軟件維護[J].華章,2012,33:331.

[3]邸鳳英,李鋒.軟件項目維護成本估算模型研究[J].計算機應用與軟件,2012,12:166-170.