1. 首頁
  2. 考試

計算機考試四級軟體維護的複習綱要

計算機考試四級軟體維護的複習綱要

【提要】計算機等級四級資訊 : 全國計算機考試四級複習綱要:軟體維護

軟體維護階段覆蓋了從軟體交付使用到軟體被淘汰為止的整個時期,它是在軟體交付使用後,為了改正軟體中隱藏的錯誤,或者為了使軟體適應新的環境,或者為了擴充和完善軟體的功能或效能而修改軟體的過程。一個軟體的開發時間可能需要一兩年,但它的使用時間可能要幾年或幾十年,而整個使用期都可能需要進行軟體維護,所以軟體維護的代價是很大的,而且維護的代價還在逐年上升,據1994年Software Engineering Encyclopedia記載,在整個軟體生存週期所花費的代價中,20世紀80年代末用於軟體維護的代價約為75%到90年代初為90%。因此,如何提高軟體維護的效率、降低維護的代價成為十分重要的問題。

(一) 軟體維護的分類

根據引用軟體維護的原因,軟體維護通常可分成改正性維護、適應性維護、完善性維護、預防性維護。

1.改正性維護

由於程式正確性證明尚未得到圓滿的解決,軟體測試又不可能找出程式中的所有錯誤,因此,在交付使用的軟體中都可能隱藏著某些尚未被發現的錯誤,而這些錯誤在某種使用環境下會暴露出來。改正性維護就是在使用過程中發現了隱藏的錯誤後,為了診斷和改正這些隱藏錯誤而修改軟體的活動。

2.適應性維護

由於計算機的發展非常迅速,新的機型、新的作業系統、新的軟體系統不斷地湧現,為了適應計算機的飛速發展,可能要更正在執行的.軟體的執行環境,如新的機型、資料庫管理系統等。適應性維護就是為了適應變化了的環境而修改軟體的活動。

3.完善性維護

使用者在使用軟體的過程中,隨著業務的發展,常常希望擴充原有軟體的功能,或者希望改進原有的功能或效能,以滿足使用者的新要求,完善性維護就是為了擴充或完善原有軟體的功能或效能而修改軟體的活動。

4.預防性維護

軟體維護活動主要是上述三類維護,另有一類維護稱為預防性維護,它是為了提高軟體的可維護性和可靠性,為未來的進一步改進打下基礎而修改軟體的活動。據有關資料統計,在整個軟體維護活動中,改正性維護約佔20%,適應性維護約佔25%,完善性維護約佔50%以上,其他維護約佔4%。

(二) 與軟體維護有關的問題

軟體維護人員通常不是該軟體的開發人員,這給軟體維護帶來很大的困難,特別是有些軟體在開發時沒有遵循軟體開發的準則,沒有開發方法的支援,維護這樣的軟體就更困難。下面列舉一些與軟體維護有關的問題。

(1)要維護一個軟體,首先要理解它。而理解別人的程式通常是非常困難的,尤其是對軟體配置(指各種文件)不齊的軟體,理解起來更為困難。

(2)需要維護的軟體往往缺少合格的文件,或者文件資料不齊,甚至沒有文件。在軟體維護中,合格的文件十分重要,它有助於理解被維護的軟體。合格的文件不僅要完整正確地反映開發過程各階段的工作結果,而且應該容易理解並應程式原始碼一致。而錯誤的文件會把對程式的理解引入歧途。

(3)在軟體維護時,不要指望得到原來開發該軟體的人員的幫助。開發人員開發完一個軟體後,往往去從事另一軟體的開發,甚至已調離開發單位。即使原先的開發人員還在,也可能因為相隔時間太久而遺忘了實現的細節。

(4)多數軟體在設計時沒有考慮今後的修改,給軟體的修改帶來困難,而且在修改軟體時容易帶來新的差錯。對那些缺乏模組獨立性和非結構化的程式來說,更是如此。

(5)軟體維護通常不是一件吸引人的工作。從事維護工作常使維護人員感到缺乏成就感。這也嚴重影響維護工作。從而導致維護質量的不高。可以看出,上述的有些問題都與被維護的質量密切相關,所以在開發軟體時,要認真寫好各類文件,並且應注意提高軟體的可維護性,這樣可在很大程式上緩解軟體維護的困難。

(三) 可維護性軟體可維護性是指理解、改正、改動、改進軟體的難易程度。通常影響軟體可維護性的因素有可理解性、可測試性和可修改性。

1.可理解性

2.可測試性

可測試性是指測試和診斷軟體(主要指程式)中錯誤的難易程度。測試主要是發現軟體中的錯誤,而診斷錯誤的性質和出錯的位置通常是除錯的任務。提高軟體可測試性的措施有:書寫詳細正確的文件,採用良好的程式結構,使用測試工具和除錯工具,儲存以前的測試過程和測試用例等等。

3.可修改性

可修改性是指修改軟體(主要指程式)的難易程度。在修改程式時經常會發生這樣的情況:修改程式中某個錯誤的同時又產生新的錯誤(由程式的修改引起的),或者在程式中增加了某個功能的同時,原先的某些功能不能正常執行。這主要是因為程式中各成分之間存在著許多聯絡,當程式中某處修改時,這個修改可能會影響到程式的其他部分。如果修改程式時稍有考慮不周,就會出現上述顧此失彼的情況。因此,如果一處修改所涉及到的範圍越少,發生上述情況的機率也越小,其可修改性也越好。在軟體設計中我們介紹的那些設計準則都是影響可修改性的因素,如資訊隱蔽原則、模組獨立、模組間聯絡的低耦合高

內聚等等。

(四) 軟體維護活動流程

凡是需要軟體維護,都應有一個軟體維護的申請報告。改正性維護的申請報告應完整地描述導致錯誤的環境,包括輸入資料、錯誤清單以及有關的材料。適應性維護或完善性維護的申請報告應提供一份簡短的需求說明書。維護申請書由維護管理員和系統管理員審批。並指明所需修改的性質,申請修改的優先順序,所需的工作量等。維護活動的第一步是確定維護的型別,若是改正性維護,則要估計錯誤的嚴重程度,對嚴重的錯誤,則馬上分派人員執行維護任務;對不嚴重的錯誤,則可將其暫時儲存,在以後適當時候再進行改正。若是適應性維護或完善性維護,則要根據其優先順序來決定維護的先後次序,優先順序高的維護則馬上開始;優先順序低的可暫時儲存,以便統籌安排。適應性維護或完善性維護的過程相當於一個小的開發過程,它同樣要經歷需求分析、設計、編碼、測試等階段。不管是哪種維護,有些工作是每種維護活動都必須做的,如在修改程式程式碼的同時還要修改(如有必要)相應的需求說明文件、設計文件等,還要進行迴歸測試和軟體配置複審等。