- 相關推薦
計算機軟件的維護策略解析
一、軟件可維護性的概述
一個軟件在實際的運行過程中,都會出現(xiàn)一些細節(jié)上和實際不相符的部分,在此情況下,就需要設計該軟件的單位根據(jù)現(xiàn)有的情況和需求,對開發(fā)的軟件進行不斷地修正和完善,通過改變軟件自身來使其適應現(xiàn)有運行平臺對軟件提出的各種要求,這一過程稱之為軟件維護。根據(jù)軟件進行維護的目的性不一樣,可以將維護的過程分為四種類型,分別是糾正錯誤類型、預防錯誤發(fā)生類型、適應運行平臺類型、改善軟件自身類型。在這四個類型當中,糾錯是指軟件在運行的過程當中,針對其顯示出的各種自身問題進行分析,并且提出解決的對策:預防即要求軟件的開發(fā)者能夠預見到現(xiàn)有的,以及即將產生的各種病毒類型,提前對軟件進行設計,防比其日后受到病毒的侵入:適應是指軟件在自身不斷的運行過程中,根據(jù)運行平臺等外部環(huán)境對其提出的各種需求,不斷做出調整,以求適應該運行平臺:完善是指,根據(jù)每個需求的特點,軟件能夠不斷地改進自身的性能,能夠更好地滿足各種需求。
軟件的可維護性主要有四種突出的特性。
一是其容易被分析即指針對軟件內部存在的各種毛病、漏洞,能夠即時地被發(fā)現(xiàn),診斷出來:
二是易改動。該特性是指,一旦發(fā)現(xiàn)了該軟件存在一些問題,其是否能夠被及時地修改和完善:三是穩(wěn)定的特性。發(fā)現(xiàn)了軟件存在問題,就要對其進行修改和完善,那么軟件自身能否應對由此產生的各種風險,這就是穩(wěn)定性的本質:四是易測試性在修復了軟件存在的各種問題的時候,針對修復的效果能否在較短的時間內,進行估測。
二、影響軟件維護的要素分析
(一)設計團隊的變化:很多軟件設計團隊,在完成了一項軟件設計的時,會解散該團隊,很快各自都找到新的團隊,開展新的軟件設計工作。原本對該軟件設計有所了解的成員逐漸離開了團隊,隨著人員的不斷變動,到最后余下的員工很可能對該軟件最初開發(fā)的目的、方法都不是很了解,導致該軟件無法在后期得到修復和完善,最終導致報廢這樣不僅會浪費大量的人力、財力、物力,同時也會給新的工作團隊平添工作量。
(二)用戶的需求:在最初簽訂軟件的開發(fā)和修改合同的時候,維護人員和客戶沒有進行很好的溝通,沒有很好的了解顧客的需求,導致在后期的修改當中,很多設計人員按照自己的意思來對軟件進行修改,和客戶的需求根本不相符。
(三)隱性錯誤:很多維護軟件的工作者,在對軟件進行維護的時候,會在軟件的內部加入一些隱性的風險,降低了軟件的整體質量。
(四)團隊素質:一個團隊素質的高低,同樣也對軟件維護的質量到很大的影響。員工是否具有軟件維護的專業(yè)技能,能否解決顧客提出的各種問題。該團隊是否是屬于急功近利型,一味追求經(jīng)濟利益,而忽略了質量的追求等等,都是需要考慮的因素。
三、軟件維護的策略 對軟件的維護,主要分為九個主要的步驟。首先要仔細閱讀客戶對自己軟件提出的需求說明,在了解客戶需求的基礎上,來針對問題軟件繼續(xù)修改設計,列出設計方案進行評審,評審通過后,開始重新編碼,然后進行單位測試、集成測試、同歸測試這三項測試,待測試完成之后,確認測試,最后在一次進行評審對軟件的維護工作,不能大意,因此應有一只專門團隊來對軟件進行維護,且在團隊內部要明確每一個成員的工作任務和責任,避免資源的重復利用和未充分利用在接受客戶需求時,要為客戶發(fā)一張需求登記表,客戶在該表上填寫軟件出現(xiàn)的問題,包括問題的具體類別,希望通過修改達到的效果,軟件運行的平臺,出現(xiàn)問題的場合和時間等在對軟件進行修改和完善的過程中,要仔細分析源編碼設計的原理、習慣,對其進行遵守,不要輕易地更改,以保證軟件在修改前后能夠保持和諧。若是一個客戶提出了多個維護的需求,可以更具需求等級的高低,對其進行順序的劃分在修改該軟件之前,要對該軟件進行備份處理,在軟件完成修改之后,要對軟件進行及時地調試,最后開會對該軟件進行評議,并且做出總結,從本次軟件的修改當中,能夠收獲成功的經(jīng)驗,同時也能吸取失敗的教訓。軟件的修改人員之間要互相交流和分享彼此的經(jīng)驗。若是軟件修改的幅度比較大,修改人員應當針對自己修改的情況制定一個修改的說明書,具體說明修改了哪些部分,被修改之后的軟件如何使用和進行日常的維護。除了編寫說明手冊之外,還可以編寫參考手冊。針對該軟件可能會發(fā)生的錯誤情況進行預測,并在該手冊中寫出會出現(xiàn)的情況,具體解決辦法。注意該語言的運用要通俗易懂,因為很多客戶并不具備很多的計算機專業(yè)知識。在對該軟件完成維護之后,要進行同歸測試,測試圓滿完成后,可交給客戶去使用。一個軟件,在進行了多次修改和完善之后,其維護性就會逐漸降低,當其降低到一個最低程度時,再一次修改己無法滿足客戶提出的需求,因此應當放棄該軟件,重新根據(jù)客戶需求開發(fā)新的軟件。
四、軟件維護的副作用
對軟件進行反復的修改和完善,雖然可以滿足客戶提出的不同需求,但是其自身也有一定的風險。因為從理淪上來說,在每一次對軟件進行修改的同時,都增加了錯誤發(fā)生的可能性。對該錯誤的發(fā)現(xiàn),可以通過文檔的設計和最后的同歸測試來解決,但是仍然不能忽視一個問題,就是維護軟件會產生的負面效果。其主要表現(xiàn)在如下的幾個方面: 代碼修改:對代碼的修改一定要謹慎,不到逼不得己,盡量不要修改。因為一個看似很簡單的代碼修改工作,就可能對整個軟件產生很大的影響,影響可能大到整個軟件無法正常運行。雖然副作用有大有小,但是不可否認的是,對代碼進行修改很可能就會產生一些錯誤,而正是由于這些看似很小的錯誤,導致軟件質量的下降。因此,在代碼修改過程中,一定要貫徹一個法則, 數(shù)據(jù)結構的修改:在修改軟件過程中,會不可避免地對數(shù)據(jù)結構也進行一定的修改。數(shù)據(jù)結構在整個軟件中,占據(jù)很重要的地位。因此在對其進行維護的時候,需要對立面的部分要素進行完善,完善過后的軟件可能無法再適應現(xiàn)有的數(shù)據(jù),導致其在日后的運行出現(xiàn)錯誤。這就需要軟件維護者,在設計文檔的時候謹慎,降低數(shù)據(jù)修改帶來的風險。
五、結束語
隨著計算機的不斷估計,軟件應用的范圍也越來越廣,滲透到我們生活、學習、工作的各個角落軟件的維護是軟件生命的最后一個階段,但是我們不能忽視其重要性。作為軟件工作者,應當在開發(fā)出一個好軟件的同時,也能夠對軟件的可維護性的提高做出自己的貢獻,使軟件的可維護性能夠有所提升,降低日后軟件維護的費用和次數(shù),同時也可以提高一個軟件開發(fā)公司在市場當中的競爭力,為企業(yè)帶來更好的經(jīng)濟效益。