版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章
軟件維護(hù)XX大學(xué)XX系XXX軟件工程教程電子科技大學(xué)出版社學(xué)習(xí)目標(biāo)l
理解軟件維護(hù)的目的意義;l
掌握軟件維護(hù)的最新方法;l
掌握軟件維護(hù)文檔如何書寫;l
了解軟件維護(hù)的可維護(hù)性;l
了解軟件維護(hù)的基本過(guò)程;l
了解軟件維護(hù)、軟件重用和再工程方面的知識(shí)。目錄01020304軟件維護(hù)概述軟件維護(hù)類型軟件維護(hù)過(guò)程軟件可維護(hù)性0506軟件重用和再工程本章小結(jié)軟件維護(hù)概述01軟件維護(hù)概述軟件維護(hù)活動(dòng)是發(fā)生在產(chǎn)品的生存周期之內(nèi)。在軟件生存周期最終環(huán)節(jié)才進(jìn)行軟件維護(hù),能夠大力減少維護(hù)軟件工作,提升產(chǎn)品性能。減少軟件開(kāi)發(fā)成本是軟件維護(hù)階段的目的之一。降低軟件維護(hù)的費(fèi)用是開(kāi)發(fā)過(guò)程中關(guān)鍵的環(huán)節(jié)。軟件維護(hù)概述軟件維護(hù)的過(guò)程會(huì)產(chǎn)生一些不良的影響,軟件修改這項(xiàng)工作比較危險(xiǎn),即使設(shè)計(jì)文檔和回歸測(cè)試對(duì)排除錯(cuò)誤有幫助,但是依然避免不了副作用的產(chǎn)生。副作用的概念是一些不期望的行為引進(jìn)所帶來(lái)的錯(cuò)誤。軟件維護(hù)概述(1)代碼副作用。刪除、修改子程序,語(yǔ)句符號(hào),標(biāo)示符。修改文件的open、close時(shí)才會(huì)出現(xiàn),修改邏輯操作符和邊界條件的測(cè)試等。(2)數(shù)據(jù)副作用。修改全局?jǐn)?shù)據(jù),重新排列I/O表或子程序參數(shù)表和初始化控制標(biāo)志和指針以及全局常量和局部常量的再定義(3)文檔副作用。維護(hù)除了考慮源代碼外,還要考慮整個(gè)軟件的配置。軟件維護(hù)類型02軟件維護(hù)類型維護(hù)階段是軟件生存周期的最后階段,該階段是花費(fèi)時(shí)間最長(zhǎng)、投入人力財(cái)力最多且難度系數(shù)最大的一個(gè)階段,不同的維護(hù)種類應(yīng)該采取不同的”策略。角度不同導(dǎo)致分類方法不同,從而分類結(jié)果也不同。傳統(tǒng)的軟件維護(hù)一般分為四大類,如表7.1所示。表7.1
軟件的4類維護(hù)軟件維護(hù)類型(1)改正性維護(hù)改正性維護(hù)是指糾正在系統(tǒng)開(kāi)發(fā)階段時(shí)發(fā)生的”而在系統(tǒng)測(cè)試階段沒(méi)有被發(fā)現(xiàn)的錯(cuò)誤。這方面的維護(hù)工作量占總工作量的17%-21%。發(fā)現(xiàn)的一些錯(cuò)誤并不是非常嚴(yán)重的,不影響系統(tǒng)的正常運(yùn)行。軟件維護(hù)類型(2)適應(yīng)性維護(hù)適應(yīng)性維護(hù)是指使用一些軟件來(lái)適應(yīng)信息技術(shù)”和管理需求的變化。該類型的維護(hù)工作量占總工作量的18%-25%。軟件維護(hù)類型(3)完善性維護(hù)完善性維護(hù)是為了擴(kuò)展功能和提高性能而進(jìn)行的修改,主要是為了在系統(tǒng)分析和設(shè)計(jì)階段加一些沒(méi)有指定的現(xiàn)有軟件系統(tǒng)中的一些功能和性能特征。這些特性和功能對(duì)”于改善系統(tǒng)的功能是必要的。此外,它還包括在處理效率和編寫程序上的改進(jìn),占了整體維護(hù)的50%-60%,比例較大,但也關(guān)系到系統(tǒng)開(kāi)發(fā)質(zhì)量的重要方面。除了有計(jì)劃和有系統(tǒng)地完成維護(hù)外,還需要注意將相關(guān)文檔進(jìn)行更新。軟件維護(hù)類型(4)預(yù)防性維護(hù)預(yù)防性維護(hù)用以提高應(yīng)用軟件的可靠性和可維護(hù)性,為了去適應(yīng)未來(lái)軟硬件環(huán)境的變化,我”們應(yīng)主動(dòng)增加新的預(yù)防性功能,使應(yīng)用系統(tǒng)適應(yīng)各種變化而不被消除。這一維護(hù)的工作量約占整個(gè)維護(hù)工作的4%。軟件維護(hù)類型隨著軟件開(kāi)發(fā)方面的進(jìn)展,軟件維護(hù)方法也得到了發(fā)展,這首先體現(xiàn)在軟件維護(hù)的分類。目前,軟件企業(yè)將自己的軟件產(chǎn)品進(jìn)行維護(hù),基本上分為如下兩類?!保?)面向缺陷的維護(hù)-程序級(jí)別的維護(hù);(2)面向特性的維護(hù)-設(shè)計(jì)級(jí)別的維護(hù)。面向缺陷維護(hù)是較小的維護(hù),面向功能維護(hù)是較大的維護(hù)。軟件維護(hù)類型可以從不同角度來(lái)劃分軟件維護(hù)的方法,具體分為三種?!保?)根據(jù)兩層結(jié)構(gòu)劃分軟件維護(hù)方法客戶機(jī)、服務(wù)器的兩層結(jié)構(gòu)。我們常說(shuō)的ERP軟件維護(hù),就是這種維護(hù)。軟件維護(hù)類型(2)根據(jù)三層結(jié)構(gòu)劃分軟件維護(hù)方法客戶端、應(yīng)用程序服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器這三”層結(jié)構(gòu),是最有前途的應(yīng)用程序軟件結(jié)構(gòu)之一。病毒殺滅工具常見(jiàn)的升級(jí)方式就是這種維護(hù)。軟件維護(hù)類型(3)根據(jù)“三種開(kāi)發(fā)方法”劃分軟件維護(hù)方法根據(jù)“三種開(kāi)發(fā)方法”劃分軟件維護(hù)方法,即根據(jù)“面向過(guò)程的開(kāi)發(fā)、元數(shù)據(jù)開(kāi)發(fā)、面向?qū)ο蟮拈_(kāi)發(fā)””來(lái)劃分軟件維護(hù)的方法。在三層結(jié)構(gòu)中,大多數(shù)對(duì)象分布在整個(gè)應(yīng)用服務(wù)器上。在數(shù)據(jù)庫(kù)服務(wù)器上,僅僅有數(shù)據(jù)對(duì)象。在客戶的瀏覽器上,只有網(wǎng)頁(yè)對(duì)象。軟件維護(hù)過(guò)程03軟件維護(hù)過(guò)程軟件維護(hù)的工作過(guò)程與軟件開(kāi)發(fā)的工作過(guò)程相似。軟件維護(hù)工作程序?yàn)椋壕S護(hù)需求分析、維護(hù)設(shè)計(jì)、程序代碼修改、維護(hù)后測(cè)試、維護(hù)后試運(yùn)行、維護(hù)后正式運(yùn)行、維護(hù)過(guò)程的評(píng)審和審核。軟件維護(hù)過(guò)程為此,需要建立一個(gè)維護(hù)組織,由用戶或售后工程師提交維護(hù)申請(qǐng)報(bào)告,維護(hù)組織對(duì)申請(qǐng)報(bào)告進(jìn)行審核和批準(zhǔn),組織技術(shù)人員實(shí)施“需求分析與維護(hù)、設(shè)計(jì)與維護(hù)、程序代碼主控”維護(hù)、測(cè)試或回歸測(cè)試、維護(hù)試運(yùn)行后、維護(hù)后正式運(yùn)行、維護(hù)過(guò)程的審查和審核,并建立詳細(xì)信息文檔。軟件維護(hù)過(guò)程在軟件生存周期中,軟件的維護(hù)時(shí)間最長(zhǎng),可能長(zhǎng)達(dá)幾年或幾十年。維護(hù)工作通常是在沒(méi)有計(jì)劃的情況下完成的。無(wú)組織的維護(hù)經(jīng)常帶來(lái)許多問(wèn)題,導(dǎo)致維護(hù)活動(dòng)混亂,加上缺乏維護(hù)記錄,軟件功能和文檔不一致等因素,給后續(xù)維護(hù)帶來(lái)嚴(yán)重困難。因此,為了達(dá)到更好的維護(hù)效果,有必要建立專門的維護(hù)機(jī)構(gòu)。軟件維護(hù)過(guò)程一個(gè)標(biāo)準(zhǔn)的維護(hù)組織模式:維護(hù)組織一般由維護(hù)人員、維護(hù)管理員、系統(tǒng)管理員、修改控制決策機(jī)構(gòu)和配置管理員組成。軟件維護(hù)過(guò)程對(duì)于一項(xiàng)維護(hù)流程來(lái)說(shuō),首先應(yīng)確認(rèn)維護(hù)要求,
然后要求確定將要執(zhí)行的維護(hù)工作的類型。軟件維護(hù)工作從評(píng)估錯(cuò)誤的嚴(yán)重程度開(kāi)始。在某些情況下,有些錯(cuò)誤非常嚴(yán)重,以至于不得不暫時(shí)放棄正常的維護(hù)過(guò)程,即不評(píng)估修改可能產(chǎn)生的副作用,也不相應(yīng)更新文檔,并立即修改代碼。這是一種只在非常關(guān)鍵的情況下使用的滅火矯正維護(hù)。此維護(hù)只占所有維護(hù)的一小部分。軟件維護(hù)過(guò)程在結(jié)構(gòu)化維護(hù)方面,軟件維護(hù)文檔,就是對(duì)已經(jīng)存在的實(shí)現(xiàn)文檔、設(shè)計(jì)文檔、測(cè)試文檔、分析文檔、用戶指南進(jìn)行修改,形成新的開(kāi)發(fā)文檔。新的開(kāi)發(fā)文檔的組織方式有兩種格式。軟件維護(hù)過(guò)程(1)保存好原來(lái)的開(kāi)發(fā)文檔之后,直接修改原文檔,修改后形成新的小版本文檔,就是在原版本中小圓點(diǎn)的右一位或右二位上加1。(2)不直接在原文檔上修改,而是將改過(guò)的內(nèi)容獨(dú)自作為一個(gè)附錄,放在修改過(guò)的文檔后面,形成一份新小版本文檔,就是在原版本號(hào)中小圓點(diǎn)的右一位或右二位上加1。軟件維護(hù)過(guò)程上述兩種格式完成后,應(yīng)在文檔的“版本更新記錄”(VersionUpdatedRecord)上做維護(hù)記錄,修改后的版本號(hào)應(yīng)填寫在“版本更新記錄”的相關(guān)欄中,如表7.2所示。軟件維護(hù)過(guò)程軟件維護(hù)是軟件生存周期中最耗時(shí)、最耗能的階段,需要大量的時(shí)間、人力和物力。為了降低和控制軟件維護(hù)的成本,我們應(yīng)該考慮哪些因素影響軟件維護(hù)的工作量,并相應(yīng)地采取最合適的維護(hù)策略。通常,把軟件維護(hù)的工作量分為助動(dòng)性和生產(chǎn)性兩個(gè)組成部分。助動(dòng)性工作量是理解各種文檔和代碼所需的工作量;生產(chǎn)性工作量則是用于分析和評(píng)估、修改設(shè)計(jì)和修改代碼的工作量。給出了維護(hù)工作量估算模型。軟件維護(hù)過(guò)程M=P+K*exp(c-d)(公式7.1)其中:M:維護(hù)所用工作量。P:生產(chǎn)性工作量。K:經(jīng)驗(yàn)常數(shù)。c:軟件維護(hù)的復(fù)雜性取決于軟件的復(fù)雜性、軟件設(shè)計(jì)的質(zhì)量和文檔化的程度。d:維護(hù)人員對(duì)軟件的熟悉程度。估計(jì)模型表明,軟件的維護(hù)工作量與軟件的維護(hù)復(fù)雜度呈指數(shù)關(guān)系。軟件可維護(hù)性04軟件可維護(hù)性所謂軟件可維護(hù)性,是指維護(hù)人員了解、掌握和修改維護(hù)軟件的難度??删S護(hù)性軟件應(yīng)該具有五個(gè)屬性,如表7.3所示。軟件可維護(hù)性符合五個(gè)特點(diǎn)的軟件具有良好的可維護(hù)性。反之,可維護(hù)性就差。由此可知,可維護(hù)性與開(kāi)發(fā)人員的素質(zhì)關(guān)系極大。低素質(zhì)的開(kāi)發(fā)人員,開(kāi)發(fā)出低質(zhì)量的軟件,其可維護(hù)性差,維護(hù)難度系數(shù)大,市場(chǎng)潛力就會(huì)十分渺茫。低質(zhì)量軟件的開(kāi)發(fā),其可維護(hù)性差。作為維護(hù)的副作用,糾正舊的錯(cuò)誤會(huì)導(dǎo)致新的錯(cuò)誤。軟件維護(hù)的副作用與維護(hù)的方式有關(guān),如表7.4所示。軟件可維護(hù)性把這四個(gè)副作用加在一起,就很容易出現(xiàn)多次修補(bǔ)的現(xiàn)象,當(dāng)維護(hù)完成一次后,將添加一個(gè)補(bǔ)丁。補(bǔ)丁做得越多,隱藏的問(wèn)題就越多。由于對(duì)于系統(tǒng)考慮不當(dāng)或沒(méi)理解透徹,在維護(hù)過(guò)程中可能會(huì)發(fā)生連鎖反應(yīng)。這為了減少維護(hù)工作量,防止維護(hù)的副作用,人們?cè)陂L(zhǎng)時(shí)間的實(shí)踐中積累了以下經(jīng)驗(yàn),利用CMMI框架系統(tǒng)的思想,在軟件企業(yè)中改進(jìn)軟件過(guò)程管理。在開(kāi)發(fā)和維護(hù)中,嘗試使用CASE工具。維護(hù)完成后,必須進(jìn)行回歸測(cè)試。始終保持文檔、數(shù)據(jù)和程序的一致性。軟件重用和再工程05軟件重用和再工程如果比起從頭開(kāi)始編程,很容易修改整個(gè)產(chǎn)品使其在另一個(gè)編譯器-硬件-操作系統(tǒng)配置上運(yùn)行,那么該產(chǎn)品是可移植的。相反,簡(jiǎn)化一個(gè)功能不同的產(chǎn)品的開(kāi)發(fā),而運(yùn)用另一個(gè)產(chǎn)品中的構(gòu)件就是指的重用。重用的類型分為有意重用和偶然重用。如果一個(gè)新產(chǎn)品的開(kāi)發(fā)者意識(shí)到,以前設(shè)計(jì)的產(chǎn)品的一個(gè)構(gòu)件可在這個(gè)新產(chǎn)品中運(yùn)用,那么這是偶然重用或機(jī)會(huì)重用。另一方面,使用專門為未來(lái)可能的重用而建造的軟件構(gòu)件則是有意重用或有計(jì)劃重用。軟件重用和再工程有意重用比偶然重用的一個(gè)潛在好處如下。為未來(lái)可能的重用專門建造的構(gòu)件會(huì)更容易重用,也更安全,通常這樣的構(gòu)件是健壯的、文檔完善并經(jīng)過(guò)全面測(cè)試的。軟件重用和再工程重用經(jīng)常會(huì)面臨這樣一些障礙。太多的軟件專業(yè)人員寧愿從頭編寫一個(gè)程序,也不愿重用別人編寫的程序,也就是說(shuō)程序只有自己
編
的
才
是
好
的
,
用
另
一
種
說(shuō)
法
就
是NIH(NotInventedHere)綜合征。NIH是一個(gè)管理方面的問(wèn)題,如果管理者意識(shí)到這個(gè)問(wèn)題,就可解決它,通??赏ㄟ^(guò)提供財(cái)政上的激勵(lì)來(lái)促進(jìn)重用。軟件重用和再工程重用需要考慮三項(xiàng)成本。建造可重用構(gòu)件的成本、重用它的成本以及定義和實(shí)現(xiàn)重用過(guò)程的成本。僅建造可重用的構(gòu)件就將增加至少60%的成本,一些組織還報(bào)道過(guò),成本將增加200%,甚至480%。而在惠普公司的一個(gè)重用項(xiàng)目中,建造一個(gè)可重用構(gòu)件的成本只占11%。軟件重用和再工程軟件再工程通過(guò)轉(zhuǎn)換遺留系統(tǒng)使系統(tǒng)更容易理解,從而提高了系統(tǒng)的可維護(hù)性。再工程包括重新構(gòu)建系統(tǒng)文檔、修改和更新系統(tǒng)結(jié)構(gòu)、使用高級(jí)編程語(yǔ)言轉(zhuǎn)換源代碼和數(shù)據(jù)重新工程。軟件重用和再工程軟件再工程有兩個(gè)優(yōu)點(diǎn)。(1)低成本重新設(shè)計(jì)在很大程度上重用了原始系統(tǒng)的部分,因此比重新開(kāi)發(fā)系統(tǒng)的成本要小得多。(2)低風(fēng)險(xiǎn)組織選擇完全替換它所依賴的遺留系統(tǒng)存在很大的風(fēng)險(xiǎn)。相對(duì)而言,再工程的成功率要高得多。一個(gè)典型的軟件再工程過(guò)程模型如圖7.3所示,它定義了五種類型的活動(dòng)。在某些情況下,這些活動(dòng)以線性順序發(fā)生,但并不總是這樣。在某些情況下,反向工程直接在原始程序下執(zhí)行,然而有時(shí)根本不需要反向工程。本章小結(jié)06本章小結(jié)通過(guò)本章的學(xué)習(xí),我們了解到如果想把軟件維護(hù)這項(xiàng)工作做好,就必須做到如下兩個(gè)方面。(1)完成開(kāi)發(fā)文檔、管理文檔和維護(hù)文檔,以便所有維護(hù)工作都成為結(jié)構(gòu)化的維護(hù)工作,從而提高系統(tǒng)的可維護(hù)性。(2)維護(hù)人員不能在缺陷維護(hù)(即“程序級(jí)維
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國(guó)硅鈣行業(yè)發(fā)展?fàn)顩r規(guī)劃分析報(bào)告
- 國(guó)際會(huì)議辦公服務(wù)方案
- 2024年商標(biāo)使用許可合同中的許可范圍界定
- 社區(qū)公共衛(wèi)生死因分析制度
- 2024年小型港口碼頭工程合同
- 2024年度鋁扣板質(zhì)量檢測(cè)服務(wù)合同
- 2024年度35KV變電站站區(qū)綠化設(shè)計(jì)與施工合同
- 氣候變化研究設(shè)備吊裝方案
- 2024年工程監(jiān)理合同:監(jiān)理公司與施工單位就工程監(jiān)理事宜簽訂的合同
- 傳統(tǒng)與現(xiàn)代結(jié)合的公墓墓穴施工方案
- 人教版數(shù)學(xué)五年級(jí)上冊(cè)課本習(xí)題(題目)
- 鋼筋合格證(共6頁(yè))
- BIM技術(shù)全過(guò)程工程管理及應(yīng)用策劃方案
- 彎扭構(gòu)件制作工藝方案(共22頁(yè))
- 水利工程填塘固基、堤身加固施工方法
- 中醫(yī)針灸的骨邊穴怎樣定位
- 人教版八年級(jí)上冊(cè)英語(yǔ)單詞表默寫版(直接打印)
- 電脫水、電脫鹽講解
- 江西省科技創(chuàng)新平臺(tái)建設(shè)(PPT課件)
- 違約損失率(LGD)研究
- 溝槽回填施工方案(完整版)
評(píng)論
0/150
提交評(píng)論