淺析計算機軟體維護

才智咖 人氣:1.81W

計算機軟體的維護過程幾乎與開發過程一樣複雜,因而軟體維護活動通常也可定義成軟體生存週期中前幾個階段的重複,下面是小編蒐集整理的一篇探究計算機軟體維護工作的論文範文,供大家閱讀參考。

淺析計算機軟體維護

摘要:系統軟體是計算機組成中非常重要的部分,其維護工作量與費用大約佔軟體壽命週期的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.