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

正文內(nèi)容

項目軟件維護ppt課件-資料下載頁

2025-10-06 13:48本頁面
  

【正文】 方式卻是難于理解、測試和維護的。在這種情況下,可以重構(gòu)可疑模塊的代碼。 – 為了完成代碼重構(gòu)活動,首先用重構(gòu)工具分析源代碼,標(biāo)注出和結(jié)構(gòu)化程序設(shè)計概念相違背的部分。然后重構(gòu)有問題的代碼 (此項工作可自動進行 )。最后,復(fù)審和測試生成的重構(gòu)代碼 (以保證沒有引入異常 )并更新代碼文檔。 58/68 軟件再工程過程 ? 數(shù)據(jù)重構(gòu) – 數(shù)據(jù)重構(gòu)發(fā)生在相當(dāng)?shù)偷某橄髮哟紊?,它是一種全范圍的再工程活動。在大多數(shù)情況下,數(shù)據(jù)重構(gòu)始于逆向工程活動,分解當(dāng)前使用的數(shù)據(jù)體系結(jié)構(gòu),必要時定義數(shù)據(jù)模型,標(biāo)識數(shù)據(jù)對象和屬性,并從軟件質(zhì)量的角度復(fù)審現(xiàn)存的數(shù)據(jù)結(jié)構(gòu)。 59/68 軟件再工程過程 ? 正向工程 – 正向工程過程應(yīng)用軟件工程的原理、概念、技術(shù)和方法來重新開發(fā)某個現(xiàn)有的應(yīng)用系統(tǒng)。在大多數(shù)情況下,被再工程的軟件不僅重新實現(xiàn)現(xiàn)有系統(tǒng)的功能,而且加入了新功能和提高了整體性能。 60/68 逆向工程 ? 逆向工程是把軟件源程序還原為軟件文檔或軟件設(shè)計的過程。通過逆向工程,可以從更高的抽象度來觀察軟件。抽象度的多少可由抽象的層次,文檔的完整性,工具等因素決定。 ? 逆向工程來源于硬件世界。硬件廠商總想弄到競爭對手產(chǎn)品的設(shè)計和制造 “ 奧秘 ” 。但是又得不到現(xiàn)成的檔案,只好拆卸對手的產(chǎn)品并進行分析,企圖從中獲取有價值的東西。 ? 軟件的逆向工程在道理上與硬件相似。但在很多時候,軟件的逆向工程并不是針對競爭對手的,而是針對自己公司多年前的產(chǎn)品。期望從老產(chǎn)品中提取系統(tǒng)設(shè)計、需求說明等有價值的信息。 61/68 逆向工程 ? 逆向工程導(dǎo)出的信息可分為四個抽象層次 – 實現(xiàn)級 :包括程序的抽象語法樹、符號表等信息; – 結(jié)構(gòu)級 :包括反映程序分量之間相互依賴關(guān)系的信息,如調(diào)用圖、結(jié)構(gòu)圖等; – 功能級 :包括反映程序段功能及程序段之間關(guān)系的信息; – 領(lǐng)域級 :包括反映程序分量或程序諸實體與應(yīng)用領(lǐng)域概念之間對應(yīng)關(guān)系的信息。對于一項具體的維護任務(wù),一般不必導(dǎo)出所有抽象級別上的信息。如代碼重構(gòu)任務(wù),只需獲得實現(xiàn)級信息即可。 62/68 逆向工程 ? 根據(jù)源程序的類別不同,逆向工程還可以分為: 對用戶界面的逆向工程 、 對數(shù)據(jù)的逆向工程和對理解的逆向工程 。 ? 現(xiàn)代的軟件一般都擁有華麗的界面,當(dāng)準(zhǔn)備對舊的軟件進行用戶界面的逆向工程時,必須先理解舊軟件的用戶界面,并且刻畫出界面的結(jié)構(gòu)和行為。 63/68 逆向工程 ? 對數(shù)據(jù)的逆向工程:由于程序中存在許多不同種類的數(shù)據(jù),例如內(nèi)部的數(shù)據(jù)結(jié)構(gòu),以及底層的數(shù)據(jù)庫和外部的文件。其中對內(nèi)部的數(shù)據(jù)結(jié)構(gòu)的逆向工程可以通過檢查程序代碼以及變量來完成;而對數(shù)據(jù)庫結(jié)構(gòu)的重構(gòu)可通過建立一個初始的對象模型,確定侯選鍵,精化實驗性的類,定義一般化,以及發(fā)現(xiàn)關(guān)聯(lián)來完成。 ? 對理解的逆向工程,為了去理解過程的抽象,代碼的分析必須在不同的層次進行:系統(tǒng),程序,部件,模式和語句。對于大型系統(tǒng),逆向工程通常用半自動化的方法來完成。 64/68 逆向工程 ? 逆向工程中用于恢復(fù)信息的方法主要有四類 – 用戶指導(dǎo)下的搜索與變換 :這類方法用于導(dǎo)出實現(xiàn)級和結(jié)構(gòu)級信息。這類方法一般可產(chǎn)生模塊的略圖( outline)、流程圖和交叉訪問表。 – 變換方法 :這類方法可用于恢復(fù)實現(xiàn)級、結(jié)構(gòu)級和功能級的信息。這類方法可用工具實現(xiàn),如靜態(tài)分析,調(diào)用圖、控制流圖生成等。 65/68 逆向工程 – 基于領(lǐng)域知識的方法 :這類方法用于恢復(fù)功能級和領(lǐng)域級信息。領(lǐng)域知識用規(guī)則庫表示,用已確定或假定的領(lǐng)域概念與代碼之間的對應(yīng)關(guān)系,推導(dǎo)進一步的假設(shè),最后導(dǎo)出程序的功能。這類方法的不確定性很大,目前尚無成熟的工具。 – 鉛板恢復(fù) :這類方法僅適用于推導(dǎo)實現(xiàn)級和結(jié)構(gòu)級信息。這類方法用于識別程序設(shè)計“ 鉛板 ” 或公共結(jié)構(gòu),鉛板既可是一個簡單算法(如二變量互換),也可是相對復(fù)雜的成分(如冒泡排序)。 66/68 習(xí)題 ? 請討論使軟件維護成本居高不下的因素。如何盡可能降低這些因素的影響 ? ? 一個大型大學(xué)有一個大型計算機系統(tǒng),用于存儲和管理所有學(xué)生和教職工的信息。該系統(tǒng):已經(jīng)使用了 25年,它采用 cobol結(jié)構(gòu)化程序設(shè)計技術(shù)開發(fā),并與關(guān)系數(shù)據(jù)庫通信;它運行在一臺 IBM主機上;有 50多萬行代碼。該系統(tǒng)已經(jīng)進行過多次修改,既有經(jīng)過策劃的修改,也有快速修改,現(xiàn)在維護的成本過高。認(rèn)識到有這些問題,大學(xué)希望利用面向?qū)ο蟮拈_發(fā)優(yōu)勢,但是不幸的是,維護這個系統(tǒng)的 90%以上的員工都是新人,并不熟悉系統(tǒng)的實現(xiàn)。請確定軟件維護人員需要完成的任務(wù)。 67/68 習(xí)題 ? 軟件維護過程是如何進行的?為什么要進行軟件可維護性分析? ? 考慮你在近幾年從事過的任何工作,描述你在其中工作的業(yè)務(wù)過程。使用 BPR模型來建議對該過程的改變以使其更為高效。 ? 對業(yè)務(wù)過程再工程的功效進行研究,給出對該方法的正面的和負(fù)面的論據(jù)。 68/68 習(xí)題 ? 提出一種對紙和墨水或傳統(tǒng)的電子文檔的替代物,它可作為文檔重構(gòu)的基礎(chǔ)。[提示:考慮新的能夠用于傳達軟件的目的的描述技術(shù)。] ? 獲取三個逆向工程工具的產(chǎn)品文獻,并給出它們的特征。 ? 在重構(gòu)和正向工程之間存在的細微不同是什么? ? 如何說服正在開發(fā)新系統(tǒng)的客戶在可重用性和可測試性上增加預(yù)算? ? 分析一下當(dāng)前主流 IDE對逆向工程,重構(gòu)和正向工程的支持程度。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1