關于計算機軟件可維護性方法
計算機軟件可維護性方法,在設計計算機系統時,必須全局考慮軟件與硬件的結合,以及用戶的要求和軟件的要求。
1、建立明確的軟件質量目標和優先級
一個可維護的程序應是可理解的、可靠的、可測試的、可修改的、可移植的、效率高的和可使用的。但要實現這所有的目標,需要付出很大的代價,而且也不一定行得通。因為某些質量特性是相互促進的,例如可理解性和可測試性、可理解性和可修改性。但另一些質量特性卻是相互抵觸的,例如效率和可移植性、效率和可修改性等。因此,盡管可維護性要求每一種質量特性都要得到滿足,但它們的相對重要性應隨程序的用途及計算環境的不同而不同。
2、使用提高軟件質量的技術和工具
模塊化是軟件開發過程中提高軟件質量,降低成本的有效方法之一,也是提高可維護性的有效的技術。它的優點是如果需要改變某個模塊的功能,則只要改變這個模塊,對其他模塊影響很小;如果需要增加程序的某些功能,則僅需增加完成這些功能的新的模塊或模塊層;程序的測試與重復測試比較容易;程序錯誤易于定位和糾正;容易提高程序效率。使用結構化程序設計技術,提高現有系統的可維護性。采用備用件的'方法,當要修改某一個模塊時,用一個新的結構良好的模塊替換掉整個模塊。這種方法要求了解所替換模塊的外部(接口)特性,可以不了解其內部工作情況。它有利于減少新的錯誤,并提供了一個用結構化模塊逐步替換掉非結構化模塊的機會。采用自動重建結構和重新格式化的工具(結構更新技術)。采用如代碼評價程序、重定格式程序、結構化工具等自動軟件工具——把非結構化代碼轉換成良好結構代碼。改進現有程序的不完善的文檔。改進和補充文檔的目的是為了提高程序的可理解性,以提高可維護性。采用結構化小組程序設計的思想和結構文檔工具。軟件開發過程中。建立主程序員小組,實現嚴格的組織化結構,強調規范,明確領導以及職能分工,能夠改善通信、提高程序生產率;在檢查程序質量時,采取有組織分工的結構普查,分工合作,各司其職,能夠有效地實施質量檢查。同樣,在軟件維護過程中,維護小組也可以采取與主程序員小組和結構普查類似的方式,以保證程序的質量。
3、進行明確的質量保證審查
質量保證審查對于獲得和維持軟件的質量,是一個很有用的技術,還可以用來檢測在開發和維護階段內發生的質量變化。一旦檢測出問題來,就可以采取措施來糾正,以控制不斷增長的軟件維護成本,延長軟件系統的有效生命期。為了保證軟件的可維護性,有4種類型的軟件審查。
在檢查點進行復審。保證軟件質量的最佳方法是在軟件開發的最初階段就把質量要求考慮進去,并在開發過程每一階段的終點,設置檢查點進行檢查。檢查的目的是要證實已開發的軟件是否符合標準,是否滿足規定的質量需求。在不同的檢查點,檢查的重點不完全相同。如圖1所示。
驗收檢查。驗收檢查是一個特殊的檢查點的檢查,是交付使用前的最后一次檢查,是軟件投入運行之前保證可維護性的最后機會。它實際上是驗收測試的一部分,只不過它是從維護的角度提出驗收的條件和標準。
周期性地維護審查。軟件在運行期間,為了糾正新發現的錯誤或缺陷,為了適應計算環境的變化,為了響應用戶新的需求,必須進行修改。因此會導致軟件質量有變壞的危險,可能產生新的錯誤,破壞程序概念的完整性。因此,必須像硬件的定期檢查一樣,每月一次或二月一次,對軟件做周期性的維護審查,以跟蹤軟件質量的變化。周期性維護審查實際上是開發階段檢查點復查的繼續,并且采用的檢查方法、檢查內容都是相同的。為了便于用戶進行運行管理,適時提供維護工具以及有關信息是很重要的。
維護審查的結果可以同以前的維護審查的結果、以前的驗收檢查的結果和檢查點檢查的結果相比較,任何一種改變都表明在軟件質量上或其他類型的問題上可能起了變化。對于改變的原因應當進行分析,例如,如果使用的是復雜性度量標準,則應當隨機地選擇少量模塊,再次測量其復雜性。
對軟件包進行檢查。軟件包是一種標準化了的,可為不同單位、不同用戶使用的軟件。軟件包賣主考慮到他的專利權,一般不會提供給用戶他的源代碼和程序文檔。因此,對軟件包的維護采取以下方法。使用單位的維護人員首先要仔細分析、研究賣主提供的用戶手冊、操作手冊、培訓教程、新版本說明、計算機環境要求書、未來特性表,以及賣方提供的驗收測試報告等,在此基礎上,深入了解本單位的希望和要求,編制軟件包的檢驗程序。該檢驗程序檢查軟件包程序所執行的功能是否與用戶的要求和條件相一致。為了建立這個程序,維護人員可以利用賣方提供的驗收測試實例,還可以自己重新設計新的測試實例。根據測試結果,檢查和驗證軟件包的參數或控制結構,以完成軟件包的維護。
4、選擇可維護的程序設計語言
程序設計語言的選擇,對程序的可維護性影響很大。低級語言,即機器語言和匯編語言,很難理解,很難掌握,因此很難維護。計算機軟件可維護性方法,高級語言比低級語言容易理解,具有更好的可維護性。但同是高級語言,可理解的難易程度也不一樣。第四代語言,例如查詢語言、圖形語言、報表生成器等,有的是過程化的語言,有的是非過程化的語言。不論是哪種語言,編制出的程序都容易理解和修改,而且,其產生的指令條數可能要比用COBOL語言或用PL/1語言編制出的少一個數量級,開發速度快許多倍。有些非過程化的第四代語言,用戶不需要指出實現的算法,僅需向編譯程序或解釋程序提出自己的要求,由編譯程序或解釋程序自己做出實現用戶要求的智能假設,例如自動選擇報表格式,選擇字符類型和圖形顯示方式等。總之,從維護角度來看,第四代語言比其他語言更容易維護。
【關于計算機軟件可維護性方法】相關文章:
淺談計算機軟件可維護性方法07-24
探究計算機軟件可維護性方法05-23
計算機軟件可維護性方法的探索10-08
淺論計算機軟件設計中的可維護性10-08
淺析計算機軟件設計中的可維護性06-18
加強計算機軟件設計可維護性的措施探究07-09
對計算機軟件開發過程中的可維護性分析07-09
關于計算機軟件安全檢測方法的討論09-13
計算機軟件測試方法概述09-23