軟件的可維護性2

        可以把軟件的可維護性定性地定義爲:維護人員理解、改正、改動或改進這個軟件的難易程度。在前面的章節中曾經多次強調,提高可維護性是支配軟件工程方法學所有步驟的關鍵目標。

        8.4.1 決定軟件可維護性的因素

        維護就是在軟件交付使用後進行的修改,修改之前必須理解待修改的對象,修改之後應該進行必要的測試,以保證所做的修改是正確的。如果是改正性維護,還必須預先進行調試以確定錯誤的具體位置。因此,決定軟件可維護性的因素主要有下述5個。

1.可理解性

        軟件可理解性表現爲外來讀者理解軟件的結構、功能、接口和內部處理過程的難易程度,模塊化(模塊結構良好,高內聚,松耦合)、詳細的設計文檔、結構化設計、程序內部的文檔和良好的高級程序設計語言等,都對提高軟件的可理解性有重要貢獻

2,可測試性

        診斷和測試的容易程度取決於軟件容易理解的程度。良好的文檔對診新和測試是至關重要的,此外,軟件結構、可用的測試工具和調試工具,以及以前設計的測試過程也都是非常重要的。維護人員應該能夠得到在開發階段用過的測試方案,以便進行迴歸測試。在設計階段應該盡力把軟件設計成容易測試和容易診斷的。

        對於程序模塊來說,可以用程序複雜度來度量它的可測試性,模塊的環形複雜度越大,可執行的路徑就越多,因此,全面測試它的難度就高。

3.可修改性

        軟件容易修改的程度和本書第5章講過的設計原理和啓發規劃直接有關。耦合、內聚、信息穩藏,局部化、控制域與作用域的關係等,都影響軟件的可修改性

4.可移植性

        軟件可移植性指的是,把程序從一種計算環境(硬件配置和操作系統)轉移到另一種計算環境的難易程度,把與硬件,操作系以及其他外部設備有關的程序代碼集中放到特定的程序模塊中,可以把因環境變化而必須修改的程序侷限在少數程序模塊中,從而降低修改的難度

5.可重用性

        所謂重用( reuse)是指同一事物不做修改或稍加改動就在不同環境中多次重複使用。大量使用可重用的軟件構件來開發軟件,可以從下述兩個方面提高款件的可維護性:

(1)通常,可重用的軟件構件在開發時都經過很嚴格的測試,可靠性比較高,且在每次重用過程中都會發現並清除一些錯誤,隨着時間推移,這樣的構件將變成實質上無誤的,因此,軟件中使用的可重用構件越多,軟件的可靠性越高,改正性維護需求就越少

(2)很容易修改可重用的軟件構件使之再次應用在新環境中,因此,軟件中使用的可重用構件越多,適應性和完善性維護也就越容易。

8.4.2 文檔

        文檔是影響軟作可維護性的決定因素,由於長期使用的大型軟件系統在使用過程中必然會經受多次修改,所以文檔比程序代碼更重要。軟件系統的文檔可以分爲用戶文檔和系統文檔兩類。用戶文檔主要描述系統功能和使用方法,並不關心這些功能是怎樣實現的;系統文檔描述系統設計、實現和測試等各方面的內容。總地說來,軟件文檔應該滿足下述要求

(1)必須描述如何使用這個系統,沒有這種描述時即使是最簡單的系統也無法使用

(2)必須描述怎樣安裝和管理這個系統。

(3)必須描述系統需求和設計

(4)必須描述系統的實現和測試,以便使系統成爲可維護的

下面分別討論用戶文檔和系統文檔

1.用戶文檔

        用戶文檔是用戶瞭解系統的第一步,它應該能使用戶獲得對系統的準確的初步印象。文檔的結構方式應該使用戶能夠方便地根據需要閱讀有關的內容。用戶文檔至少應該包括下述5方面的內容

(1)功能描述,說明系統能做什麼。

(2)安裝文檔,說明怎樣安裝這個系統以及怎樣使系統適應特定的硬件配置

(3)使用手冊,簡要說明如何着手使用這個系統(應該通過豐富例子說明怎樣使用常用的系統功能,還應該說明用戶操作錯誤時怎樣恢復和重新啓動)

(4)參考手冊,詳盡描述用戶可以使用的所有系統設施以及它們的使用方法,還應該解釋系統可能產生的各種出錯信息的含義(對參考手冊最主要的要求是完整,因此通常使用形式化的描述技術)

(5)操作員指南(如果需要有系統操作員的話),說明操作員應該如何處理使用中出現的各種情況

        上述內容可以分別作爲獨立的文檔,也可以作爲一個文檔的不同分冊,具體做法應該由系統規模決定

2.系統文檔

        所謂系統文檔指從問題定義、需求說明到驗收測試計劃這樣一系列和系統實現有關的文檔。描述系統設計,實現和測試的文檔對於理解程序和維護程序來說是極端重要的。和用戶文檔類似,系統文檔的結構也應該能把讀者從對系統概貌的瞭解,引導到對系統每個方面每個特點的更形式化更具體的認識。本系列前面各章已經較詳細地介紹了各個階段應該產生的文檔,此處不再重複

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章