




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第13章軟件維護(hù)與再工程軟件演化是指軟件在交付以后,對(duì)軟件進(jìn)行的一系列活動(dòng)的總稱。軟件演化:軟件的維護(hù)、軟件再工程。軟件維護(hù)階段覆蓋了從軟件交付使用,到軟件被淘汰為止的整個(gè)時(shí)期。軟件的開(kāi)發(fā)時(shí)間可能需要一、二年,甚至更短,但它的使用時(shí)間可能要經(jīng)歷幾年或幾十年。再工程的主要目的是為遺留系統(tǒng)轉(zhuǎn)化為可演化系統(tǒng)提供一條現(xiàn)實(shí)可行的途徑,是在軟件生命周期終止后開(kāi)始的一個(gè)新的階段。軟件維護(hù)與再工程內(nèi)容摘要軟件維護(hù)再工程技術(shù)內(nèi)容摘要軟件維護(hù)再工程技術(shù)軟件維護(hù)的概念什么是軟件維護(hù)
是指軟件系統(tǒng)交付使用以后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過(guò)程國(guó)標(biāo)GB/T11457-95給出如下定義在軟件產(chǎn)品交付使用后對(duì)其進(jìn)行修改,以糾正故障;在軟件產(chǎn)品交付使用后對(duì)其進(jìn)行修改,以糾正故障、改進(jìn)其性能和其它屬性,或使產(chǎn)品適應(yīng)改變了的環(huán)境軟件維護(hù)的概念-軟件維護(hù)分類兩種錯(cuò)誤認(rèn)識(shí)
軟件維護(hù)是一次新的開(kāi)發(fā)活動(dòng)軟件維護(hù)就是改錯(cuò)新開(kāi)發(fā)活動(dòng)強(qiáng)調(diào)要在一定的約束條件下從頭開(kāi)始實(shí)施軟件維護(hù)強(qiáng)調(diào)必須在現(xiàn)有系統(tǒng)的限定和約束條件下實(shí)施;根據(jù)起因不同,軟件維護(hù)可以分為糾錯(cuò)性維護(hù)、適應(yīng)性維護(hù)、改善性維護(hù)和預(yù)防性維護(hù)四類軟件維護(hù)的概念-軟件維護(hù)分類糾錯(cuò)性維護(hù):為了改正軟件系統(tǒng)中的錯(cuò)誤,使軟件能夠滿足預(yù)期的正常運(yùn)行狀態(tài)的要求而進(jìn)行的維護(hù)適應(yīng)性維護(hù):為了使軟件適應(yīng)內(nèi)部或外部環(huán)境變化,而去修改軟件的過(guò)程改善性維護(hù):滿足使用過(guò)程中用戶提出增加新功能或修改已有功能的建議維護(hù)預(yù)防性維護(hù):為了提高軟件的可維護(hù)性、可靠性等,為以后進(jìn)一步改進(jìn)軟件打下良好基礎(chǔ)而修改軟件的活動(dòng)軟件維護(hù)的概念-維護(hù)問(wèn)題維護(hù)時(shí):維護(hù)人員從分析需求規(guī)格說(shuō)明開(kāi)始,明白軟件功能和性能上的改變,對(duì)設(shè)計(jì)說(shuō)明文檔進(jìn)行修改和復(fù)查,再根據(jù)設(shè)計(jì)修改進(jìn)行程序變動(dòng),并用測(cè)試文檔中的測(cè)試用例進(jìn)行回歸測(cè)試,最后將修改后的軟件再次交付使用。軟件維護(hù)的概念-維護(hù)問(wèn)題和軟件維護(hù)有關(guān)的部分問(wèn)題:理解別人的代碼通常是非常困難的,而且難度隨著軟件配置成分的缺失而迅速增加需要維護(hù)的軟件往往沒(méi)有文檔、或文檔資料嚴(yán)重不足、或軟件的變化未在相應(yīng)的文檔中反映出來(lái)當(dāng)軟件要求維護(hù)時(shí),不能指望由原來(lái)的開(kāi)發(fā)人員來(lái)完成或提供軟件的解釋。由于維護(hù)持續(xù)時(shí)間很長(zhǎng),因此當(dāng)需要解釋軟件時(shí)候,往往開(kāi)發(fā)人員已經(jīng)不在附近了絕大多數(shù)軟件在設(shè)計(jì)時(shí)沒(méi)有考慮到將來(lái)的修改問(wèn)題軟件維護(hù)這項(xiàng)工作毫無(wú)吸引力。一方面是因?yàn)檐浖S護(hù),看不到什么“成果”,但工作量很大,更重要的是維護(hù)工作難度大,軟件維護(hù)人員經(jīng)常遭受挫折。軟件維護(hù)的概念-維護(hù)成本軟件維護(hù)除費(fèi)用外的無(wú)形代價(jià)包括維護(hù)活動(dòng)占用了其他軟件開(kāi)發(fā)可用的資源,使資源的利用率降低一些修復(fù)或修改請(qǐng)求得不到及時(shí)安排,使得客戶滿意率下降維護(hù)的結(jié)果把一些新的潛在的錯(cuò)誤引入軟件,降低了軟件質(zhì)量將軟件人員抽調(diào)到維護(hù)工作中,使得其它軟件開(kāi)發(fā)過(guò)程受到干擾軟件維護(hù)的概念-維護(hù)成本維護(hù)的工作可劃分成
生產(chǎn)性活動(dòng)如,分析評(píng)價(jià)、修改設(shè)計(jì)、編寫程序代碼等非生產(chǎn)性活動(dòng)如,程序代碼功能理解、數(shù)據(jù)結(jié)構(gòu)解釋、接口特點(diǎn)和性能界限分析等維護(hù)工作量的模型
M:維護(hù)的總工作量;P:生產(chǎn)性工作量;K:經(jīng)驗(yàn)常數(shù);c:復(fù)雜程度;d:維護(hù)人員對(duì)軟件的熟悉程度軟件維護(hù)的概念-維護(hù)成本影響維護(hù)工作量的因素主要有以下六種系統(tǒng)的規(guī)模:系統(tǒng)規(guī)模越大,其功能就越復(fù)雜,軟件維護(hù)的工作量也隨之增大程序設(shè)計(jì)語(yǔ)言:使用強(qiáng)功能的程序設(shè)計(jì)語(yǔ)言可以控制程序的規(guī)模。語(yǔ)言的功能越強(qiáng),生成程序的模塊化和結(jié)構(gòu)化程度越高,所需的指令數(shù)就越少,程序的可讀性也越好系統(tǒng)年齡:老系統(tǒng)比新系統(tǒng)需要更多的維護(hù)工作量。數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用:使用數(shù)據(jù)庫(kù),可以簡(jiǎn)單而有效地管理和存儲(chǔ)用戶程序中的數(shù)據(jù),還可以減少生成用戶報(bào)表應(yīng)用軟件的維護(hù)工作量先進(jìn)的軟件開(kāi)發(fā)技術(shù):在軟件開(kāi)發(fā)過(guò)程中,如果采用先進(jìn)的分析設(shè)計(jì)技術(shù)和程序設(shè)計(jì)技術(shù),如面向?qū)ο蠹夹g(shù)、復(fù)用技術(shù)等,可減少大量的維護(hù)工作量其它一些因素:如應(yīng)用的類型、數(shù)學(xué)模型、任務(wù)的難度、IF嵌套深度、索引或下標(biāo)數(shù)等,對(duì)維護(hù)工作量也有影響軟件維護(hù)的過(guò)程-維護(hù)組織維護(hù)組織結(jié)構(gòu)圖系統(tǒng)監(jiān)督員一般都是對(duì)程序(某一部分)特別熟悉的技術(shù)人員。在維護(hù)人員對(duì)程序進(jìn)行修改的過(guò)程中,由配置管理員嚴(yán)格把關(guān),控制修改的范圍,對(duì)軟件配置進(jìn)行審計(jì)。
維護(hù)管理員、系統(tǒng)監(jiān)督員、修改控制決策機(jī)構(gòu)等,均代表維護(hù)工作的某個(gè)職責(zé)范圍。軟件維護(hù)的過(guò)程-維護(hù)組織維護(hù)團(tuán)隊(duì)根據(jù)時(shí)間的不同,可以分為短期團(tuán)隊(duì)和長(zhǎng)期團(tuán)隊(duì)短期團(tuán)隊(duì)一般是當(dāng)需要執(zhí)行相關(guān)具體任務(wù)時(shí),臨時(shí)組織起來(lái)解決手頭的問(wèn)題
長(zhǎng)期團(tuán)隊(duì)則更正式,能夠?qū)I(yè)化創(chuàng)建溝通渠道,可以管理軟件系統(tǒng)整個(gè)生存期的成功演化無(wú)論是短期團(tuán)隊(duì)還是長(zhǎng)期團(tuán)隊(duì),都要把有經(jīng)驗(yàn)的員工和新員工混合起來(lái)。軟件維護(hù)的過(guò)程-維護(hù)過(guò)程非糾錯(cuò)性維護(hù),則首先判斷維護(hù)類型,對(duì)適應(yīng)性維護(hù),按照評(píng)估后得到的優(yōu)先級(jí)放入隊(duì)列改善性維護(hù),則還要考慮是否采取行動(dòng),如果接受申請(qǐng),則同樣按照評(píng)估后得到的優(yōu)先級(jí)放入隊(duì)列,如果拒絕申請(qǐng),則通知請(qǐng)求者,并說(shuō)明原因工作安排隊(duì)列中的任務(wù),由修改負(fù)責(zé)人依次從隊(duì)列中取出任務(wù),按照軟件工程方法學(xué)規(guī)劃、組織、實(shí)施工程。軟件維護(hù)的過(guò)程-維護(hù)過(guò)程維護(hù)請(qǐng)求類型類型嚴(yán)重性評(píng)估后按優(yōu)先級(jí)在隊(duì)列排隊(duì)救火行動(dòng),當(dāng)排在隊(duì)列之首評(píng)估后分類評(píng)估后按優(yōu)先級(jí)在隊(duì)列排隊(duì)采取的行動(dòng)通知請(qǐng)求者并說(shuō)明原因按優(yōu)先級(jí)在隊(duì)列中排隊(duì)從維護(hù)請(qǐng)求隊(duì)列之首取出一任務(wù)按SE方法學(xué)規(guī)劃、組織、實(shí)施工程隊(duì)列中還有維護(hù)請(qǐng)求嗎?資源用于開(kāi)發(fā)新的軟件。yn糾錯(cuò)性維護(hù)其他改善性維護(hù)適應(yīng)性維護(hù)拒絕接受并不嚴(yán)重非常嚴(yán)重維護(hù)過(guò)程圖軟件維護(hù)的過(guò)程-維護(hù)過(guò)程維護(hù)工作最后一步是復(fù)審依照當(dāng)前狀態(tài),在設(shè)計(jì)、編碼和測(cè)試的哪些方面還能用其他方法進(jìn)行?哪些維護(hù)資源可用但未用?這次維護(hù)活動(dòng)中主要(或次要)的障礙有哪些?在維護(hù)請(qǐng)求中有預(yù)防性維護(hù)嗎?軟件維護(hù)的過(guò)程-維護(hù)記錄維護(hù)人員對(duì)程序進(jìn)行修改前要著重做好兩個(gè)記錄維護(hù)申請(qǐng)報(bào)告軟件修改報(bào)告維護(hù)請(qǐng)求表(報(bào)告)即軟件問(wèn)題報(bào)告該報(bào)告(表)由要求維護(hù)活動(dòng)的用戶填寫。對(duì)改正性維護(hù),用戶需要將錯(cuò)誤出現(xiàn)的現(xiàn)場(chǎng)信息詳細(xì)描述出來(lái),包括輸入數(shù)據(jù)、錯(cuò)誤清單以及其它有關(guān)材料。對(duì)適應(yīng)性維護(hù)或改善性維護(hù),應(yīng)該給出簡(jiǎn)短的需求規(guī)格說(shuō)明書(shū)。維護(hù)申請(qǐng)被批準(zhǔn)后,維護(hù)申請(qǐng)報(bào)告就成為外部文檔,作為本次維護(hù)的依據(jù)軟件維護(hù)的過(guò)程-維護(hù)評(píng)價(jià)如果已經(jīng)開(kāi)始保存維護(hù)記錄,可以對(duì)維護(hù)工作做一些定量度量,至少可以從如下7方面進(jìn)行評(píng)價(jià):每次程序運(yùn)行平均失敗的次數(shù);用于每一類維護(hù)活動(dòng)的總?cè)藭r(shí)數(shù);平均每個(gè)程序、每種語(yǔ)言、每種維護(hù)類型所必需的程序變動(dòng)數(shù);維護(hù)過(guò)程中增加或刪除源語(yǔ)句平均花費(fèi)的人時(shí)數(shù);維護(hù)每種語(yǔ)言平均花費(fèi)的人時(shí)數(shù);一張維護(hù)請(qǐng)求表的平均周轉(zhuǎn)時(shí)間;不同維護(hù)類型所占的比例;軟件可維護(hù)性可維護(hù)性(maintainability)指理解、改正、調(diào)整和改進(jìn)軟件的難易程度。對(duì)軟件可維護(hù)性影響的主要因素有:可理解性(understandability)、可測(cè)試性(testability)、可修改性、modifiability)可移植性(portability)軟件可維護(hù)性-主要影響因素可理解性:指理解軟件的結(jié)構(gòu)、接口、功能和內(nèi)部過(guò)程的難易程度。提高軟件可理解性的措施有:采用模塊化的程序結(jié)構(gòu);書(shū)寫詳細(xì)正確的文檔;采用結(jié)構(gòu)化程序設(shè)計(jì);書(shū)寫源程序的內(nèi)部文檔;使用良好的編程語(yǔ)言;具有良好的程序設(shè)計(jì)風(fēng)格等軟件可維護(hù)性-主要影響因素可測(cè)試性:指測(cè)試和診斷軟件(主要指程序)中錯(cuò)誤的難易程度。提高軟件可測(cè)試性的措施有:采用良好的程序結(jié)構(gòu);書(shū)寫詳細(xì)正確的文檔;使用測(cè)試工具和調(diào)試工具;保存以前的測(cè)試過(guò)程和測(cè)試用例等軟件可維護(hù)性-主要影響因素可修改性:指修改軟件(主要指程序)的難易程度。在修改軟件時(shí)經(jīng)常會(huì)發(fā)生這樣的情況:修改了程序中某個(gè)錯(cuò)誤的同時(shí)又產(chǎn)生新的錯(cuò)誤(由程序的修改引起的);或者在程序中增加了某個(gè)功能后,導(dǎo)致原先的某些功能不能正常執(zhí)行。軟件可維護(hù)性-主要影響因素可移植性:指程序轉(zhuǎn)移到一個(gè)新的計(jì)算環(huán)境的難易程度。影響軟件可移植性的因素有:信息隱蔽原則;模塊獨(dú)立;模塊化;高內(nèi)聚低耦合;良好的程序結(jié)構(gòu);不用標(biāo)準(zhǔn)文本以外的語(yǔ)句等一個(gè)可移植的程序應(yīng)具有結(jié)構(gòu)良好、靈活、不依賴于某一具體計(jì)算機(jī)或操作系統(tǒng)的性能軟件可維護(hù)性-主要影響因素通常對(duì)于軟件可移植性的度量考慮如下因素是否是用高級(jí)的獨(dú)立于機(jī)器的語(yǔ)言來(lái)編寫程序?是否采用廣泛使用的標(biāo)準(zhǔn)化的程序設(shè)計(jì)語(yǔ)言來(lái)編寫程序?是否僅使用了這種語(yǔ)言的標(biāo)準(zhǔn)版本和特性?程序中是否使用了標(biāo)準(zhǔn)的普遍使用的庫(kù)功能和子程序?程序中是否極少使用或根本不使用操作系統(tǒng)的功能?軟件可維護(hù)性-主要影響因素程序在執(zhí)行之前是否初始化內(nèi)存?程序在執(zhí)行之前是否測(cè)定當(dāng)前的輸入/輸出設(shè)備?程序是否把與機(jī)器相關(guān)的語(yǔ)句分離了出來(lái),集中放在了一些單獨(dú)的程序模塊中,并有說(shuō)明文件?程序是否結(jié)構(gòu)化?并允許在小一些的計(jì)算機(jī)上分段(覆蓋)運(yùn)行?程序中是否避免了依賴于字母數(shù)字或特殊字符的內(nèi)部位表示?軟件可維護(hù)性-軟件可維護(hù)性評(píng)審在進(jìn)行設(shè)計(jì)評(píng)審時(shí),要從易于維護(hù)和提高設(shè)計(jì)總體質(zhì)量的角度全面評(píng)審:數(shù)據(jù)設(shè)計(jì)總體結(jié)構(gòu)設(shè)計(jì)過(guò)程設(shè)計(jì)界面設(shè)計(jì)在進(jìn)行代碼評(píng)審時(shí),要強(qiáng)調(diào)編程風(fēng)格和內(nèi)部文檔在進(jìn)行測(cè)試時(shí)應(yīng)指出軟件正式交付前應(yīng)進(jìn)行的預(yù)防性維護(hù)在維護(hù)活動(dòng)完成后也要進(jìn)行評(píng)審。
軟件可維護(hù)性-提高可維護(hù)性的方法提高可維護(hù)性通常采用的方法有確定質(zhì)量管理目標(biāo)和優(yōu)先級(jí)規(guī)范化程序設(shè)計(jì)風(fēng)格選擇可維護(hù)性高的程序設(shè)計(jì)語(yǔ)言改進(jìn)程序文檔保證軟件質(zhì)量審查方法軟件可維護(hù)性-提高可維護(hù)性的方法確定質(zhì)量管理目標(biāo)和優(yōu)先級(jí)一個(gè)可維護(hù)的程序應(yīng)該是可理解的可修改的可測(cè)試的有些維護(hù)屬性之間是相互促進(jìn)的,另外一些屬性之間則是相互抵觸的。在程序的開(kāi)發(fā)階段就應(yīng)保證軟件具有可理解性、可修改性和可測(cè)試性。在軟件開(kāi)發(fā)的每一個(gè)階段都應(yīng)盡力考慮軟件的可維護(hù)性。軟件可維護(hù)性-提高可維護(hù)性的方法使用提高軟件質(zhì)量的技術(shù)與工具在進(jìn)行軟件設(shè)計(jì)時(shí),采用:模塊化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)在軟件開(kāi)發(fā)過(guò)程中,采用:結(jié)構(gòu)化小組,建立主程序小組實(shí)現(xiàn)嚴(yán)格的組織化管理,職能分工規(guī)范標(biāo)準(zhǔn)在對(duì)程序的質(zhì)量進(jìn)行檢測(cè)時(shí),采用:分工合作的方法這些方法會(huì)有效地提高軟件質(zhì)量和檢測(cè)效率,進(jìn)而提高軟件的可維護(hù)性。軟件可維護(hù)性-提高可維護(hù)性的方法選擇可維護(hù)性高的程序設(shè)計(jì)語(yǔ)言選擇較好的程序設(shè)計(jì)語(yǔ)言對(duì)軟件維護(hù)有很大的影響。低級(jí)語(yǔ)言(如:機(jī)器代碼或匯編語(yǔ)言)程序是一般人很難掌握和理解的,因而很難維護(hù)。高級(jí)語(yǔ)言比低級(jí)語(yǔ)言容易理解,具有更好的可維護(hù)性。在高級(jí)語(yǔ)言中,一些語(yǔ)言可能比另外一些語(yǔ)言更容易理解。例如,cobol語(yǔ)言比f(wàn)ortran語(yǔ)言更容易理解,因?yàn)閏obol的變量接近英語(yǔ);軟件可維護(hù)性-提高可維護(hù)性的方法改進(jìn)程序文檔程序文檔對(duì)提高程序的可理解性有著重要的作用。即使是一個(gè)相對(duì)簡(jiǎn)單的程序,要想有效地、迅速對(duì)它進(jìn)行維護(hù),也需要編制文檔,對(duì)它的目的和任務(wù)進(jìn)行解釋。對(duì)于程序的維護(hù)人員來(lái)說(shuō),要想對(duì)程序編制人員的意圖進(jìn)行重新修改,并對(duì)今后可能出現(xiàn)的變化估計(jì),缺少文檔的幫助也將很難實(shí)現(xiàn)。另一方面,對(duì)于程序文檔一定要能及時(shí)反映程序的變化,否則將對(duì)后續(xù)維護(hù)人員產(chǎn)生誤導(dǎo)。軟件可維護(hù)性-提高可維護(hù)性的方法進(jìn)行質(zhì)量保證審查審查可以用來(lái)檢測(cè)在開(kāi)發(fā)和維護(hù)階段內(nèi)發(fā)生的質(zhì)量變化。一旦發(fā)現(xiàn)問(wèn)題,就可以采取措施來(lái)糾正,以控制不斷增長(zhǎng)的軟件維護(hù)成本,延長(zhǎng)軟件系統(tǒng)的有效生命期。為了保證軟件的可維護(hù)性,有四種類型的軟件審查:在檢查點(diǎn)進(jìn)行復(fù)審驗(yàn)收檢查周期性地維護(hù)審查對(duì)軟件包進(jìn)行檢查。內(nèi)容摘要軟件維護(hù)再工程技術(shù)再工程的概念逆向工程(reverseengineering):指在軟件生存周期中,將軟件的某種形式描述轉(zhuǎn)換成更抽象形式的活動(dòng)重構(gòu)(restructuring):指在同一抽象級(jí)別上轉(zhuǎn)換系統(tǒng)的描述形式。如把C++程序轉(zhuǎn)換成Java程序設(shè)計(jì)恢復(fù)(designrecovery):指借助工具從已有程序中抽象出有關(guān)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、總體結(jié)構(gòu)設(shè)計(jì)和過(guò)程設(shè)計(jì)的信息。再工程的概念再工程(reengineering):指在逆向工程所獲信息的基礎(chǔ)上修改或重構(gòu)已有的系統(tǒng),產(chǎn)生系統(tǒng)的一個(gè)新版本再工程的主要目的:為遺留系統(tǒng)轉(zhuǎn)化為可演化系統(tǒng)提供一條現(xiàn)實(shí)可行的途徑再工程是一個(gè)工程過(guò)程,它將逆向工程、重構(gòu)和正向工程組合起來(lái),將現(xiàn)存系統(tǒng)重新構(gòu)造為新的形式。當(dāng)實(shí)施軟件的再工程時(shí),軟件理解是再工程的基礎(chǔ)和前提。再工程的概念為什么要進(jìn)行再工程維護(hù)一行源代碼的代價(jià)可能是最初開(kāi)發(fā)該行源代碼代價(jià)的14-20倍;同時(shí)重新設(shè)計(jì)軟件體系結(jié)構(gòu)時(shí)使用了現(xiàn)代設(shè)計(jì)概念,它對(duì)將來(lái)的維護(hù)會(huì)有很大的幫助;現(xiàn)有的程序版本可以作為軟件原型使用,開(kāi)發(fā)生產(chǎn)率可以大大高于平均水平;用戶具有較多使用該軟件的經(jīng)驗(yàn),因此,能夠很容易地搞清新的變更需求和變更的范圍;另外,利用逆向工程和再工程的工具,可以使一部分工作自動(dòng)化;在完成預(yù)防性維護(hù)的過(guò)程中還可以建立起完整的軟件配置。
再工程的概念通常再工程包含:業(yè)務(wù)過(guò)程再工程、軟件再工程業(yè)務(wù)過(guò)程再工程(BPR——BusinessProcessRe-engineering,也稱業(yè)務(wù)過(guò)程重組)定義業(yè)務(wù)目標(biāo)標(biāo)示并評(píng)估現(xiàn)有的業(yè)務(wù)過(guò)程修訂業(yè)務(wù)過(guò)程以更好滿足業(yè)務(wù)目標(biāo)軟件再工程包含:庫(kù)存目錄分析文檔重構(gòu)逆向工程程序和數(shù)據(jù)重構(gòu)正向工程業(yè)務(wù)過(guò)程再工程業(yè)務(wù)過(guò)程是一組“邏輯相關(guān)的任務(wù),它們被執(zhí)行以達(dá)到符合預(yù)定義的業(yè)務(wù)結(jié)果”。
每個(gè)系統(tǒng)都是由不同的子系統(tǒng)構(gòu)成,而子系統(tǒng)還可以再細(xì)分為更細(xì)的子系統(tǒng),從而整個(gè)業(yè)務(wù)呈現(xiàn)一種層次結(jié)構(gòu)業(yè)務(wù)業(yè)務(wù)系統(tǒng) 業(yè)務(wù)過(guò)程 業(yè)務(wù)子過(guò)程業(yè)務(wù)層次
業(yè)務(wù)過(guò)程再工程業(yè)務(wù)過(guò)程再工程是迭代的,不斷演化的。整個(gè)業(yè)務(wù)過(guò)程再工程模型可用下圖表示業(yè)務(wù)定義過(guò)程標(biāo)識(shí)過(guò)程評(píng)估過(guò)程規(guī)約和設(shè)計(jì)原型實(shí)現(xiàn)求精和實(shí)例化軟件再工程過(guò)程在業(yè)務(wù)過(guò)程被分析清楚后,可以對(duì)軟件實(shí)施再工程,整個(gè)軟件再工程過(guò)程模型如下圖軟件再工程過(guò)程庫(kù)存目錄分析包含關(guān)于每個(gè)應(yīng)用系統(tǒng)的基本信息應(yīng)用系統(tǒng)的名字最初構(gòu)建它的日期已做過(guò)的實(shí)質(zhì)性修改次數(shù)過(guò)去18個(gè)月報(bào)告的錯(cuò)誤用戶數(shù)量安裝它的機(jī)器數(shù)量它的復(fù)雜程度文檔質(zhì)量整體可維護(hù)性等級(jí)預(yù)期壽命在未來(lái)36個(gè)月內(nèi)的預(yù)期修改次數(shù)業(yè)務(wù)重要程度等軟件再工程過(guò)程文檔重構(gòu)建立文檔非常耗費(fèi)時(shí)間,不可能為數(shù)百個(gè)程序都重新建立文檔。如果一個(gè)程序是相對(duì)穩(wěn)定的,而且可能不會(huì)再經(jīng)歷什么變化,那么,讓它保持現(xiàn)狀。為了便于今后的維護(hù),必須更新文檔,但只針對(duì)系統(tǒng)中當(dāng)前正在修改的那些部分建立完整文檔。如果某應(yīng)用系統(tǒng)是完成業(yè)務(wù)工作的關(guān)鍵,而且必須重構(gòu)全部文檔,則仍然應(yīng)該設(shè)法把文檔工作減少到必需的最小量。
軟件再工程過(guò)程逆向工程軟件的逆向工程是分析程序,以便在比源代碼更高的抽象層次上,創(chuàng)建出程序的某種表示的過(guò)程;逆向工程工具從現(xiàn)存的程序代碼中抽取有關(guān)數(shù)據(jù)、體系結(jié)構(gòu)和處理過(guò)程的設(shè)計(jì)信息。軟件再工程過(guò)程代碼重構(gòu)某些老程序具有比較完整、合理的體系結(jié)構(gòu),但是,個(gè)體模塊的編碼方式卻是難于理解、測(cè)試和維護(hù)的。在這種情況下,可以重構(gòu)可疑模塊的代碼。為了完成代碼重構(gòu)活動(dòng):首先用重構(gòu)工具分析源代碼,標(biāo)注出和結(jié)構(gòu)化程序設(shè)計(jì)概念相違背的部分。然后重構(gòu)有問(wèn)題的代碼(此項(xiàng)工作可自動(dòng)進(jìn)行)。最后復(fù)審和測(cè)試生成的重構(gòu)代碼(以保證沒(méi)有引入異常)并更新代碼文檔。軟件再工程過(guò)程數(shù)據(jù)重構(gòu)數(shù)據(jù)重構(gòu)發(fā)生在相當(dāng)?shù)偷某橄髮哟紊?,它是一種全范圍的再工程活動(dòng)。在大多數(shù)情況下,數(shù)據(jù)重構(gòu)始于逆向工程活動(dòng),分解當(dāng)前使用的數(shù)據(jù)體系結(jié)構(gòu),必要時(shí)定義數(shù)據(jù)模型,標(biāo)識(shí)數(shù)據(jù)對(duì)象和屬性,并從軟件質(zhì)量的角度復(fù)審現(xiàn)存的數(shù)據(jù)結(jié)構(gòu)。軟件再工程過(guò)程正向工程正向工程過(guò)程應(yīng)用軟件工程的原理、概念、技術(shù)和方法來(lái)重新開(kāi)發(fā)某個(gè)現(xiàn)有的應(yīng)用系統(tǒng)。在大多數(shù)情況下,被再工程的軟件不僅重新實(shí)現(xiàn)現(xiàn)有系統(tǒng)的功能,而且加入了新功能和提高了整體性
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 360推廣合同樣本
- 手繪效果圖-課程教案
- 轉(zhuǎn)供電協(xié)議書(shū)
- 中學(xué)生生命教育主題班會(huì)《珍愛(ài)生命》教案設(shè)計(jì)
- 入聘合同樣本
- 2025中外技術(shù)研發(fā)合同范文
- 交易合同范例范例
- 文學(xué)社規(guī)章制度2篇
- 生命教育教案生命教育教案
- 借用公司資質(zhì)協(xié)議
- 實(shí)時(shí)數(shù)字孿生數(shù)據(jù)同步技術(shù)-深度研究
- Unit 4 History and traditions Project 說(shuō)課稿 -2024-2025學(xué)年高中英語(yǔ)人教版(2019)必修第二冊(cè)
- 《淺談A企業(yè)消防安全管理中存在的問(wèn)題及完善對(duì)策研究》6300字(論文)
- 秦漢考古Uooc課程答案
- 《電力建設(shè)工程施工安全管理導(dǎo)則》(NB∕T 10096-2018)
- 醫(yī)療器械考試題及答案
- 畫餅充饑兒童故事繪本 課件
- 心理護(hù)理的溝通與技巧
- 開(kāi)關(guān)、插座及其它電氣設(shè)備技術(shù)規(guī)格書(shū)
- 早期阻斷性矯治-乳前牙反頜的矯治(口腔正畸科)
- 手術(shù)室護(hù)士子宮切除手術(shù)護(hù)理配合常規(guī)
評(píng)論
0/150
提交評(píng)論