版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
6.4軟件可維護性軟件的維護是十分困難的,這是因為軟件的源程序和文檔難于理解、難于修改,因此造成軟件維護工作量大、成本上升和修改出錯率高。軟件維護工作面廣,維護難度大,稍有不慎就會在修改中給軟件帶來新問題。為了使軟件能夠易于維護,必須考慮使軟件具有可維護性。6.4.1可維護性定義軟件可維護性是指軟件能夠被理解、校正、適應(yīng)及增強功能的容易程度。軟件的可維護性、可使用性和可靠性是衡量軟件質(zhì)量的幾個主要特性,也是用戶十分關(guān)心的幾個問題。但是影響軟件質(zhì)量的這些主要因素,目前還沒有對它們普遍適用的定量度量的方法,就其概念和內(nèi)涵來說則是很明確的。6.4.1可維護性定義軟件的可維護性是軟件開發(fā)階段的關(guān)鍵目標。影響軟件可維護性的因素較多,設(shè)計、編碼及測試中的疏忽和低劣的軟件配置,缺少文檔等都會對軟件的可維護性產(chǎn)生不良影響。軟件可維護性可用下面7個質(zhì)量特性來衡量,即可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。對于不同類型的維護,這7種特性的側(cè)重點也不相同。這些質(zhì)量特性通常體現(xiàn)在軟件產(chǎn)品的許多方面。為使每一個質(zhì)量特性都達到預(yù)定的要求,需要在軟件開發(fā)的各個階段采取相應(yīng)的措施加以保證,即這些質(zhì)量要求要滲透到各開發(fā)階段的各個步驟中。因此,軟件的可維護性是產(chǎn)品投入運行以前各階段針對上述各質(zhì)量特性要求進行開發(fā)的最終結(jié)果。6.4.2可維護性的度量目前有若干對軟件可維護性進行綜合度量的方法,但要對可維護性作出定量度量還是困難的。還沒有一種方法能夠使用計算機對軟件的可維護性進行綜合性的定量評價。下面是度量一個可維護的軟件的7種特性時常采用的方法,即質(zhì)量檢查表、質(zhì)量測試和質(zhì)量標準。質(zhì)量檢查表是用于測試程序中某些質(zhì)量特性是否存在的一個問題清單。檢查者對檢查表上的每一個問題,依據(jù)自己的定性判斷,回答“是”或者“否”。質(zhì)量測試與質(zhì)量標準則用于定量分析和評價程序的質(zhì)量。由于許多質(zhì)量特性是相互抵觸的,要考慮幾種不同的度量標準去度量不同的質(zhì)量特性。6.4.3提高可維護性的方法(1)建立明確的軟件質(zhì)量目標。(2)利用先進的軟件開發(fā)技術(shù)和工具。(3)建立明確的質(zhì)量保證工作。(4)選擇可維護的程序設(shè)計語言。(5)改進程序文檔。6.4.3提高可維護性的方法1.建立明確的軟件質(zhì)量目標如果要使程序滿足可維護性的七種特性的全部要求,那是不現(xiàn)實的。實際上,有一些可維護特性是相互促進的,如可理解性和可測試性,可理解性和可修改性;而另一些則是相互矛盾的,如效率和可移植性,效率和可修改性等。為保證程序的可維護性,應(yīng)該在一定程度上滿足可維護性的各個特性,但各個特性的重要性隨著程序用途的不同或計算機環(huán)境的不同而改變。對編譯程序來說,效率和可移植性是主要的;對信息管理系統(tǒng)來說,可使用性和可修改性可能是主要的。6.4.3提高可維護性的方法
面向?qū)ο蠓椒ㄩ_發(fā)出的軟件的穩(wěn)定性好。傳統(tǒng)方法開發(fā)出來的軟件系統(tǒng)的結(jié)構(gòu)緊密依賴于系統(tǒng)所需要完成的功能。當功能需求發(fā)生變化時,將引起軟件結(jié)構(gòu)的整體修改,因而這樣的軟件結(jié)構(gòu)是不穩(wěn)定的。面向?qū)ο蠓椒ㄒ詫ο鬄橹行臉?gòu)造軟件系統(tǒng),用對象模擬問題領(lǐng)域中的實體,以對象間的聯(lián)系刻畫實體間的聯(lián)系,根據(jù)問題領(lǐng)域中的模型來建立軟件系統(tǒng)的結(jié)構(gòu)。由于客觀世界的實體及其之間的聯(lián)系相對穩(wěn)定,因此建立的模型也相對穩(wěn)定。當系統(tǒng)的功能需求發(fā)生變化時,并不會引起軟件結(jié)構(gòu)的整體變化,往往只需要做一些局部性的修改。所以面向?qū)ο蠓椒?gòu)造的軟件系統(tǒng)也比較穩(wěn)定。6.4.3提高可維護性的方法面向?qū)ο蠓椒?gòu)造的軟件可重用性好。對象所固有的封裝性和信息隱蔽機制,使得對象內(nèi)部的實現(xiàn)和外界隔離,具有較強的獨立性。因此對象類提供了比較理想的模塊化機制和比較理想的可重用的軟件成分。由于對象類是理想的模塊機制,它的獨立性好,修改一個類通常很少涉及到其他類。若只修改一個類的內(nèi)部實現(xiàn)部分而不修改該類的對外接口,則可以完全不影響軟件的其他部分。由于面向?qū)ο蟮能浖夹g(shù)符合人們習慣的思維方式,用這種方法所建立的軟件系統(tǒng)的結(jié)構(gòu)與問題空間的結(jié)構(gòu)基本一致,因此面向?qū)ο蟮能浖到y(tǒng)比較容易理解。6.4.3提高可維護性的方法對面向?qū)ο蟮能浖到y(tǒng)進行維護,主要通過對從已有類派生出一些新類的維護來實現(xiàn)。因此,維護時的測試和調(diào)試工作也主要圍繞這些新派生出來的類進行。類是獨立性很強的模塊,向類的實例發(fā)消息即可運行它,觀察它是否能正確地完成要求它做的工作。對類的測試通常比較容易實現(xiàn),如果發(fā)現(xiàn)錯誤也往往集中在類的內(nèi)部,比較容易調(diào)試。6.4.3提高可維護性的方法3.建立明確的質(zhì)量保證1)在檢查點進行檢查檢查點是指軟件開發(fā)的每一個階段的終點。在檢查點進行檢查的目標是證實已開發(fā)的軟件是滿足設(shè)計要求的。在不同的檢查點檢查的內(nèi)容是不同的。例如,在設(shè)計階段檢查的重點是可理解性、可修改性和可測試性,可理解性檢查的重點是檢查設(shè)計的復雜性。2)驗收檢查驗收檢查是一個特殊的檢查點的檢查,它是才軟件從開發(fā)轉(zhuǎn)移到維護的最后一次檢查。它對減少維護費用、提高軟件質(zhì)量是非常重要的。驗收檢查實際上是我們已講過的驗收測試的一部分,只不過驗收檢查是從維護角度提出驗收條件或標準的。6.4.3提高可維護性的方法3)周期性的維護檢查上述兩種軟件檢查適用于新開發(fā)的軟件。對已運行的軟件應(yīng)進行周期性的維護檢查。為了改正在開發(fā)階段未發(fā)現(xiàn)的錯誤,使軟件適應(yīng)新的計算機環(huán)境并滿足變化的用戶需求,對正在使用的軟件進行改變是不可避免的。改變程序可能引入新錯誤并破壞原來程序概念的完整性。為了保證軟件質(zhì)量應(yīng)該對正在使用的軟件進行周期性維護檢查。實際上周期性維護檢查是開發(fā)階段對檢查點進行檢查的繼續(xù),采用的檢查方法和檢查內(nèi)容都是相同的。把多次維護檢查結(jié)果同以前進行的驗收檢查結(jié)果以及檢查點檢查結(jié)果做比較,對檢查結(jié)果的任何改變都要進行分析,找出原因。6.4.3提高可維護性的方法4)對軟件包的檢查上述檢查方法適用于組織內(nèi)部開發(fā)和維護的軟件或?qū)樯贁?shù)幾個用戶設(shè)計的軟件,很難適用于享有多個用戶的通用軟件包。因為軟件包屬于賣方的資產(chǎn),用戶很難獲得軟件包的源代碼和完整的文檔。對軟件包的維護通常采用下述方法:使用單位的維護程序員在分析研究賣方提供的用戶手冊、操作手冊、培訓教程、新版本策略指導、計算機環(huán)境和驗收測試的基礎(chǔ)上,深入了解本單位的希望和要求,編制軟件包檢驗程序。6.4.3提高可維護性的方法軟件包檢驗程序是一個測試程序,它檢查軟件包程序所執(zhí)行的功能是否與用戶的要求和條件相一致。為了建立這個程序,維護程序員可以利用賣方提供的驗收測試用例或重新設(shè)計新的測試用例,根據(jù)測試結(jié)果檢查和驗證軟件包的參數(shù)或控制機構(gòu),從而完成軟件包的維護。6.4.3提高可維護性的方法4.選擇可維護的語言
程序設(shè)計語言的選擇對維護影響很大。低級語言很難理解,很難掌握,因而很難維護。一般來說,高級語言比低級語言更容易理解,在高級語言中,一些語言可能比另一些語言更容易理解。
第四代語言,例如查詢語言、圖形語言、報表生成語言和非常高級語言等,對減少維護費用來說是一種最有吸引力的語言。人們?nèi)菀资褂谩⒗斫夂托薷乃鼈?。例如,用戶使用第四代語言開發(fā)商業(yè)應(yīng)用程序比使用通常的高級語言要快好多倍。一些第四代語言是過程語言,而另一些是非過程語言。6.4.3提高可維護性的方法對于非過程的第四代語言,用戶不需要指出實現(xiàn)的算法,用戶只需向編譯程序或解釋程序提出自己的要求。例如它能自動地選擇報表格式、選擇字符類型等。自動生成指令能改進軟件可靠性。此外,第四代語言容易理解,容易編程,程序容易修改,因此改進了可維護性。6.4.3提高可維護性的方法5.改進程序的文檔1)程序文檔程序員利用程序文檔來理解程序的內(nèi)部結(jié)構(gòu)、程序同系統(tǒng)內(nèi)其他程序、操作系統(tǒng)和其他軟件系統(tǒng)如何相互作用。程序文檔包括源代碼的注釋、設(shè)計文檔、系統(tǒng)流程圖、程序流程圖和交叉引用表等。程序文擋是對程序功能、程序各組成部分之間的關(guān)系、程序設(shè)計策略和程序?qū)崿F(xiàn)過程的歷史數(shù)據(jù)等的說明和補充。程序文檔對提高程序的可閱讀性有重要作用。6.4.3提高可維護性的方法
為了維護程序,人們必須閱讀和理解程序文檔。通常過低估計文檔的價值是因為人們過低估計用戶對修改的需求。雖然人們對文檔的重要性還有許多不同的看法,但大多數(shù)人同意以下的觀點:(1)好的文檔能提高程序的可閱讀性,但壞的文檔比沒有文檔更差。(2)好的文檔意味著簡明性、風格的一致性,且容易修改。(3)程序編碼中應(yīng)該有必要的注釋以提高程序的可理解性。(4)程序越長、越復雜,則它對文檔的需求也越迫切。6.4.3提高可維護性的方法2)用戶文檔用戶文檔提供用戶如何使用程序的命令和指示,通常是指用戶手冊。更好的用戶文檔是聯(lián)機的,用戶在終端就可以閱讀到它,這給沒有經(jīng)驗的用戶提供了必要的幫助和引導。3)操作文檔操作文檔指導用戶如何運行程序,它包括操作員手冊、運行記錄和備用文件目錄等。6.4.3提高可維護性的方法4)數(shù)據(jù)文檔數(shù)據(jù)文檔是程序數(shù)據(jù)部分的說明,它由數(shù)據(jù)模型和數(shù)據(jù)詞典組成。數(shù)據(jù)模型表示數(shù)據(jù)內(nèi)部結(jié)構(gòu)和數(shù)據(jù)各部分之間的功能依賴性。通常數(shù)據(jù)模型是用圖形表示的。數(shù)據(jù)詞典列出了程序中使用的全部數(shù)據(jù)項,包括數(shù)據(jù)項的定義、數(shù)據(jù)項的使用以及在什么地方使
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 4年級上冊數(shù)學人教版說課稿7篇
- 網(wǎng)頁制作案例教程HTML5+CSS3課程設(shè)計
- 《數(shù)理經(jīng)濟學》課程教學大綱
- 復習真題卷04 第6-7單元(解析版)
- DBJ51-T 198-2022 四川省既有民用建筑結(jié)構(gòu)安全隱患排查技術(shù)標準
- 2009年高考語文試卷(全國Ⅱ卷)(解析卷)
- 建筑工程行業(yè)工程測量培訓體會
- 通信行業(yè)客服工作總結(jié)
- 《色彩的漸變》課件
- 有關(guān)醫(yī)院的實習報告三篇
- 中央2025年全國人大機關(guān)直屬事業(yè)單位招聘18人筆試歷年典型考點(頻考版試卷)附帶答案詳解
- 2024至2030年四氯苯醌項目投資價值分析報告
- 北京市海淀區(qū)2024-2025學年七年級上學期期中考試英語試卷(含答案)
- 中資企業(yè)出海報告:潮涌浪闊四海揚帆
- 房地產(chǎn)銷售主管崗位招聘筆試題及解答(某大型央企)2024年
- 2024-2025學年人教版八年級上冊地理期末測試卷(二)(含答案)
- 80、沈陽桃仙機場二平滑工程冬期施工方案
- 《STM32Cube嵌入式系統(tǒng)應(yīng)用》HAL庫版本習題及答案
- 一年級數(shù)學練習題-20以內(nèi)加減法口算題(4000道)直接打印版
- 2024年度無人機飛行培訓合同
- 2025年中國細胞與基因治療行業(yè)深度分析、投資前景、趨勢預(yù)測報告(智研咨詢)
評論
0/150
提交評論