軟件工程概論:第11章 軟件維護(hù)_第1頁(yè)
軟件工程概論:第11章 軟件維護(hù)_第2頁(yè)
軟件工程概論:第11章 軟件維護(hù)_第3頁(yè)
軟件工程概論:第11章 軟件維護(hù)_第4頁(yè)
軟件工程概論:第11章 軟件維護(hù)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第11章 軟件維護(hù)11.1系統(tǒng)的變化11.2軟件維護(hù)的基本內(nèi)容和特點(diǎn)11.3軟件維護(hù)的實(shí)施11.4軟件的可維護(hù)性11.5軟件維護(hù)的副作用11.6軟件再工程11.1系統(tǒng)的變化軟件維護(hù)就是在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過程。維護(hù)活動(dòng)改正性維護(hù):在任何大型程序的使用期間,用戶發(fā)現(xiàn)程序錯(cuò)誤,并且把問題報(bào)告給維護(hù)人員,進(jìn)行診斷和改正錯(cuò)誤的過程。適應(yīng)性維護(hù):為了和變化了的環(huán)境適當(dāng)?shù)嘏浜隙M(jìn)行的修改軟件的活動(dòng)。完善性維護(hù):在使用軟件的過程中用戶提出增加新功能或修改已有功能的建議,還可能提出一般性的改進(jìn)意見。預(yù)防性維護(hù):為了改進(jìn)未來的可維護(hù)性或可靠性,或?yàn)榱私o未來的改進(jìn)奠定更好

2、的基礎(chǔ)而修改軟件。11.1系統(tǒng)的變化軟件系統(tǒng)的變化:系統(tǒng)的需求越依賴于客觀世界,就越傾向于變化。系統(tǒng)的類型S-系統(tǒng):有規(guī)格說明定義或來源于規(guī)格說明。在這些系統(tǒng)中特定的問題是根據(jù)它應(yīng)用的整個(gè)環(huán)境來描述的。P-系統(tǒng):可以用抽象的方式描述這個(gè)問題。然后從抽象的觀點(diǎn)出發(fā)書寫系統(tǒng)的需求說明。近似解E-系統(tǒng):嵌入到現(xiàn)實(shí)世界中的,而且隨著世界的變化而變化逐個(gè)解決方案建立在涉及的抽象過程的模型的基礎(chǔ)上。11.1系統(tǒng)的變化系統(tǒng)生命周期中的變化軟件開發(fā)階段的改變導(dǎo)致變化的活動(dòng) 相應(yīng)需要改變的手工材料 需求分析 需求說明 系統(tǒng)設(shè)計(jì) 架構(gòu)設(shè)計(jì)說明 技術(shù)設(shè)計(jì)說明 程序設(shè)計(jì) 程序設(shè)計(jì)說明 程序?qū)崿F(xiàn) 程序代碼 程序文檔 模

3、塊測(cè)試 測(cè)試計(jì)劃 測(cè)試腳本 系統(tǒng)測(cè)試 測(cè)試計(jì)劃 測(cè)試腳本 系統(tǒng)提交 用戶文檔 培訓(xùn)工具 操作員文檔 系統(tǒng)指南 程序員指南 培訓(xùn)課程11.1系統(tǒng)的變化系統(tǒng)的生命范圍與系統(tǒng)的開發(fā)與維護(hù)相聯(lián)系的,從創(chuàng)作到淘汰的一系列的全部耗費(fèi)稱為生命循環(huán)成本。通常,根據(jù)比較原始系統(tǒng)、修改系統(tǒng)和新系統(tǒng)生命循環(huán)的成本來決定是維護(hù)、重建還是取而代之。11.2軟件維護(hù)的基本內(nèi)容和特點(diǎn)軟件維護(hù)分類:改正性維護(hù)。在軟件開發(fā)階段,由于測(cè)試技術(shù)的局限性,必然會(huì)有某些錯(cuò)誤未被發(fā)現(xiàn)一些隱藏下來的錯(cuò)誤在運(yùn)行過程中,在特定的條件下就會(huì)顯現(xiàn)出來被用戶發(fā)現(xiàn)。針對(duì)這種錯(cuò)誤進(jìn)行修改的維護(hù)就是改正性維護(hù)。適應(yīng)性維護(hù)。軟件運(yùn)行的軟硬件環(huán)境隨著計(jì)算機(jī)技

4、術(shù)的飛速發(fā)展也日新月異。為適應(yīng)這種環(huán)境的改變而進(jìn)行的維護(hù)就是適應(yīng)性維護(hù)。11.2軟件維護(hù)的基本內(nèi)容和特點(diǎn)完善性維護(hù)。在軟件的使用過程中,用戶對(duì)軟件功能和性能的要求總是不斷變化的。例如快捷鍵的修改、界面風(fēng)格的修改。為了滿足這類要求進(jìn)行的維護(hù)就是完善性維護(hù)。預(yù)防性維護(hù)。為了提高軟件的可維護(hù)性和可靠性而進(jìn)行的維護(hù)就是預(yù)防性維護(hù)。11.2軟件維護(hù)的基本內(nèi)容和特點(diǎn)軟件維護(hù)的特點(diǎn)非結(jié)構(gòu)化維護(hù):軟件的配置中只有代碼部分,而沒有相應(yīng)的文檔說明。結(jié)構(gòu)化維護(hù):軟件的配置是完整無缺的。11.2軟件維護(hù)的基本內(nèi)容和特點(diǎn)軟件系統(tǒng)成本控制:軟件維護(hù)費(fèi)用、工作量軟件維護(hù)的工作量分為助動(dòng)性(理解代碼、判明數(shù)據(jù)結(jié)構(gòu)、接口特性等

5、為主的維護(hù)活動(dòng))和生產(chǎn)性(分析和評(píng)價(jià)、設(shè)計(jì)修改和實(shí)現(xiàn)等維護(hù)活動(dòng))。維護(hù)總的工作量的估算公式:M=P+Ke (C-D)式中:M表示維護(hù)活動(dòng)的總工作量;P表示生產(chǎn)性工作量;K表示經(jīng)驗(yàn)常數(shù);C表示軟件的維護(hù)復(fù)雜度;D表示維護(hù)人員對(duì)軟件的熟悉度;Ke (C-D)是助動(dòng)性工作量。11.2軟件維護(hù)的基本內(nèi)容和特點(diǎn)影響維護(hù)工作的主要因素:系統(tǒng)規(guī)模。配套的文檔。其他因素。11.2軟件維護(hù)的基本內(nèi)容和特點(diǎn)維護(hù)中的問題理解詳細(xì)設(shè)計(jì)人員的代碼是很困難的。文檔不規(guī)范。開發(fā)人員不能實(shí)時(shí)參與。分析和設(shè)計(jì)的缺陷。維護(hù)工作的乏味。用戶使用者苛刻的要求。11.2軟件維護(hù)的基本內(nèi)容和特點(diǎn)軟件維護(hù)的過程11.2軟件維護(hù)的基本內(nèi)容和

6、特點(diǎn)維護(hù)組織:維護(hù)人員、維護(hù)管理員、系統(tǒng)管理員、修改控制決策機(jī)構(gòu)以及配置管理員是該模式維護(hù)組織的一般組成人員。11.2軟件維護(hù)的基本內(nèi)容和特點(diǎn)維護(hù)的報(bào)告和審核:維護(hù)申請(qǐng)單(Maintenance Request Form,MRF):適應(yīng)性或者完善性維護(hù)。需要附加簡(jiǎn)短的修改需求說明,即需求規(guī)格說明書中應(yīng)做哪些改動(dòng),如增加功能或修改界面等。軟件問題報(bào)告單(Software Problem Report,SPR):改正性維護(hù)。提供完整的錯(cuò)誤情況說明,出錯(cuò)信息、錯(cuò)誤發(fā)生環(huán)境等,包括交互數(shù)據(jù)清單和其他有關(guān)信息等。軟件修改報(bào)告單(Software Change Report,SCR):軟件修改的真正依據(jù)是

7、SCR。包括:為滿足軟件問題報(bào)告實(shí)際需要的工作量。所需修改變動(dòng)性質(zhì)。請(qǐng)求修改的優(yōu)先級(jí)。修改的時(shí)候數(shù)據(jù)。11.2軟件維護(hù)的基本內(nèi)容和特點(diǎn)維護(hù)過程的事件流11.2軟件維護(hù)的基本內(nèi)容和特點(diǎn)保存維護(hù)記錄:要將維護(hù)階段產(chǎn)生的文檔保存到原有文檔中去,完善整個(gè)軟件的文檔說明。新產(chǎn)生的維護(hù)記錄應(yīng)該包括三類信息:維護(hù)前軟件運(yùn)行情況(程序行數(shù)、指令條數(shù)、運(yùn)行錯(cuò)誤信息等)、維護(hù)對(duì)軟件產(chǎn)生的修改情況(維護(hù)類型、SCR單、變動(dòng)的程序行數(shù)與功能、維護(hù)周期等)以及數(shù)據(jù)變更情況。11.2軟件維護(hù)的基本內(nèi)容和特點(diǎn)評(píng)價(jià)維護(hù)活動(dòng)程序運(yùn)行的平均失效次數(shù),失效次數(shù)/運(yùn)行次數(shù)。每一類維護(hù)活動(dòng)的總?cè)藭r(shí)數(shù)。每個(gè)程序、每種語言、每種維護(hù)類型所

8、做的平均程序變動(dòng)數(shù)。維護(hù)階段修改每條語句平均花費(fèi)的人時(shí)數(shù)。維護(hù)每種語言平均花費(fèi)的人時(shí)數(shù)。一張MRF或者SPR的平均周轉(zhuǎn)時(shí)間。各種維護(hù)類型所占的百分比。11.2軟件維護(hù)的基本內(nèi)容和特點(diǎn)軟件維護(hù)的技術(shù)按照目的的不同,軟件維護(hù)的技術(shù)分為兩類:面向維護(hù)的技術(shù)。面向維護(hù)的技術(shù)是軟件開發(fā)階段用來減少錯(cuò)誤,提高軟件可維護(hù)性的技術(shù),它涉及軟件開發(fā)的各個(gè)階段。維護(hù)支援技術(shù)。維護(hù)支援技術(shù)是在軟件維護(hù)階段用來提高維護(hù)作業(yè)的效率和質(zhì)量的技術(shù)。11.4軟件的可維護(hù)性軟件的可維護(hù)性是指軟件被理解、改正、調(diào)整和改進(jìn)的容易程度。軟件的可維護(hù)性、可使用性和可靠性是衡量軟件質(zhì)量的3個(gè)主要特征,也是開發(fā)人員與用戶最關(guān)心的問題。但是

9、,到目前為止還沒有普遍適用的定量度量標(biāo)準(zhǔn)。11.4軟件的可維護(hù)性軟件度量學(xué)的7個(gè)質(zhì)量特性可理解性。通過閱讀源代碼和相關(guān)文檔,了解程序功能及其如何運(yùn)行,對(duì)源程序的代碼容易理解。可靠性。按照用戶的要求和設(shè)計(jì)目標(biāo),一個(gè)程序在給定的一段時(shí)間內(nèi)正確執(zhí)行的概率。可測(cè)試性。表明論證程序正確性的容易程度??尚薷男?。表明程序容易修改的程度。可移植性。表明程序轉(zhuǎn)移到一個(gè)新的計(jì)算機(jī)環(huán)境的容易程度的大小。效率。表明一個(gè)程序能執(zhí)行預(yù)定功能而又不浪費(fèi)其資源的程度??墒褂眯?。表明用戶使用方便、實(shí)用及易于使用的程度。11.4軟件的可維護(hù)性間接地度量可維護(hù)性:維護(hù)全過程中查錯(cuò)改錯(cuò)驗(yàn)證的一個(gè)周期,即從檢測(cè)出軟件運(yùn)行時(shí)出現(xiàn)的錯(cuò)誤開

10、始直到錯(cuò)誤改正完成并經(jīng)回歸測(cè)試驗(yàn)證這段時(shí)間。覺察到問題所用的時(shí)間。收集維護(hù)工具所用的時(shí)間。分析問題所需的時(shí)間。形成修改說明書所用的時(shí)間。修改設(shè)計(jì)與源代碼所用的時(shí)間。測(cè)試(部分、整體)所用的時(shí)間。維護(hù)復(fù)審所用的時(shí)間。完全恢復(fù)所用的時(shí)間。11.4軟件的可維護(hù)性提高可維護(hù)性的方法建立明確的軟件質(zhì)量目標(biāo)。使用先進(jìn)的軟件開發(fā)技術(shù)和工具。進(jìn)行明確的質(zhì)量保證審查。選擇可維護(hù)的程序設(shè)計(jì)語言。改進(jìn)程序文檔。11.5軟件維護(hù)的副作用軟件維護(hù)的副作用:因修改軟件而造成的錯(cuò)誤或其他不希望出現(xiàn)的情況。代碼副作用刪除或修改一個(gè)子程序。刪除或改變一個(gè)語句標(biāo)號(hào)。刪除或改變一個(gè)標(biāo)識(shí)符。為改進(jìn)執(zhí)行性能所做的修改。改變文件的打開或

11、關(guān)閉。改變邏輯運(yùn)算符。把設(shè)計(jì)修改翻譯成主代碼的修改。對(duì)邊界條件的邏輯測(cè)試所做的修改。11.5軟件維護(hù)的副作用數(shù)據(jù)副作用重新定義局部和全程常量。重新定義記錄或文件格式。增大或減小一個(gè)數(shù)組或高階數(shù)據(jù)結(jié)構(gòu)的大小。修改全程數(shù)據(jù)。重新初始化控制標(biāo)記或指針。重新排列IO或子程序的自變量。文檔副作用11.6軟件再工程軟件再工程就是將新技術(shù)和新工具應(yīng)用于舊的軟件以期增強(qiáng)它的功能,提高其性能的一種預(yù)防性維護(hù)技術(shù)。軟件再工程不同于以完成糾錯(cuò)或適應(yīng)需求變化為目的的一般的軟件維護(hù),它是運(yùn)用逆向工程、重構(gòu)等技術(shù),在充分理解原有軟件的基礎(chǔ)上,進(jìn)行分解、綜合,并重新構(gòu)建軟件,用以提高軟件的各種性能。11.6軟件再工程軟件再工程的過程軟件再工程模型,6類活動(dòng):庫(kù)存目錄分析。文檔重構(gòu)。逆向工程。代碼重構(gòu)。數(shù)據(jù)重構(gòu)。正向工程。11.6軟件再工程軟件再

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論