




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件維護(hù)第十章本章要點(diǎn)
理解軟件維護(hù)的類(lèi)型和特點(diǎn);
掌握軟件維護(hù)的一般過(guò)程;
理解軟件的可維護(hù)性及提高可維護(hù)性的方法;
理解軟件維護(hù)的副作用;
了解軟件的再生工程。軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第1頁(yè)。10.1軟件維護(hù)的類(lèi)型與策略第10章軟件維護(hù)是指已完成開(kāi)發(fā)工作,并交付用戶使用以后,對(duì)軟件產(chǎn)品所進(jìn)行的一些軟件工程活動(dòng)。軟件維護(hù)是軟件生存周期中時(shí)間最長(zhǎng)的階段,也是花費(fèi)精力和費(fèi)用最多的階段。實(shí)踐表明,在開(kāi)發(fā)階段結(jié)束后,在軟件運(yùn)行過(guò)程中仍然有必要對(duì)軟件進(jìn)行變動(dòng),主要原因如下:(1)改正在運(yùn)行中新發(fā)現(xiàn)的錯(cuò)誤和設(shè)計(jì)上的缺陷,這些錯(cuò)誤和缺陷在開(kāi)發(fā)后期的測(cè)試階段未被發(fā)現(xiàn)。(2)改進(jìn)設(shè)計(jì),以便增強(qiáng)軟件的功能,提高軟件的性能。(3)要求已運(yùn)行的軟件能適應(yīng)特定的硬件、軟件、外部設(shè)備和通信設(shè)備等的工作環(huán)境,或者要求適應(yīng)已變動(dòng)的數(shù)據(jù)或文件等。(4)為使已運(yùn)行的軟件與其他相關(guān)的軟件有良好的接口,以利于協(xié)同工作。(5)為擴(kuò)充軟件的應(yīng)用范圍。10.1.1軟件維護(hù)工作的必要性軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第2頁(yè)。10.1軟件維護(hù)的類(lèi)型與策略第10章1.改正性維護(hù)改正性維護(hù)是改正在系統(tǒng)開(kāi)發(fā)階段已發(fā)生的而系統(tǒng)測(cè)試階段尚未發(fā)現(xiàn)的錯(cuò)誤。2.適應(yīng)性維護(hù)為適應(yīng)軟件運(yùn)行環(huán)境的變化而進(jìn)行的維護(hù)稱(chēng)適應(yīng)性維護(hù)。3.完善性維護(hù)為擴(kuò)充軟件的功能或用戶提出的新需求而進(jìn)行的維護(hù)稱(chēng)完善性維護(hù)。4.預(yù)防性維護(hù)為改進(jìn)軟件效率、可靠性、可維修性而進(jìn)行的維護(hù)稱(chēng)預(yù)防性維護(hù)。10.1.2軟件維護(hù)的類(lèi)型軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第3頁(yè)。10.1軟件維護(hù)的類(lèi)型與策略第10章1.改正性維護(hù)使用新技術(shù)可產(chǎn)生更可靠的代碼,從而大大提高軟件的可靠性,并減少改正性維護(hù)的需要。這些新技術(shù)包括:數(shù)據(jù)庫(kù)管理系統(tǒng);軟件開(kāi)發(fā)環(huán)境;程序自動(dòng)生成系統(tǒng);高級(jí)(第四代)語(yǔ)言。10.1.3軟件維護(hù)的策略軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第4頁(yè)。10.1軟件維護(hù)的類(lèi)型與策略第10章2.適應(yīng)性維護(hù)這一類(lèi)維護(hù)不可避免,但可以控制。(1)在配置管理時(shí),把硬件、操作系統(tǒng)和其他相關(guān)環(huán)境因素的可能變化考慮在內(nèi),可以減少某些適應(yīng)性維護(hù)的工作量。(2)把與硬件、操作系統(tǒng)以及其他外圍設(shè)備有關(guān)的程序歸結(jié)到特定的程序模塊中,可把因環(huán)境變化而必須修改的程序局部于某些程序模塊中。(3)使用內(nèi)部程序列表、外部文件以及處理的例行程序包,為維護(hù)時(shí)修改程序提供方便。(4)使用面向?qū)ο蠹夹g(shù),增強(qiáng)軟件系統(tǒng)的穩(wěn)定性,并使之易于修改和移植。10.1.3軟件維護(hù)的策略軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第5頁(yè)。10.1軟件維護(hù)的類(lèi)型與策略第10章3.完善性維護(hù)利用前兩類(lèi)維護(hù)中列舉的方法,也可以減少這一類(lèi)維護(hù)。特別是使用數(shù)據(jù)庫(kù)管理系統(tǒng)、程序生成器、應(yīng)用軟件包等可以減少維護(hù)工作量。此外,建立軟件系統(tǒng)的原型并在開(kāi)發(fā)實(shí)際系統(tǒng)之前提供給用戶,用戶通過(guò)運(yùn)行原型,進(jìn)一步完善他們的功能要求,可以減少以后完善性維護(hù)的需要。10.1.3軟件維護(hù)的策略軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第6頁(yè)。10.2軟件維護(hù)的特點(diǎn)第10章1.非結(jié)構(gòu)化維護(hù)和結(jié)構(gòu)化維護(hù)軟件的開(kāi)發(fā)過(guò)程對(duì)軟件的維護(hù)有較大影響。如果不采用軟件工程方法開(kāi)發(fā)軟件,則軟件只有程序而無(wú)文檔,維護(hù)工作非常困難,這是非結(jié)構(gòu)化維護(hù)。如果采用軟件工程方法開(kāi)發(fā)軟件,則各階段都有相應(yīng)的文檔,容易進(jìn)行維護(hù)工作,這是結(jié)構(gòu)化維護(hù)。(1)非結(jié)構(gòu)化維護(hù)因?yàn)橹挥性闯绦颍瑳](méi)有文檔或文檔很少,維護(hù)活動(dòng)只能從閱讀、理解和分析源程序代碼開(kāi)始,而這是相當(dāng)困難的。(2)結(jié)構(gòu)化維護(hù)運(yùn)用軟件工程思想開(kāi)發(fā)的軟件具有各個(gè)階段的文檔,這對(duì)于理解、掌握軟件功能、性能、軟件結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)接口和設(shè)計(jì)約束有很大作用。軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第7頁(yè)。10.2軟件維護(hù)的特點(diǎn)第10章2.軟件維護(hù)的困難性軟件維護(hù)的困難性主要是由于軟件需求分析和開(kāi)發(fā)方法的缺陷造成的。在軟件生存周期中的前兩個(gè)時(shí)期沒(méi)有采用嚴(yán)格而科學(xué)的管理和規(guī)劃,必然會(huì)引起軟件運(yùn)行時(shí)的維護(hù)困難。這種困難表現(xiàn)在如下幾方面:(1)難以讀懂他人的程序。(2)無(wú)文檔或文檔不一致。(3)軟件開(kāi)發(fā)和軟件維護(hù)在人員和時(shí)間上的差異(4)維護(hù)工作毫無(wú)吸引力,缺乏成就感。(5)難以追蹤軟件的建立過(guò)程。(6)通過(guò)多種版本的發(fā)行,難以追蹤軟件版本的演化過(guò)程。(7)軟件在設(shè)計(jì)時(shí)未考慮修改需要。軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第8頁(yè)。10.3軟件維護(hù)的過(guò)程與組織第10章1.維護(hù)機(jī)構(gòu)維護(hù)機(jī)構(gòu)通常以維護(hù)小組形式出現(xiàn)。維護(hù)小組分為臨時(shí)維護(hù)小組和長(zhǎng)期維護(hù)小組。臨時(shí)維護(hù)小組是非正式機(jī)構(gòu),它執(zhí)行一些特殊的或臨時(shí)的維護(hù)任務(wù);對(duì)于長(zhǎng)期運(yùn)行的復(fù)雜系統(tǒng)一般需要一個(gè)長(zhǎng)期穩(wěn)定的維護(hù)小組。但除了較大的軟件開(kāi)發(fā)公司外,通常在軟件維護(hù)方面,并不需要建立一個(gè)正式的組織機(jī)構(gòu)。維護(hù)工作往往是在沒(méi)有計(jì)劃的情況下進(jìn)行的。軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第9頁(yè)。10.3軟件維護(hù)的過(guò)程與組織第10章維護(hù)機(jī)構(gòu)中的人員與職責(zé)如下:(1)維護(hù)負(fù)責(zé)人。(2)維護(hù)管理員。(3)系統(tǒng)監(jiān)督員。(4)配置管理員。(5)維護(hù)人員。軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第10頁(yè)。10.3軟件維護(hù)的過(guò)程與組織第10章2.制定維護(hù)文檔所有軟件維護(hù)申請(qǐng)都應(yīng)按規(guī)定的方式提出。軟件維護(hù)組織通常提供維護(hù)申請(qǐng)報(bào)告(MaintenanceRequestReport,MRR)或稱(chēng)軟件問(wèn)題報(bào)告,由申請(qǐng)維護(hù)的用戶填寫(xiě)。如果發(fā)現(xiàn)了軟件的錯(cuò)誤,用戶必須完整地說(shuō)明產(chǎn)生錯(cuò)誤的情況,包括輸入數(shù)據(jù)、錯(cuò)誤清單以及其他有關(guān)材料。如果維護(hù)申請(qǐng)屬于適應(yīng)性維護(hù)或完善性維護(hù),用戶必須提出一份簡(jiǎn)要的維護(hù)規(guī)格說(shuō)明書(shū),列出所有希望的修改。維護(hù)申請(qǐng)報(bào)告將由維護(hù)管理員和系統(tǒng)監(jiān)督員來(lái)研究處理。軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第11頁(yè)。10.3軟件維護(hù)的過(guò)程與組織第10章3.維護(hù)流程軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第12頁(yè)。10.3軟件維護(hù)的過(guò)程與組織第10章4.維護(hù)記錄在維護(hù)階段需要記錄一些與維護(hù)有關(guān)的信息,這些信息可作為估計(jì)維護(hù)有效程度,確定軟件產(chǎn)品的質(zhì)量,估算維護(hù)費(fèi)用等工作的原始依據(jù)。5.維護(hù)評(píng)價(jià)根據(jù)維護(hù)文檔記錄,可以對(duì)維護(hù)工作做一些度量。軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第13頁(yè)。10.4軟件的可維護(hù)性第10章1.可理解性指維護(hù)人員通過(guò)閱讀程序代碼和相關(guān)文檔,了解程序的結(jié)構(gòu)、功能及其如何運(yùn)行的難易程度。2.可測(cè)試性表明預(yù)建立的測(cè)試準(zhǔn)則對(duì)軟件可進(jìn)行測(cè)試的程度。3.可修改性指軟件容易修改,而不至于產(chǎn)生副作用的程度。4.可移植性指一個(gè)軟件系統(tǒng)從一個(gè)計(jì)算機(jī)環(huán)境移植到另一個(gè)計(jì)算機(jī)環(huán)境的容易程度。10.4.1決定軟件可維護(hù)性的因素軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第14頁(yè)。10.4軟件的可維護(hù)性第10章1.明確軟件的質(zhì)量目標(biāo)和優(yōu)先級(jí)如果要程序滿足可維護(hù)性的七種特性的全部要求,那是不現(xiàn)實(shí)的。因?yàn)?,有些特性是相互促進(jìn)的,而有些特性則是相互矛盾的。每一種質(zhì)量特性的相對(duì)重要性不但因維護(hù)類(lèi)型而不同,而且因程序的用途和計(jì)算環(huán)境而不同。因此,在提出質(zhì)量目標(biāo)的同時(shí)還必須規(guī)定它們的優(yōu)先級(jí),這樣有助于提高軟件的質(zhì)量,減少軟件生存周期的費(fèi)用。2.使用先進(jìn)的軟件開(kāi)發(fā)技術(shù)和工具為了改善軟件可維護(hù)性,應(yīng)及時(shí)學(xué)習(xí)并盡量使用能提高軟件質(zhì)量的技術(shù)和工具。例如,模塊化技術(shù)、結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)、面向?qū)ο蟮认冗M(jìn)的軟件開(kāi)發(fā)技術(shù)。10.4.2提高軟件可維護(hù)性的方法軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第15頁(yè)。10.4軟件的可維護(hù)性第10章3.質(zhì)量保證審查要提高軟件可維護(hù)性,必須要進(jìn)行質(zhì)量保證審查。質(zhì)量保證審查可分為四種類(lèi)型。(1)在檢查點(diǎn)檢查。(2)驗(yàn)收檢查。(3)周期性維護(hù)檢查。(4)對(duì)軟件包檢查。10.4.2提高軟件可維護(hù)性的方法軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第16頁(yè)。10.4軟件的可維護(hù)性第10章4.選擇可維護(hù)的程序設(shè)計(jì)語(yǔ)言編碼所使用的程序設(shè)計(jì)語(yǔ)言對(duì)軟件的可維護(hù)性影響很大。低級(jí)語(yǔ)言很難理解,因此也很難維護(hù)。高級(jí)語(yǔ)言比低級(jí)語(yǔ)言容易理解,有更好的可維護(hù)性。某些高級(jí)語(yǔ)言可能比另一些更容易理解。尤其是第四代語(yǔ)言更容易理解,更容易編程,因此更容易維護(hù)。5.改進(jìn)程序的文檔程序文檔對(duì)提高程序的可理解性有著重要作用。規(guī)范、完整、一致的文檔是建立可維護(hù)性的基本條件。在軟件生存周期的每個(gè)階段的技術(shù)復(fù)審和管理復(fù)審中,都應(yīng)對(duì)文檔進(jìn)行檢查,對(duì)可維護(hù)性進(jìn)行復(fù)審。10.4.2提高軟件可維護(hù)性的方法軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第17頁(yè)。10.5軟件維護(hù)的副作用第10章1.代碼副作用最危險(xiǎn)的副作用是修改軟件源程序而產(chǎn)生的。在修改源代碼時(shí),最容易引入下列錯(cuò)誤:(1)刪除或修改子程序、語(yǔ)句標(biāo)號(hào)(LABEL)和標(biāo)識(shí)符。(2)改變程序的執(zhí)行效率。(3)改變程序代碼的時(shí)序關(guān)系、改變占用存儲(chǔ)的大小。(4)修改邏輯運(yùn)算符。(5)修改文件的打開(kāi)或關(guān)閉操作。(6)由設(shè)計(jì)變動(dòng)引起的代碼修改。(7)為邊界條件的邏輯測(cè)試而做出的修改。軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第18頁(yè)。10.5軟件維護(hù)的副作用第10章2.?dāng)?shù)據(jù)副作用在修改數(shù)據(jù)結(jié)構(gòu)時(shí),有可能造成軟件設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)的不匹配,因而導(dǎo)致軟件錯(cuò)誤。數(shù)據(jù)副作用是指修改軟件信息結(jié)構(gòu)導(dǎo)致的不良后果,主要有以下幾種:(1)局部變量或全局變量的重新定義,記錄或文件格式的重新定義。(2)增加或減少一個(gè)數(shù)組或其他復(fù)雜數(shù)據(jù)結(jié)構(gòu)的大小。(3)修改全局或公共數(shù)據(jù)。(4)重新初始化控制標(biāo)志或指針。(5)重新排列輸入/輸出或函數(shù)(子程序)的參數(shù)。軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第19頁(yè)。10.5軟件維護(hù)的副作用第10章3.文檔副作用在軟件維護(hù)過(guò)程中應(yīng)統(tǒng)一考慮整個(gè)軟件配置,必須對(duì)相關(guān)技術(shù)文檔進(jìn)行相應(yīng)修改,不僅僅是源代碼。否則會(huì)導(dǎo)致文檔與程序不匹配,使文檔不能反映軟件當(dāng)前的狀態(tài),這比沒(méi)有文檔更麻煩。一次維護(hù)完成后,在再次交付軟件之前應(yīng)仔細(xì)復(fù)審整個(gè)軟件配置,以減少文檔副作用。事實(shí)上,某些維護(hù)申請(qǐng)的提出只是由于用戶文檔不夠清楚。這時(shí),只需對(duì)文檔維護(hù)即可,并不需要修改軟件設(shè)計(jì)或源程序。為了控制因修改而引起的副作用,要做到:按模塊把修改分組;自頂向下的安排被修改模塊的順序;每次只修改一個(gè)模塊;對(duì)每個(gè)修改了的模塊,在安排修改下一個(gè)模塊前,要確定這個(gè)修改的副作用,可使用交叉引用表、存儲(chǔ)映像表、執(zhí)行流程跟蹤等。軟件工程(第6版)-第10章-軟件維護(hù)全文共22頁(yè),當(dāng)前為第20頁(yè)。10.6軟件逆向工程與再生工程第10章逆向工程與再生工程是目前預(yù)防性維護(hù)采用的主要技術(shù)。逆向工程術(shù)語(yǔ)源于硬件制造業(yè),相互競(jìng)爭(zhēng)的公司為了了解對(duì)方設(shè)計(jì)和制造工藝的機(jī)密,在得不到設(shè)計(jì)和制造說(shuō)明書(shū)的情況下,通過(guò)拆卸實(shí)物獲取信息。軟件的逆向工程也基本相似,不過(guò)通?!敖馄省钡牟粌H是競(jìng)爭(zhēng)對(duì)手的程序,而且還包括本公司多年前的產(chǎn)品,此時(shí)得不到設(shè)計(jì)“機(jī)密”的主要障礙是缺乏文檔。因此,所謂軟件的逆向工程就是對(duì)已有的程序,尋求比源代碼更高級(jí)的抽象表達(dá)形式。一般認(rèn)為,凡是在軟件生存周期內(nèi),將軟件某種形式的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣西金融職業(yè)技術(shù)學(xué)院《消費(fèi)社會(huì)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧夏理工學(xué)院《多媒體作品創(chuàng)作》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京傳媒學(xué)院《基礎(chǔ)俄語(yǔ)Ⅳ》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東司法警官職業(yè)學(xué)院《動(dòng)畫(huà)導(dǎo)演基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年河北省石家莊二中潤(rùn)德學(xué)校高三第二學(xué)期入學(xué)檢測(cè)試題試卷語(yǔ)文試題含解析
- 江蘇省宿遷市2025年小升初易錯(cuò)點(diǎn)數(shù)學(xué)檢測(cè)卷含解析
- 南通大學(xué)《口腔頜面醫(yī)學(xué)影像診斷學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 古代表示年齡的詞語(yǔ)從小到大排序
- 公益慈善存在的問(wèn)題及建議
- 公共直飲水點(diǎn)管理制度
- 精神科病人安全與治療管理制度
- 廚房食材收貨流程
- 品牌服飾行業(yè)快速消費(fèi)品庫(kù)存管理優(yōu)化方案
- 貝雷橋吊裝專(zhuān)項(xiàng)方案(危大工程吊裝方案)
- 昌江縣燕窩嶺水泥用石灰?guī)r礦礦產(chǎn)資源開(kāi)發(fā)利用與保護(hù)方案
- 2024年《認(rèn)證基礎(chǔ)》真題及答案
- ZHF形勢(shì)與政策(2024年秋)-考試題庫(kù)
- 淤地壩應(yīng)急處置
- 鸚鵡介紹課件教學(xué)課件
- 汽車(chē)檢測(cè)技術(shù)課件 任務(wù)一 認(rèn)識(shí)汽車(chē)檢測(cè)站
- 貴州省2025年初中學(xué)業(yè)水平考試英語(yǔ) 模擬試題卷(一)(含答案不含聽(tīng)力原文及聽(tīng)力音頻)
評(píng)論
0/150
提交評(píng)論