




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程名稱:軟件工程課程名稱:軟件工程 第第25講講班班 級(jí):級(jí): 日日 期:期:教教 室:室:教學(xué)題目:第教學(xué)題目:第15章章 軟件維護(hù)軟件維護(hù)教學(xué)目的:了解維護(hù)的概念,掌握四類維護(hù),教學(xué)目的:了解維護(hù)的概念,掌握四類維護(hù), 了解維護(hù)過(guò)程、軟件的可維護(hù)性。了解維護(hù)過(guò)程、軟件的可維護(hù)性。教學(xué)重點(diǎn):維護(hù)的概念、維護(hù)過(guò)程、可維護(hù)性。教學(xué)重點(diǎn):維護(hù)的概念、維護(hù)過(guò)程、可維護(hù)性。教學(xué)難點(diǎn):維護(hù)過(guò)程。教學(xué)難點(diǎn):維護(hù)過(guò)程。教教 具:多媒體教室、電子教案具:多媒體教室、電子教案作作 業(yè):業(yè):軟件維護(hù)是軟件生命周期的最后一個(gè)階段,軟軟件維護(hù)是軟件生命周期的最后一個(gè)階段,軟件從部署完畢到退役的整個(gè)時(shí)間內(nèi)對(duì)軟件的改件
2、從部署完畢到退役的整個(gè)時(shí)間內(nèi)對(duì)軟件的改動(dòng)所做的工作都是維護(hù)的內(nèi)容。動(dòng)所做的工作都是維護(hù)的內(nèi)容。在項(xiàng)目的各個(gè)階段對(duì)項(xiàng)目的可維護(hù)性進(jìn)行充分在項(xiàng)目的各個(gè)階段對(duì)項(xiàng)目的可維護(hù)性進(jìn)行充分考慮、對(duì)可維護(hù)性的嚴(yán)格評(píng)審以及在維護(hù)階段考慮、對(duì)可維護(hù)性的嚴(yán)格評(píng)審以及在維護(hù)階段有效地組織和管理維護(hù)活動(dòng),則是保證軟件可有效地組織和管理維護(hù)活動(dòng),則是保證軟件可維護(hù)性和降低維護(hù)費(fèi)用的關(guān)鍵。維護(hù)性和降低維護(hù)費(fèi)用的關(guān)鍵。本章重點(diǎn)內(nèi)容:維護(hù)的主要內(nèi)容、維護(hù)的流程、本章重點(diǎn)內(nèi)容:維護(hù)的主要內(nèi)容、維護(hù)的流程、如何在軟件的生產(chǎn)過(guò)程各個(gè)階段保證軟件的可如何在軟件的生產(chǎn)過(guò)程各個(gè)階段保證軟件的可維護(hù)性目標(biāo)。維護(hù)性目標(biāo)。軟件維護(hù)的主要目標(biāo)是使
3、已部署的軟件軟件維護(hù)的主要目標(biāo)是使已部署的軟件按照需求規(guī)格說(shuō)明書的要求(或用戶的按照需求規(guī)格說(shuō)明書的要求(或用戶的新需求)運(yùn)行,這要求軟件不僅要滿足新需求)運(yùn)行,這要求軟件不僅要滿足用戶所需要的各項(xiàng)功能需求,同時(shí)還要用戶所需要的各項(xiàng)功能需求,同時(shí)還要滿足用戶對(duì)軟件的非功能需求。軟件維滿足用戶對(duì)軟件的非功能需求。軟件維護(hù)的基本內(nèi)容則包含了實(shí)現(xiàn)這些目標(biāo)所護(hù)的基本內(nèi)容則包含了實(shí)現(xiàn)這些目標(biāo)所做的全部工作。做的全部工作。q按照維護(hù)的起因分類:按照維護(hù)的起因分類: 糾錯(cuò)性維護(hù)糾錯(cuò)性維護(hù) 適應(yīng)性維護(hù)適應(yīng)性維護(hù) 改善性維護(hù)改善性維護(hù) 預(yù)防性維護(hù)四類。預(yù)防性維護(hù)四類。 1. 糾錯(cuò)性維護(hù)糾錯(cuò)性維護(hù)為改正軟件系統(tǒng)中
4、潛藏為改正軟件系統(tǒng)中潛藏 的錯(cuò)誤而進(jìn)行的活動(dòng)。的錯(cuò)誤而進(jìn)行的活動(dòng)。用戶在使用軟件過(guò)程中發(fā)現(xiàn)軟件的錯(cuò)誤用戶在使用軟件過(guò)程中發(fā)現(xiàn)軟件的錯(cuò)誤是激發(fā)該種維護(hù)的起因。是激發(fā)該種維護(hù)的起因。四類四類2. 適應(yīng)性維護(hù)適應(yīng)性維護(hù)為適應(yīng)軟件運(yùn)行環(huán)境的為適應(yīng)軟件運(yùn)行環(huán)境的 變化而修改軟件的活動(dòng)。變化而修改軟件的活動(dòng)。軟件的運(yùn)行環(huán)境包括兩個(gè)方面,硬件和軟件的運(yùn)行環(huán)境包括兩個(gè)方面,硬件和軟件,軟件則大體上包括操作系統(tǒng)、中軟件,軟件則大體上包括操作系統(tǒng)、中間件、虛擬機(jī)等等。間件、虛擬機(jī)等等。3. 改善性維護(hù)改善性維護(hù)根據(jù)用戶在軟件使用過(guò)根據(jù)用戶在軟件使用過(guò)程中提出的建設(shè)性意見而進(jìn)行的維護(hù)活程中提出的建設(shè)性意見而進(jìn)行的維
5、護(hù)活動(dòng)。動(dòng)。主要是針對(duì)用戶提出的新的軟件需求或主要是針對(duì)用戶提出的新的軟件需求或修改原有的軟件需求而進(jìn)行的維護(hù),該修改原有的軟件需求而進(jìn)行的維護(hù),該種維護(hù)通常占所有維護(hù)工作量的一半以種維護(hù)通常占所有維護(hù)工作量的一半以上。軟件在部署之后一段時(shí)間內(nèi),用戶上。軟件在部署之后一段時(shí)間內(nèi),用戶的改善性維護(hù)應(yīng)該是遞減的。的改善性維護(hù)應(yīng)該是遞減的。4. 預(yù)防性維護(hù)預(yù)防性維護(hù)為了進(jìn)一步改善軟件系為了進(jìn)一步改善軟件系統(tǒng)的可維護(hù)性和可靠性,并為以后的改統(tǒng)的可維護(hù)性和可靠性,并為以后的改進(jìn)奠定基礎(chǔ)。進(jìn)奠定基礎(chǔ)。預(yù)防性維護(hù)可以采取逆向工程(預(yù)防性維護(hù)可以采取逆向工程(reverse engineering)和重構(gòu)工程
6、()和重構(gòu)工程(re-engineering)方式。)方式。嚴(yán)格按照軟件工程標(biāo)準(zhǔn)生產(chǎn)的軟件產(chǎn)品嚴(yán)格按照軟件工程標(biāo)準(zhǔn)生產(chǎn)的軟件產(chǎn)品在維護(hù)過(guò)程中糾錯(cuò)性維護(hù)的工作量很低,在維護(hù)過(guò)程中糾錯(cuò)性維護(hù)的工作量很低,不到總維護(hù)工作量的不到總維護(hù)工作量的15。由于改善性維護(hù)和適應(yīng)性維護(hù)需要修改由于改善性維護(hù)和適應(yīng)性維護(hù)需要修改需求規(guī)格說(shuō)明書,應(yīng)按照需求變更來(lái)進(jìn)需求規(guī)格說(shuō)明書,應(yīng)按照需求變更來(lái)進(jìn)行管理,相當(dāng)于螺旋模型中的又一次迭行管理,相當(dāng)于螺旋模型中的又一次迭代過(guò)程,因此工作量很大。代過(guò)程,因此工作量很大。軟件維護(hù)是一種繁瑣而又不可或缺軟件維護(hù)是一種繁瑣而又不可或缺的工作,由于維護(hù)通常要求維護(hù)人的工作,由于維護(hù)
7、通常要求維護(hù)人員在用戶現(xiàn)場(chǎng)進(jìn)行,而且維護(hù)任務(wù)員在用戶現(xiàn)場(chǎng)進(jìn)行,而且維護(hù)任務(wù)可能非常緊急,因此對(duì)現(xiàn)場(chǎng)維護(hù)人可能非常緊急,因此對(duì)現(xiàn)場(chǎng)維護(hù)人員的壓力很大。而且沒(méi)有絲毫的成員的壓力很大。而且沒(méi)有絲毫的成就感。就感。非結(jié)構(gòu)化維護(hù)非結(jié)構(gòu)化維護(hù)軟件的配置中只有源軟件的配置中只有源代碼。代碼。由于沒(méi)有分析和設(shè)計(jì)文檔,無(wú)法對(duì)程序由于沒(méi)有分析和設(shè)計(jì)文檔,無(wú)法對(duì)程序的功能進(jìn)行反向追蹤,理解別人的代碼的功能進(jìn)行反向追蹤,理解別人的代碼是很痛苦的事情。是很痛苦的事情。由于配置中沒(méi)有測(cè)試文檔,所以維護(hù)后由于配置中沒(méi)有測(cè)試文檔,所以維護(hù)后的代碼無(wú)法進(jìn)行回歸測(cè)試。因而導(dǎo)致程的代碼無(wú)法進(jìn)行回歸測(cè)試。因而導(dǎo)致程序的結(jié)構(gòu)化被不斷的
8、破壞,維護(hù)的質(zhì)量序的結(jié)構(gòu)化被不斷的破壞,維護(hù)的質(zhì)量無(wú)法得到保證。無(wú)法得到保證。結(jié)構(gòu)化維護(hù)結(jié)構(gòu)化維護(hù)待維護(hù)的軟件的配置是待維護(hù)的軟件的配置是完整的。完整的。用戶提出的維護(hù)申請(qǐng)用正向追蹤很容易用戶提出的維護(hù)申請(qǐng)用正向追蹤很容易從分析設(shè)計(jì)文檔追蹤直至代碼中,從而從分析設(shè)計(jì)文檔追蹤直至代碼中,從而使維護(hù)人員很容易定位代碼的維護(hù)點(diǎn)。使維護(hù)人員很容易定位代碼的維護(hù)點(diǎn)。所以這種維護(hù)不會(huì)破壞軟件的結(jié)構(gòu)。所以這種維護(hù)不會(huì)破壞軟件的結(jié)構(gòu)。結(jié)構(gòu)化維護(hù)不僅能減少維護(hù)的工作量,結(jié)構(gòu)化維護(hù)不僅能減少維護(hù)的工作量,還能提高維護(hù)的質(zhì)量。還能提高維護(hù)的質(zhì)量。圖圖15-3-1 非結(jié)構(gòu)化維護(hù)和結(jié)構(gòu)化維護(hù)非結(jié)構(gòu)化維護(hù)和結(jié)構(gòu)化維護(hù)維護(hù)
9、請(qǐng)求維護(hù)請(qǐng)求配置配置理解代碼功能理解代碼功能理解理解 ?修改代碼修改代碼測(cè)試復(fù)審測(cè)試復(fù)審理解設(shè)計(jì)理解設(shè)計(jì)方案規(guī)劃方案規(guī)劃修改設(shè)計(jì)修改設(shè)計(jì)修改代碼修改代碼測(cè)試復(fù)審測(cè)試復(fù)審交付使用交付使用軟件軟件代碼代碼20世紀(jì)世紀(jì)70年代,軟件的維護(hù)費(fèi)用約占軟年代,軟件的維護(hù)費(fèi)用約占軟件總預(yù)算的件總預(yù)算的3540%。80年代時(shí),軟件維護(hù)費(fèi)用進(jìn)一步增加,年代時(shí),軟件維護(hù)費(fèi)用進(jìn)一步增加,約占軟件總預(yù)算的約占軟件總預(yù)算的60%。近年來(lái),該值已上升到近年來(lái),該值已上升到80%左右。左右。隨著軟件復(fù)雜性的不斷提高,軟件的維隨著軟件復(fù)雜性的不斷提高,軟件的維護(hù)難度越來(lái)越大。這不僅導(dǎo)致維護(hù)成本護(hù)難度越來(lái)越大。這不僅導(dǎo)致維護(hù)成
10、本不斷增高,軟件生產(chǎn)率急劇下降,還會(huì)不斷增高,軟件生產(chǎn)率急劇下降,還會(huì)帶來(lái)其他方面的負(fù)面影響。帶來(lái)其他方面的負(fù)面影響。 MP+Ke(c-d)其中:其中: M:維護(hù)所用工作量;:維護(hù)所用工作量; P:生產(chǎn)性工作量:生產(chǎn)性工作量 分析評(píng)價(jià)、修改設(shè)計(jì)和代碼;分析評(píng)價(jià)、修改設(shè)計(jì)和代碼; Ke(c-d):助動(dòng)性工作量:助動(dòng)性工作量 理解文檔和代碼;理解文檔和代碼; K:經(jīng)驗(yàn)常數(shù);:經(jīng)驗(yàn)常數(shù); c:軟件的維護(hù)復(fù)雜度,由軟件本身的復(fù)雜度,軟:軟件的維護(hù)復(fù)雜度,由軟件本身的復(fù)雜度,軟 件的設(shè)計(jì)質(zhì)量以及文檔化的程度等因素決定;件的設(shè)計(jì)質(zhì)量以及文檔化的程度等因素決定; d:維護(hù)人員對(duì)軟件的熟悉程度;:維護(hù)人員對(duì)軟
11、件的熟悉程度; 可見維護(hù)工作量同軟件的維護(hù)復(fù)雜度成指數(shù)關(guān)系??梢娋S護(hù)工作量同軟件的維護(hù)復(fù)雜度成指數(shù)關(guān)系。1)無(wú)法追蹤軟件的整個(gè)創(chuàng)建過(guò)程。)無(wú)法追蹤軟件的整個(gè)創(chuàng)建過(guò)程。2)無(wú)法追蹤軟件版本的進(jìn)化過(guò)程。)無(wú)法追蹤軟件版本的進(jìn)化過(guò)程。 軟件交付使用后對(duì)軟件不斷修復(fù)和完善的軟件交付使用后對(duì)軟件不斷修復(fù)和完善的 過(guò)程,就是軟件版本的進(jìn)化過(guò)程,每一次過(guò)程,就是軟件版本的進(jìn)化過(guò)程,每一次 進(jìn)化都會(huì)使軟件的主、次版本號(hào)增大。進(jìn)化都會(huì)使軟件的主、次版本號(hào)增大。3)理解別人的程序非常困難。)理解別人的程序非常困難。4)得不到開發(fā)人員的幫助。)得不到開發(fā)人員的幫助。5)軟件配置不完整或不正確。)軟件配置不完整或不正
12、確。6)分析和設(shè)計(jì)的缺陷。)分析和設(shè)計(jì)的缺陷。7)維護(hù)工作讓人沒(méi)有成就感。)維護(hù)工作讓人沒(méi)有成就感。維護(hù)組織一般由維護(hù)員,維護(hù)管理員,系統(tǒng)管維護(hù)組織一般由維護(hù)員,維護(hù)管理員,系統(tǒng)管理員,修改控制決策機(jī)構(gòu),配置管理員組成。理員,修改控制決策機(jī)構(gòu),配置管理員組成。 維護(hù)員維護(hù)員真正執(zhí)行維護(hù)的人員;真正執(zhí)行維護(hù)的人員; 維護(hù)管理員維護(hù)管理員協(xié)調(diào)維護(hù)活動(dòng)的人員;協(xié)調(diào)維護(hù)活動(dòng)的人員; 系統(tǒng)管理員系統(tǒng)管理員系統(tǒng)的管理者;系統(tǒng)的管理者; 修改控制決策機(jī)構(gòu)修改控制決策機(jī)構(gòu)決定一次維護(hù)的走向。決定一次維護(hù)的走向。修改控制和決策機(jī)構(gòu)、用戶、系統(tǒng)管理員、維修改控制和決策機(jī)構(gòu)、用戶、系統(tǒng)管理員、維護(hù)人員之間不能跨越維
13、護(hù)管理員進(jìn)行溝通和采護(hù)人員之間不能跨越維護(hù)管理員進(jìn)行溝通和采取行動(dòng)。取行動(dòng)。圖圖15-4-1 維護(hù)組織信息流圖維護(hù)組織信息流圖修改控制決策機(jī)構(gòu)修改控制決策機(jī)構(gòu)系統(tǒng)系統(tǒng)管理員管理員維護(hù)維護(hù)管理員管理員維護(hù)員維護(hù)員配置配置管理員管理員維護(hù)申請(qǐng)單維護(hù)申請(qǐng)單用戶的維護(hù)請(qǐng)求激發(fā)了一次維護(hù)活動(dòng),用戶用戶的維護(hù)請(qǐng)求激發(fā)了一次維護(hù)活動(dòng),用戶將維護(hù)申請(qǐng)?zhí)峤唤o維護(hù)管理員,維護(hù)管理員將維護(hù)申請(qǐng)?zhí)峤唤o維護(hù)管理員,維護(hù)管理員將該維護(hù)請(qǐng)求交給系統(tǒng)管理員對(duì)維護(hù)活動(dòng)可將該維護(hù)請(qǐng)求交給系統(tǒng)管理員對(duì)維護(hù)活動(dòng)可能引起的軟件修改進(jìn)行評(píng)估,并將評(píng)估結(jié)果能引起的軟件修改進(jìn)行評(píng)估,并將評(píng)估結(jié)果反饋給維護(hù)管理員,維護(hù)管理員按照維護(hù)請(qǐng)反饋給維
14、護(hù)管理員,維護(hù)管理員按照維護(hù)請(qǐng)求單制定軟件修改報(bào)告單并提交給修改決策求單制定軟件修改報(bào)告單并提交給修改決策機(jī)構(gòu)進(jìn)行維護(hù)決策。修改決策機(jī)構(gòu)根據(jù)情況機(jī)構(gòu)進(jìn)行維護(hù)決策。修改決策機(jī)構(gòu)根據(jù)情況決定采取的行動(dòng)(拒絕請(qǐng)求還是接收請(qǐng)求),決定采取的行動(dòng)(拒絕請(qǐng)求還是接收請(qǐng)求),并把結(jié)果反饋給維護(hù)管理員,如果允許維護(hù),并把結(jié)果反饋給維護(hù)管理員,如果允許維護(hù),維護(hù)管理員將通知維護(hù)員執(zhí)行該次維護(hù)。維護(hù)管理員將通知維護(hù)員執(zhí)行該次維護(hù)。用戶提出的維護(hù)申請(qǐng)必須采用標(biāo)準(zhǔn)的格式,須填寫由用戶提出的維護(hù)申請(qǐng)必須采用標(biāo)準(zhǔn)的格式,須填寫由維護(hù)人員制定的:維護(hù)人員制定的:維護(hù)申請(qǐng)單(維護(hù)申請(qǐng)單(Maintenance Request
15、 Form,MRF)或或 軟件問(wèn)題報(bào)告單(軟件問(wèn)題報(bào)告單(Software Problem Report,SPR)。)。如果是糾錯(cuò)性維護(hù),應(yīng)填寫如果是糾錯(cuò)性維護(hù),應(yīng)填寫SPR。在填寫。在填寫SPR時(shí),用時(shí),用戶必須完整地記錄出錯(cuò)信息(什么錯(cuò)誤)和出錯(cuò)場(chǎng)景戶必須完整地記錄出錯(cuò)信息(什么錯(cuò)誤)和出錯(cuò)場(chǎng)景(在什么情況下出現(xiàn)的錯(cuò)誤)。(在什么情況下出現(xiàn)的錯(cuò)誤)。其他種類的維護(hù),要填其他種類的維護(hù),要填MRF。在。在MRF中應(yīng)該附加簡(jiǎn)中應(yīng)該附加簡(jiǎn)短的修改規(guī)格說(shuō)明,也就是在需求規(guī)格說(shuō)明書中應(yīng)作短的修改規(guī)格說(shuō)明,也就是在需求規(guī)格說(shuō)明書中應(yīng)作哪些改動(dòng),比如增加功能或修改功能等。哪些改動(dòng),比如增加功能或修改功能
16、等。維護(hù)管理員將維護(hù)管理員將MRF后之提交給系統(tǒng)管理員,并據(jù)此后之提交給系統(tǒng)管理員,并據(jù)此對(duì)軟件改動(dòng)量作評(píng)估。系統(tǒng)管理員核準(zhǔn)該維護(hù)申請(qǐng)后,對(duì)軟件改動(dòng)量作評(píng)估。系統(tǒng)管理員核準(zhǔn)該維護(hù)申請(qǐng)后,維護(hù)組織內(nèi)部要制定一個(gè)軟件修改報(bào)告單(維護(hù)組織內(nèi)部要制定一個(gè)軟件修改報(bào)告單(Software Change Report,SCR),),MRF并不是軟件文檔的配并不是軟件文檔的配置項(xiàng)。而軟件修改的真正依據(jù)是置項(xiàng)。而軟件修改的真正依據(jù)是SCR,其內(nèi)容如下:,其內(nèi)容如下:1)本次修改所需工作量;)本次修改所需工作量;2)本次維護(hù)活動(dòng)的性質(zhì);)本次維護(hù)活動(dòng)的性質(zhì);3)本次維護(hù)請(qǐng)求的優(yōu)先級(jí);)本次維護(hù)請(qǐng)求的優(yōu)先級(jí);4)
17、本次修改的背景數(shù)據(jù)(來(lái)自于)本次修改的背景數(shù)據(jù)(來(lái)自于MRF或或SPR的陳述)。的陳述)。l將將SCR提交給修改控制決策機(jī)構(gòu),作為維護(hù)進(jìn)一步工提交給修改控制決策機(jī)構(gòu),作為維護(hù)進(jìn)一步工作的依據(jù)。作的依據(jù)。SCR是保證軟件版本進(jìn)化可跟蹤性所必須是保證軟件版本進(jìn)化可跟蹤性所必須的文檔。的文檔。用戶的維護(hù)請(qǐng)求提交給維護(hù)組織后的信用戶的維護(hù)請(qǐng)求提交給維護(hù)組織后的信息流程如圖息流程如圖15-4-2所示。收到維護(hù)請(qǐng)求后,所示。收到維護(hù)請(qǐng)求后,維護(hù)組織首先要判斷維護(hù)的類型,即本維護(hù)組織首先要判斷維護(hù)的類型,即本次維護(hù)請(qǐng)求是糾錯(cuò)性維護(hù)還是其他類型次維護(hù)請(qǐng)求是糾錯(cuò)性維護(hù)還是其他類型的維護(hù)。對(duì)于糾錯(cuò)維護(hù)要啟動(dòng)糾錯(cuò)維
18、護(hù)的維護(hù)。對(duì)于糾錯(cuò)維護(hù)要啟動(dòng)糾錯(cuò)維護(hù)流程,如果是其他類型的維護(hù)則啟動(dòng)適流程,如果是其他類型的維護(hù)則啟動(dòng)適應(yīng)性或改善性維護(hù)流程。用戶和維護(hù)組應(yīng)性或改善性維護(hù)流程。用戶和維護(hù)組織有時(shí)會(huì)對(duì)維護(hù)的類型有不同的看法??椨袝r(shí)會(huì)對(duì)維護(hù)的類型有不同的看法。圖圖15-4-2 維護(hù)活動(dòng)的事件流維護(hù)活動(dòng)的事件流其他其他出錯(cuò)出錯(cuò)維護(hù)請(qǐng)求維護(hù)請(qǐng)求類型類型“救火活動(dòng)救火活動(dòng)”當(dāng)排在隊(duì)列之首當(dāng)排在隊(duì)列之首嚴(yán)重性嚴(yán)重性按按SE方法學(xué)規(guī)劃、組織、實(shí)施工程方法學(xué)規(guī)劃、組織、實(shí)施工程隊(duì)列中還有維護(hù)請(qǐng)求隊(duì)列中還有維護(hù)請(qǐng)求評(píng)估后分類評(píng)估后分類評(píng)估后按優(yōu)先級(jí)評(píng)估后按優(yōu)先級(jí)在對(duì)列排隊(duì)在對(duì)列排隊(duì)通知請(qǐng)求者通知請(qǐng)求者并說(shuō)明原因并說(shuō)明原因資源用
19、于開發(fā)新的軟件資源用于開發(fā)新的軟件采取行動(dòng)采取行動(dòng)從維護(hù)請(qǐng)求隊(duì)列之首取一任務(wù)從維護(hù)請(qǐng)求隊(duì)列之首取一任務(wù)類型類型按優(yōu)先級(jí)在對(duì)列按優(yōu)先級(jí)在對(duì)列中排隊(duì)中排隊(duì)評(píng)估后按優(yōu)先級(jí)在隊(duì)評(píng)估后按優(yōu)先級(jí)在隊(duì)列排隊(duì)列排隊(duì)是是否否適應(yīng)性適應(yīng)性改善性改善性非常嚴(yán)重非常嚴(yán)重并不嚴(yán)重并不嚴(yán)重是是否否為了能夠很好地評(píng)價(jià)維護(hù)的有效性,必須詳細(xì)為了能夠很好地評(píng)價(jià)維護(hù)的有效性,必須詳細(xì)記錄軟件維護(hù)過(guò)程中的各種數(shù)據(jù),這些數(shù)據(jù)包記錄軟件維護(hù)過(guò)程中的各種數(shù)據(jù),這些數(shù)據(jù)包括:括:(1)程序標(biāo)志;)程序標(biāo)志;(2)源程序行數(shù);)源程序行數(shù);(3)目標(biāo)程序的指令條數(shù);)目標(biāo)程序的指令條數(shù);(4)所用的編程語(yǔ)言;)所用的編程語(yǔ)言;(5)安裝程序
20、的日期;)安裝程序的日期;(6)自安裝之日起程序運(yùn)行的次數(shù);)自安裝之日起程序運(yùn)行的次數(shù);(7)自安裝之日起程序失敗的次數(shù);)自安裝之日起程序失敗的次數(shù);(8)程序修改處的層數(shù)和標(biāo)志;)程序修改處的層數(shù)和標(biāo)志;(9)因程序變動(dòng)而增加和刪除的源程序行數(shù);)因程序變動(dòng)而增加和刪除的源程序行數(shù);(10)每處改動(dòng)所耗費(fèi)的人時(shí)數(shù);)每處改動(dòng)所耗費(fèi)的人時(shí)數(shù);(11)程序改動(dòng)的日期;)程序改動(dòng)的日期;(12)軟件工程師標(biāo)志;)軟件工程師標(biāo)志;(13)MRF的標(biāo)志;的標(biāo)志;(14)本次維護(hù)的類型;)本次維護(hù)的類型;(15)維護(hù)開始和結(jié)束的日期;)維護(hù)開始和結(jié)束的日期;(16)用于本次維護(hù)累計(jì)的人時(shí)數(shù);)用于本
21、次維護(hù)累計(jì)的人時(shí)數(shù);(17)執(zhí)行本次維護(hù)的純利潤(rùn)。)執(zhí)行本次維護(hù)的純利潤(rùn)。上述數(shù)據(jù)應(yīng)保存到維護(hù)數(shù)據(jù)庫(kù)里,作為維護(hù)評(píng)上述數(shù)據(jù)應(yīng)保存到維護(hù)數(shù)據(jù)庫(kù)里,作為維護(hù)評(píng)價(jià)的依據(jù)。價(jià)的依據(jù)。通過(guò)每次維護(hù)活動(dòng)的詳細(xì)記錄,可通過(guò)下面的通過(guò)每次維護(hù)活動(dòng)的詳細(xì)記錄,可通過(guò)下面的指標(biāo)度量維護(hù)的有效性:指標(biāo)度量維護(hù)的有效性:(1)程序運(yùn)行的平均失效次數(shù)(失效次數(shù)運(yùn))程序運(yùn)行的平均失效次數(shù)(失效次數(shù)運(yùn) 行的次數(shù));行的次數(shù));(2)維護(hù)活動(dòng)耗費(fèi)的總?cè)藭r(shí)數(shù);)維護(hù)活動(dòng)耗費(fèi)的總?cè)藭r(shí)數(shù);(3)各種程序,及各種語(yǔ)言的平均變動(dòng)數(shù);)各種程序,及各種語(yǔ)言的平均變動(dòng)數(shù);(4)維護(hù)階段修改每條語(yǔ)句所花費(fèi)的人時(shí)數(shù);)維護(hù)階段修改每條語(yǔ)句所花
22、費(fèi)的人時(shí)數(shù);(5)維護(hù)每種語(yǔ)言的程序平均花費(fèi)的人時(shí)數(shù);)維護(hù)每種語(yǔ)言的程序平均花費(fèi)的人時(shí)數(shù);(6)一張)一張MRF的平均周轉(zhuǎn)時(shí)間;的平均周轉(zhuǎn)時(shí)間;(7)各類維護(hù)請(qǐng)求的百分比。)各類維護(hù)請(qǐng)求的百分比。維護(hù)的副作用是指,由于維護(hù)或在維護(hù)過(guò)程中維護(hù)的副作用是指,由于維護(hù)或在維護(hù)過(guò)程中其他一些不期望的行為引入的錯(cuò)誤。副作用可其他一些不期望的行為引入的錯(cuò)誤。副作用可分三類:分三類: (1)代碼副作用)代碼副作用下面的修改最易引起副作用:下面的修改最易引起副作用:修改或刪除子程序;修改或刪除子程序;修改或刪除語(yǔ)句標(biāo)號(hào);修改或刪除語(yǔ)句標(biāo)號(hào);修改或刪除標(biāo)識(shí)符;修改或刪除標(biāo)識(shí)符;為提高程序效率而做的修改;為提高
23、程序效率而做的修改;修改邏輯操作符;修改邏輯操作符;由設(shè)計(jì)變動(dòng)引起的代碼修改;由設(shè)計(jì)變動(dòng)引起的代碼修改;修改分支處的判斷條件;修改分支處的判斷條件; 代碼副作用大多數(shù)可在回歸測(cè)試中發(fā)現(xiàn)。代碼副作用大多數(shù)可在回歸測(cè)試中發(fā)現(xiàn)。(2)數(shù)據(jù)副作用)數(shù)據(jù)副作用數(shù)據(jù)副作用是由于修改數(shù)據(jù)結(jié)構(gòu)帶來(lái)的副作用。數(shù)據(jù)副作用是由于修改數(shù)據(jù)結(jié)構(gòu)帶來(lái)的副作用。容易引起數(shù)據(jù)副作用的修改包括:容易引起數(shù)據(jù)副作用的修改包括:局部和全局常量的再定義;局部和全局常量的再定義;記錄或文件格式的再定義;記錄或文件格式的再定義;增減數(shù)據(jù)或是由于修改數(shù)據(jù)結(jié)構(gòu)的定義導(dǎo)致增減數(shù)據(jù)或是由于修改數(shù)據(jù)結(jié)構(gòu)的定義導(dǎo)致 數(shù)據(jù)結(jié)構(gòu)長(zhǎng)度的改變;數(shù)據(jù)結(jié)構(gòu)長(zhǎng)度
24、的改變;修改全局?jǐn)?shù)據(jù);修改全局?jǐn)?shù)據(jù);重新初始化控制標(biāo)志和指針;重新初始化控制標(biāo)志和指針;重新排列重新排列I/O表或子程序參數(shù)表。表或子程序參數(shù)表。設(shè)計(jì)文檔化有助于抑制數(shù)據(jù)副作用,在設(shè)計(jì)文設(shè)計(jì)文檔化有助于抑制數(shù)據(jù)副作用,在設(shè)計(jì)文檔中有關(guān)于數(shù)據(jù)結(jié)構(gòu)的詳細(xì)描述和交叉訪問(wèn)表。檔中有關(guān)于數(shù)據(jù)結(jié)構(gòu)的詳細(xì)描述和交叉訪問(wèn)表。(3)文檔副作用)文檔副作用由于程序修改而沒(méi)有對(duì)文檔進(jìn)行相應(yīng)的由于程序修改而沒(méi)有對(duì)文檔進(jìn)行相應(yīng)的修改引起文檔的副作用。修改引起文檔的副作用。必須保持文檔和程序的一致性。每次維必須保持文檔和程序的一致性。每次維護(hù)之后,再次交付軟件之前應(yīng)仔細(xì)評(píng)審護(hù)之后,再次交付軟件之前應(yīng)仔細(xì)評(píng)審整個(gè)配置,這樣
25、才能更好地減少文檔的整個(gè)配置,這樣才能更好地減少文檔的副作用。副作用。軟件的可維護(hù)性是指軟件被理解和被正軟件的可維護(hù)性是指軟件被理解和被正確改動(dòng)的難易程度。確改動(dòng)的難易程度。 軟件的可維護(hù)性差是軟件維護(hù)工作量和軟件的可維護(hù)性差是軟件維護(hù)工作量和費(fèi)用激增的直接原因,因此在軟件工程費(fèi)用激增的直接原因,因此在軟件工程的各個(gè)階段都要保證軟件具有較高可維的各個(gè)階段都要保證軟件具有較高可維護(hù)性,從而降低軟件維護(hù)成本,這是軟護(hù)性,從而降低軟件維護(hù)成本,這是軟件工程的重要目標(biāo)之一。件工程的重要目標(biāo)之一。軟件的可維護(hù)性主要受下面因素影響:軟件的可維護(hù)性主要受下面因素影響:(1)軟件的構(gòu)造過(guò)程是否嚴(yán)格按照軟件工)軟件的構(gòu)造過(guò)程是否嚴(yán)格按照軟件工 程的方法進(jìn)行;程的方法進(jìn)行;(2)開發(fā)團(tuán)隊(duì)是否訓(xùn)練有素;)開發(fā)團(tuán)隊(duì)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 求職報(bào)告應(yīng)屆大學(xué)生范文
- 前臺(tái)業(yè)績(jī)報(bào)告范文
- 浙江國(guó)企招聘2024衢州龍游縣全域城鄉(xiāng)測(cè)繪有限公司招聘2人筆試參考題庫(kù)附帶答案詳解
- MySQL教程(新體系-綜合應(yīng)用實(shí)例視頻)(第4版) 習(xí)題-第10章-答案
- 二零二五年度債務(wù)清償與債權(quán)保護(hù)委托合同
- 二零二五年度創(chuàng)業(yè)公司期權(quán)分配合同范本
- 二零二五年度特色飲品店餐飲服務(wù)員合同
- 2025年度退房協(xié)議書模板
- 二零二五年度學(xué)校與地方政府共建人才培養(yǎng)基地合同
- 二零二五年度雇主責(zé)任保險(xiǎn)理賠細(xì)則書
- VTE防治在臨床科室的落地
- 2025年度個(gè)人住房買賣合同(帶家居家具)
- 《莫奈《睡蓮》主題課件》
- (新版)廣電全媒體運(yùn)營(yíng)師資格認(rèn)證考試復(fù)習(xí)題庫(kù)(含答案)
- 2024年法律職業(yè)資格考試(試卷一)客觀題試卷與參考答案
- 安全生產(chǎn)重大事故隱患排查報(bào)告表
- (高清版)建筑塑料復(fù)合模板工程技術(shù)規(guī)程JGJ_T 352-2014
- 小學(xué)音樂(lè)課后服務(wù)教學(xué)設(shè)計(jì)方案計(jì)劃
- 人教版八年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)教案(完整版)教學(xué)設(shè)計(jì)
- 電機(jī)零部件中英文對(duì)照表
- 【畢業(yè)論文】知識(shí)競(jìng)賽搶答器PLC設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論