1. 首頁
  2. 計算機軟體

計算機軟體的維護策略解析

計算機軟體的維護策略解析

一、軟體可維護性的概述

一個軟體在實際的執行過程中,都會出現一些細節上和實際不相符的部分,在此情況下,就需要設計該軟體的單位根據現有的情況和需求,對開發的軟體進行不斷地修正和完善,透過改變軟體自身來使其適應現有執行平臺對軟體提出的各種要求,這一過程稱之為軟體維護。根據軟體進行維護的目的性不一樣,可以將維護的過程分為四種類型,分別是糾正錯誤型別、預防錯誤發生型別、適應執行平臺型別、改善軟體自身型別。在這四個型別當中,糾錯是指軟體在執行的過程當中,針對其顯示出的各種自身問題進行分析,並且提出解決的對策:預防即要求軟體的開發者能夠預見到現有的,以及即將產生的各種病毒型別,提前對軟體進行設計,防比其日後受到病毒的侵入:適應是指軟體在自身不斷的執行過程中,根據執行平臺等外部環境對其提出的各種需求,不斷做出調整,以求適應該執行平臺:完善是指,根據每個需求的特點,軟體能夠不斷地改進自身的效能,能夠更好地滿足各種需求。

軟體的可維護性主要有四種突出的特性。

一是其容易被分析即指標對軟體內部存在的各種毛病、漏洞,能夠即時地被發現,診斷出來:

二是易改動。該特性是指,一旦發現了該軟體存在一些問題,其是否能夠被及時地修改和完善:三是穩定的特性。發現了軟體存在問題,就要對其進行修改和完善,那麼軟體自身能否應對由此產生的各種風險,這就是穩定性的本質:四是易測試性在修復了軟體存在的各種問題的時候,針對修復的效果能否在較短的時間內,進行估測。

二、影響軟體維護的要素分析

(一)設計團隊的變化:很多軟體設計團隊,在完成了一項軟體設計的時,會解散該團隊,很快各自都找到新的團隊,開展新的軟體設計工作。原本對該軟體設計有所瞭解的成員逐漸離開了團隊,隨著人員的不斷變動,到最後餘下的員工很可能對該軟體最初開發的目的、方法都不是很瞭解,導致該軟體無法在後期得到修復和完善,最終導致報廢這樣不僅會浪費大量的人力、財力、物力,同時也會給新的工作團隊平添工作量。

(二)使用者的需求:在最初簽訂軟體的開發和修改合同的時候,維護人員和客戶沒有進行很好的溝通,沒有很好的瞭解顧客的需求,導致在後期的修改當中,很多設計人員按照自己的意思來對軟體進行修改,和客戶的需求根本不相符。

(三)隱性錯誤:很多維護軟體的工作者,在對軟體進行維護的時候,會在軟體的內部加入一些隱性的風險,降低了軟體的整體質量。

(四)團隊素質:一個團隊素質的高低,同樣也對軟體維護的質量到很大的影響。員工是否具有軟體維護的專業技能,能否解決顧客提出的各種問題。該團隊是否是屬於急功近利型,一味追求經濟利益,而忽略了質量的追求等等,都是需要考慮的因素。

三、軟體維護的策略 對軟體的維護,主要分為九個主要的步驟。首先要仔細閱讀客戶對自己軟體提出的需求說明,在瞭解客戶需求的基礎上,來針對問題軟體繼續修改設計,列出設計方案進行評審,評審通過後,開始重新編碼,然後進行單位測試、整合測試、同歸測試這三項測試,待測試完成之後,確認測試,最後在一次進行評審對軟體的維護工作,不能大意,因此應有一隻專門團隊來對軟體進行維護,且在團隊內部要明確每一個成員的工作任務和責任,避免資源的重複利用和未充分利用在接受客戶需求時,要為客戶發一張需求登記表,客戶在該表上填寫軟體出現的問題,包括問題的具體類別,希望透過修改達到的效果,軟體執行的平臺,出現問題的場合和時間等在對軟體進行修改和完善的過程中,要仔細分析源編碼設計的原理、習慣,對其進行遵守,不要輕易地更改,以保證軟體在修改前後能夠保持和諧。若是一個客戶提出了多個維護的需求,可以更具需求等級的高低,對其進行順序的劃分在修改該軟體之前,要對該軟體進行備份處理,在軟體完成修改之後,要對軟體進行及時地除錯,最後開會對該軟體進行評議,並且做出總結,從本次軟體的修改當中,能夠收穫成功的經驗,同時也能吸取失敗的教訓。軟體的修改人員之間要互相交流和分享彼此的經驗。若是軟體修改的幅度比較大,修改人員應當針對自己修改的情況制定一個修改的說明書,具體說明修改了哪些部分,被修改之後的軟體如何使用和進行日常的維護。除了編寫說明手冊之外,還可以編寫參考手冊。針對該軟體可能會發生的錯誤情況進行預測,並在該手冊中寫出會出現的情況,具體解決辦法。注意該語言的運用要通俗易懂,因為很多客戶並不具備很多的計算機專業知識。在對該軟體完成維護之後,要進行同歸測試,測試圓滿完成後,可交給客戶去使用。一個軟體,在進行了多次修改和完善之後,其維護性就會逐漸降低,當其降低到一個最低程度時,再一次修改己無法滿足客戶提出的需求,因此應當放棄該軟體,重新根據客戶需求開發新的軟體。

四、軟體維護的副作用

對軟體進行反覆的`修改和完善,雖然可以滿足客戶提出的不同需求,但是其自身也有一定的風險。因為從理淪上來說,在每一次對軟體進行修改的同時,都增加了錯誤發生的可能性。對該錯誤的發現,可以透過文件的設計和最後的同歸測試來解決,但是仍然不能忽視一個問題,就是維護軟體會產生的負面效果。其主要表現在如下的幾個方面: 程式碼修改:對程式碼的修改一定要謹慎,不到逼不得己,儘量不要修改。因為一個看似很簡單的程式碼修改工作,就可能對整個軟體產生很大的影響,影響可能大到整個軟體無法正常執行。雖然副作用有大有小,但是不可否認的是,對程式碼進行修改很可能就會產生一些錯誤,而正是由於這些看似很小的錯誤,導致軟體質量的下降。因此,在程式碼修改過程中,一定要貫徹一個法則, 資料結構的修改:在修改軟體過程中,會不可避免地對資料結構也進行一定的修改。資料結構在整個軟體中,佔據很重要的地位。因此在對其進行維護的時候,需要對立面的部分要素進行完善,完善過後的軟體可能無法再適應現有的資料,導致其在日後的執行出現錯誤。這就需要軟體維護者,在設計文件的時候謹慎,降低資料修改帶來的風險。

五、結束語

隨著計算機的不斷估計,軟體應用的範圍也越來越廣,滲透到我們生活、學習、工作的各個角落軟體的維護是軟體生命的最後一個階段,但是我們不能忽視其重要性。作為軟體工作者,應當在開發出一個好軟體的同時,也能夠對軟體的可維護性的提高做出自己的貢獻,使軟體的可維護效能夠有所提升,降低日後軟體維護的費用和次數,同時也可以提高一個軟體開發公司在市場當中的競爭力,為企業帶來更好的經濟效益。