軟件工程-第6章第4節(jié)_第1頁(yè)
軟件工程-第6章第4節(jié)_第2頁(yè)
軟件工程-第6章第4節(jié)_第3頁(yè)
軟件工程-第6章第4節(jié)_第4頁(yè)
軟件工程-第6章第4節(jié)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

6.4軟件可維護(hù)性軟件的維護(hù)是十分困難的,這是因?yàn)檐浖脑闯绦蚝臀臋n難于理解、難于修改,因此造成軟件維護(hù)工作量大、成本上升和修改出錯(cuò)率高。軟件維護(hù)工作面廣,維護(hù)難度大,稍有不慎就會(huì)在修改中給軟件帶來(lái)新問(wèn)題。為了使軟件能夠易于維護(hù),必須考慮使軟件具有可維護(hù)性。6.4.1可維護(hù)性定義軟件可維護(hù)性是指軟件能夠被理解、校正、適應(yīng)及增強(qiáng)功能的容易程度。軟件的可維護(hù)性、可使用性和可靠性是衡量軟件質(zhì)量的幾個(gè)主要特性,也是用戶(hù)十分關(guān)心的幾個(gè)問(wèn)題。但是影響軟件質(zhì)量的這些主要因素,目前還沒(méi)有對(duì)它們普遍適用的定量度量的方法,就其概念和內(nèi)涵來(lái)說(shuō)則是很明確的。6.4.1可維護(hù)性定義軟件的可維護(hù)性是軟件開(kāi)發(fā)階段的關(guān)鍵目標(biāo)。影響軟件可維護(hù)性的因素較多,設(shè)計(jì)、編碼及測(cè)試中的疏忽和低劣的軟件配置,缺少文檔等都會(huì)對(duì)軟件的可維護(hù)性產(chǎn)生不良影響。軟件可維護(hù)性可用下面7個(gè)質(zhì)量特性來(lái)衡量,即可理解性、可測(cè)試性、可修改性、可靠性、可移植性、可使用性和效率。對(duì)于不同類(lèi)型的維護(hù),這7種特性的側(cè)重點(diǎn)也不相同。這些質(zhì)量特性通常體現(xiàn)在軟件產(chǎn)品的許多方面。為使每一個(gè)質(zhì)量特性都達(dá)到預(yù)定的要求,需要在軟件開(kāi)發(fā)的各個(gè)階段采取相應(yīng)的措施加以保證,即這些質(zhì)量要求要滲透到各開(kāi)發(fā)階段的各個(gè)步驟中。因此,軟件的可維護(hù)性是產(chǎn)品投入運(yùn)行以前各階段針對(duì)上述各質(zhì)量特性要求進(jìn)行開(kāi)發(fā)的最終結(jié)果。6.4.2可維護(hù)性的度量目前有若干對(duì)軟件可維護(hù)性進(jìn)行綜合度量的方法,但要對(duì)可維護(hù)性作出定量度量還是困難的。還沒(méi)有一種方法能夠使用計(jì)算機(jī)對(duì)軟件的可維護(hù)性進(jìn)行綜合性的定量評(píng)價(jià)。下面是度量一個(gè)可維護(hù)的軟件的7種特性時(shí)常采用的方法,即質(zhì)量檢查表、質(zhì)量測(cè)試和質(zhì)量標(biāo)準(zhǔn)。質(zhì)量檢查表是用于測(cè)試程序中某些質(zhì)量特性是否存在的一個(gè)問(wèn)題清單。檢查者對(duì)檢查表上的每一個(gè)問(wèn)題,依據(jù)自己的定性判斷,回答“是”或者“否”。質(zhì)量測(cè)試與質(zhì)量標(biāo)準(zhǔn)則用于定量分析和評(píng)價(jià)程序的質(zhì)量。由于許多質(zhì)量特性是相互抵觸的,要考慮幾種不同的度量標(biāo)準(zhǔn)去度量不同的質(zhì)量特性。6.4.3提高可維護(hù)性的方法(1)建立明確的軟件質(zhì)量目標(biāo)。(2)利用先進(jìn)的軟件開(kāi)發(fā)技術(shù)和工具。(3)建立明確的質(zhì)量保證工作。(4)選擇可維護(hù)的程序設(shè)計(jì)語(yǔ)言。(5)改進(jìn)程序文檔。6.4.3提高可維護(hù)性的方法1.建立明確的軟件質(zhì)量目標(biāo)如果要使程序滿(mǎn)足可維護(hù)性的七種特性的全部要求,那是不現(xiàn)實(shí)的。實(shí)際上,有一些可維護(hù)特性是相互促進(jìn)的,如可理解性和可測(cè)試性,可理解性和可修改性;而另一些則是相互矛盾的,如效率和可移植性,效率和可修改性等。為保證程序的可維護(hù)性,應(yīng)該在一定程度上滿(mǎn)足可維護(hù)性的各個(gè)特性,但各個(gè)特性的重要性隨著程序用途的不同或計(jì)算機(jī)環(huán)境的不同而改變。對(duì)編譯程序來(lái)說(shuō),效率和可移植性是主要的;對(duì)信息管理系統(tǒng)來(lái)說(shuō),可使用性和可修改性可能是主要的。6.4.3提高可維護(hù)性的方法

面向?qū)ο蠓椒ㄩ_(kāi)發(fā)出的軟件的穩(wěn)定性好。傳統(tǒng)方法開(kāi)發(fā)出來(lái)的軟件系統(tǒng)的結(jié)構(gòu)緊密依賴(lài)于系統(tǒng)所需要完成的功能。當(dāng)功能需求發(fā)生變化時(shí),將引起軟件結(jié)構(gòu)的整體修改,因而這樣的軟件結(jié)構(gòu)是不穩(wěn)定的。面向?qū)ο蠓椒ㄒ詫?duì)象為中心構(gòu)造軟件系統(tǒng),用對(duì)象模擬問(wèn)題領(lǐng)域中的實(shí)體,以對(duì)象間的聯(lián)系刻畫(huà)實(shí)體間的聯(lián)系,根據(jù)問(wèn)題領(lǐng)域中的模型來(lái)建立軟件系統(tǒng)的結(jié)構(gòu)。由于客觀世界的實(shí)體及其之間的聯(lián)系相對(duì)穩(wěn)定,因此建立的模型也相對(duì)穩(wěn)定。當(dāng)系統(tǒng)的功能需求發(fā)生變化時(shí),并不會(huì)引起軟件結(jié)構(gòu)的整體變化,往往只需要做一些局部性的修改。所以面向?qū)ο蠓椒?gòu)造的軟件系統(tǒng)也比較穩(wěn)定。6.4.3提高可維護(hù)性的方法面向?qū)ο蠓椒?gòu)造的軟件可重用性好。對(duì)象所固有的封裝性和信息隱蔽機(jī)制,使得對(duì)象內(nèi)部的實(shí)現(xiàn)和外界隔離,具有較強(qiáng)的獨(dú)立性。因此對(duì)象類(lèi)提供了比較理想的模塊化機(jī)制和比較理想的可重用的軟件成分。由于對(duì)象類(lèi)是理想的模塊機(jī)制,它的獨(dú)立性好,修改一個(gè)類(lèi)通常很少涉及到其他類(lèi)。若只修改一個(gè)類(lèi)的內(nèi)部實(shí)現(xiàn)部分而不修改該類(lèi)的對(duì)外接口,則可以完全不影響軟件的其他部分。由于面向?qū)ο蟮能浖夹g(shù)符合人們習(xí)慣的思維方式,用這種方法所建立的軟件系統(tǒng)的結(jié)構(gòu)與問(wèn)題空間的結(jié)構(gòu)基本一致,因此面向?qū)ο蟮能浖到y(tǒng)比較容易理解。6.4.3提高可維護(hù)性的方法對(duì)面向?qū)ο蟮能浖到y(tǒng)進(jìn)行維護(hù),主要通過(guò)對(duì)從已有類(lèi)派生出一些新類(lèi)的維護(hù)來(lái)實(shí)現(xiàn)。因此,維護(hù)時(shí)的測(cè)試和調(diào)試工作也主要圍繞這些新派生出來(lái)的類(lèi)進(jìn)行。類(lèi)是獨(dú)立性很強(qiáng)的模塊,向類(lèi)的實(shí)例發(fā)消息即可運(yùn)行它,觀察它是否能正確地完成要求它做的工作。對(duì)類(lèi)的測(cè)試通常比較容易實(shí)現(xiàn),如果發(fā)現(xiàn)錯(cuò)誤也往往集中在類(lèi)的內(nèi)部,比較容易調(diào)試。6.4.3提高可維護(hù)性的方法3.建立明確的質(zhì)量保證1)在檢查點(diǎn)進(jìn)行檢查檢查點(diǎn)是指軟件開(kāi)發(fā)的每一個(gè)階段的終點(diǎn)。在檢查點(diǎn)進(jìn)行檢查的目標(biāo)是證實(shí)已開(kāi)發(fā)的軟件是滿(mǎn)足設(shè)計(jì)要求的。在不同的檢查點(diǎn)檢查的內(nèi)容是不同的。例如,在設(shè)計(jì)階段檢查的重點(diǎn)是可理解性、可修改性和可測(cè)試性,可理解性檢查的重點(diǎn)是檢查設(shè)計(jì)的復(fù)雜性。2)驗(yàn)收檢查驗(yàn)收檢查是一個(gè)特殊的檢查點(diǎn)的檢查,它是才軟件從開(kāi)發(fā)轉(zhuǎn)移到維護(hù)的最后一次檢查。它對(duì)減少維護(hù)費(fèi)用、提高軟件質(zhì)量是非常重要的。驗(yàn)收檢查實(shí)際上是我們已講過(guò)的驗(yàn)收測(cè)試的一部分,只不過(guò)驗(yàn)收檢查是從維護(hù)角度提出驗(yàn)收條件或標(biāo)準(zhǔn)的。6.4.3提高可維護(hù)性的方法3)周期性的維護(hù)檢查上述兩種軟件檢查適用于新開(kāi)發(fā)的軟件。對(duì)已運(yùn)行的軟件應(yīng)進(jìn)行周期性的維護(hù)檢查。為了改正在開(kāi)發(fā)階段未發(fā)現(xiàn)的錯(cuò)誤,使軟件適應(yīng)新的計(jì)算機(jī)環(huán)境并滿(mǎn)足變化的用戶(hù)需求,對(duì)正在使用的軟件進(jìn)行改變是不可避免的。改變程序可能引入新錯(cuò)誤并破壞原來(lái)程序概念的完整性。為了保證軟件質(zhì)量應(yīng)該對(duì)正在使用的軟件進(jìn)行周期性維護(hù)檢查。實(shí)際上周期性維護(hù)檢查是開(kāi)發(fā)階段對(duì)檢查點(diǎn)進(jìn)行檢查的繼續(xù),采用的檢查方法和檢查內(nèi)容都是相同的。把多次維護(hù)檢查結(jié)果同以前進(jìn)行的驗(yàn)收檢查結(jié)果以及檢查點(diǎn)檢查結(jié)果做比較,對(duì)檢查結(jié)果的任何改變都要進(jìn)行分析,找出原因。6.4.3提高可維護(hù)性的方法4)對(duì)軟件包的檢查上述檢查方法適用于組織內(nèi)部開(kāi)發(fā)和維護(hù)的軟件或?qū)樯贁?shù)幾個(gè)用戶(hù)設(shè)計(jì)的軟件,很難適用于享有多個(gè)用戶(hù)的通用軟件包。因?yàn)檐浖鼘儆谫u(mài)方的資產(chǎn),用戶(hù)很難獲得軟件包的源代碼和完整的文檔。對(duì)軟件包的維護(hù)通常采用下述方法:使用單位的維護(hù)程序員在分析研究賣(mài)方提供的用戶(hù)手冊(cè)、操作手冊(cè)、培訓(xùn)教程、新版本策略指導(dǎo)、計(jì)算機(jī)環(huán)境和驗(yàn)收測(cè)試的基礎(chǔ)上,深入了解本單位的希望和要求,編制軟件包檢驗(yàn)程序。6.4.3提高可維護(hù)性的方法軟件包檢驗(yàn)程序是一個(gè)測(cè)試程序,它檢查軟件包程序所執(zhí)行的功能是否與用戶(hù)的要求和條件相一致。為了建立這個(gè)程序,維護(hù)程序員可以利用賣(mài)方提供的驗(yàn)收測(cè)試用例或重新設(shè)計(jì)新的測(cè)試用例,根據(jù)測(cè)試結(jié)果檢查和驗(yàn)證軟件包的參數(shù)或控制機(jī)構(gòu),從而完成軟件包的維護(hù)。6.4.3提高可維護(hù)性的方法4.選擇可維護(hù)的語(yǔ)言

程序設(shè)計(jì)語(yǔ)言的選擇對(duì)維護(hù)影響很大。低級(jí)語(yǔ)言很難理解,很難掌握,因而很難維護(hù)。一般來(lái)說(shuō),高級(jí)語(yǔ)言比低級(jí)語(yǔ)言更容易理解,在高級(jí)語(yǔ)言中,一些語(yǔ)言可能比另一些語(yǔ)言更容易理解。

第四代語(yǔ)言,例如查詢(xún)語(yǔ)言、圖形語(yǔ)言、報(bào)表生成語(yǔ)言和非常高級(jí)語(yǔ)言等,對(duì)減少維護(hù)費(fèi)用來(lái)說(shuō)是一種最有吸引力的語(yǔ)言。人們?nèi)菀资褂?、理解和修改它們。例如,用?hù)使用第四代語(yǔ)言開(kāi)發(fā)商業(yè)應(yīng)用程序比使用通常的高級(jí)語(yǔ)言要快好多倍。一些第四代語(yǔ)言是過(guò)程語(yǔ)言,而另一些是非過(guò)程語(yǔ)言。6.4.3提高可維護(hù)性的方法對(duì)于非過(guò)程的第四代語(yǔ)言,用戶(hù)不需要指出實(shí)現(xiàn)的算法,用戶(hù)只需向編譯程序或解釋程序提出自己的要求。例如它能自動(dòng)地選擇報(bào)表格式、選擇字符類(lèi)型等。自動(dòng)生成指令能改進(jìn)軟件可靠性。此外,第四代語(yǔ)言容易理解,容易編程,程序容易修改,因此改進(jìn)了可維護(hù)性。6.4.3提高可維護(hù)性的方法5.改進(jìn)程序的文檔1)程序文檔程序員利用程序文檔來(lái)理解程序的內(nèi)部結(jié)構(gòu)、程序同系統(tǒng)內(nèi)其他程序、操作系統(tǒng)和其他軟件系統(tǒng)如何相互作用。程序文檔包括源代碼的注釋、設(shè)計(jì)文檔、系統(tǒng)流程圖、程序流程圖和交叉引用表等。程序文擋是對(duì)程序功能、程序各組成部分之間的關(guān)系、程序設(shè)計(jì)策略和程序?qū)崿F(xiàn)過(guò)程的歷史數(shù)據(jù)等的說(shuō)明和補(bǔ)充。程序文檔對(duì)提高程序的可閱讀性有重要作用。6.4.3提高可維護(hù)性的方法

為了維護(hù)程序,人們必須閱讀和理解程序文檔。通常過(guò)低估計(jì)文檔的價(jià)值是因?yàn)槿藗冞^(guò)低估計(jì)用戶(hù)對(duì)修改的需求。雖然人們對(duì)文檔的重要性還有許多不同的看法,但大多數(shù)人同意以下的觀點(diǎn):(1)好的文檔能提高程序的可閱讀性,但壞的文檔比沒(méi)有文檔更差。(2)好的文檔意味著簡(jiǎn)明性、風(fēng)格的一致性,且容易修改。(3)程序編碼中應(yīng)該有必要的注釋以提高程序的可理解性。(4)程序越長(zhǎng)、越復(fù)雜,則它對(duì)文檔的需求也越迫切。6.4.3提高可維護(hù)性的方法2)用戶(hù)文檔用戶(hù)文檔提供用戶(hù)如何使用程序的命令和指示,通常是指用戶(hù)手冊(cè)。更好的用戶(hù)文檔是聯(lián)機(jī)的,用戶(hù)在終端就可以閱讀到它,這給沒(méi)有經(jīng)驗(yàn)的用戶(hù)提供了必要的幫助和引導(dǎo)。3)操作文檔操作文檔指導(dǎo)用戶(hù)如何運(yùn)行程序,它包括操作員手冊(cè)、運(yùn)行記錄和備用文件目錄等。6.4.3提高可維護(hù)性的方法4)數(shù)據(jù)文檔數(shù)據(jù)文檔是程序數(shù)據(jù)部分的說(shuō)明,它由數(shù)據(jù)模型和數(shù)據(jù)詞典組成。數(shù)據(jù)模型表示數(shù)據(jù)內(nèi)部結(jié)構(gòu)和數(shù)據(jù)各部分之間的功能依賴(lài)性。通常數(shù)據(jù)模型是用圖形表示的。數(shù)據(jù)詞典列出了程序中使用的全部數(shù)據(jù)項(xiàng),包括數(shù)據(jù)項(xiàng)的定義、數(shù)據(jù)項(xiàng)的使用以及在什么地方使

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論