freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第6章軟件維護(hù)與再工程-資料下載頁

2025-01-20 16:23本頁面
  

【正文】 重構(gòu)( restructuring)是在不改變軟件基本功能和性能的前提下,對軟件內(nèi)部的一種調(diào)整。 24 六盤水師范學(xué)院 孫新杰 ( 2)結(jié)構(gòu)重組 這里主要指 軟件重構(gòu), 注重修改源代碼和(或)數(shù)據(jù),使適應(yīng)未來的變化,通常不修改軟件整體的體系結(jié)構(gòu)。包括兩方面: 代碼重構(gòu):生成與源程序相同功能、但具有更高質(zhì)量的設(shè)計(jì)。如非結(jié)構(gòu)化的程序轉(zhuǎn)換為更現(xiàn)代語言的程序。 如 Function Encapsulation Tool能夠?qū)⑴f的 C程序重構(gòu)為 C++程序。 數(shù)據(jù)重構(gòu): 對程序處理的數(shù)據(jù)作改變以反映程序變更。 先進(jìn)行源代碼分析的逆向工程,評估所有包含數(shù)據(jù)定義、文件描述、 I/O以及接口描述的程序語句,從中抽取數(shù)據(jù)項(xiàng)和對象,獲取關(guān)于數(shù)據(jù)流的信息,理解已實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu),然后對數(shù)據(jù)重新設(shè)計(jì),包括物理修改:文件格式或數(shù)據(jù)庫類型的轉(zhuǎn)換。 25 六盤水師范學(xué)院 孫新杰 ( 3)逆向工程 是一個分析程序的過程,利用工具從現(xiàn)有的程序中抽取數(shù)據(jù)、體系結(jié)構(gòu)和過程的設(shè)計(jì)信息。 逆向工程的關(guān)鍵在于它從詳細(xì)的源代碼實(shí)現(xiàn)中抽取出抽象說明的能力。抽象層次可以有以下幾級: ? 導(dǎo)出實(shí)現(xiàn)過程的設(shè)計(jì)表示。如流程圖、語法樹、符號表等。這是一種低層的抽象。 ? 導(dǎo)出程序和數(shù)據(jù)的結(jié)構(gòu)信息,即程序和數(shù)據(jù)成分之間相互依賴關(guān)系的信息。如程序結(jié)構(gòu)圖、實(shí)體 關(guān)系圖。這是一種稍高層次的抽象。 26 六盤水師范學(xué)院 孫新杰 ? 導(dǎo)出程序功能和運(yùn)行行為的信息。如對象模型或類圖、數(shù)據(jù)流模型、狀態(tài)轉(zhuǎn)移圖、協(xié)作圖等。是一種相對高層抽象。 ? 導(dǎo)出系統(tǒng)整體結(jié)構(gòu)、上下文環(huán)境和部署圖的信息。如包圖、部署圖等。這是一種高層抽象。 隨著抽象層次提高,更有助于理解程序中的信息。 對于實(shí)時(shí)系統(tǒng),由于頻繁的性能優(yōu)化,實(shí)現(xiàn)與設(shè)計(jì)之間的對應(yīng)關(guān)系比較松散,設(shè)計(jì)信息不易抽取。 27 六盤水師范學(xué)院 孫新杰 ( 4)再工程(正向工程) 使用現(xiàn)代軟件工程方法和在逆向工程中獲得的信息對系統(tǒng)進(jìn)行重構(gòu)或產(chǎn)生新的軟件源代碼。 如系統(tǒng)體系結(jié)構(gòu)的進(jìn)化 : 為了支持分布式工作,將遺留系統(tǒng)的集中式計(jì)算資源向分布式計(jì)算模式轉(zhuǎn)移,需要同時(shí)進(jìn)行業(yè)務(wù)再工程和軟件再工程。 數(shù)據(jù)庫層 管理來自客戶應(yīng)用的事務(wù)和查詢。對數(shù)據(jù)庫進(jìn)行重新設(shè)計(jì)之前,必須對現(xiàn)有的 DBMS的功能和數(shù)據(jù)庫結(jié)構(gòu)進(jìn)行逆向工程。 業(yè)務(wù)規(guī)則層 軟件可同時(shí)駐留在客戶端和服務(wù)器端,執(zhí)行控制和協(xié)調(diào)任務(wù),以保證客戶應(yīng)用和數(shù)據(jù)庫間的事務(wù)和查詢符合業(yè)務(wù)過程。 客戶應(yīng)用層 實(shí)現(xiàn)最終用戶群所需的業(yè)務(wù)功能。很多情況下,大型機(jī)應(yīng)用系統(tǒng)可被分割為小的桌面系統(tǒng),之間的通信有業(yè)務(wù)規(guī)則層控制。 28 六盤水師范學(xué)院 孫新杰 軟件再工程的問題與前景 ( Pfleeger) ( 1)需要自動化工具的支持 有可以標(biāo)識、分析并提出源代碼中的信息的工具,但它們不能重構(gòu)、獲取及表達(dá)設(shè)計(jì)抽象這些沒有直接表示在源代碼中的信息。軟件主要體系結(jié)構(gòu)的變更或?qū)ο到y(tǒng)數(shù)據(jù)管理的重新組織往往不能自動執(zhí)行。 ( 2)源代碼中沒有包含原設(shè)計(jì)的太多信息,缺失的信息必須從推論中重構(gòu)。逆向工程的嘗試最好是容易理解的、穩(wěn)定領(lǐng)域中出現(xiàn)的信息系統(tǒng)。 ( 3)在其他領(lǐng)域,只有用代碼中隱含的信息、現(xiàn)有的設(shè)計(jì)文檔、人員的經(jīng)驗(yàn)以及問題域的全面了解,才能進(jìn)行設(shè)計(jì)恢復(fù)。 ( 4)設(shè)計(jì)表示法的形式化和領(lǐng)域模型的引入,將擴(kuò)展我們理解與維護(hù)軟件時(shí)用到的信息。期望轉(zhuǎn)換技術(shù)的提高,支持更多的應(yīng)用領(lǐng)域并提高再工程的自動化。 29 六盤水師范學(xué)院 孫新杰
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1