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

正文內(nèi)容

第13章軟件維護與再工程-閱讀頁

2025-02-22 11:41本頁面
  

【正文】 的可維護性,有四種類型的軟件審查: 在檢查點進行復(fù)審 、 驗收檢查 、 周期性地維護審查 、 對軟件包進行檢查 。如把 C++ 程序轉(zhuǎn)換成 Java程序 ? 設(shè)計恢復(fù)( design recovery) :指借助工具從已有程序中抽象出有關(guān)數(shù)據(jù)結(jié)構(gòu)設(shè)計、總體結(jié)構(gòu)設(shè)計和過程設(shè)計的信息。當實施軟件的再工程時,軟件理解是再工程的基礎(chǔ)和前提。 46 復(fù)旦大學計算機科學與工程系 軟件工程課程 再工程的概念 ? 通常再工程包含: 業(yè)務(wù)過程再工程 、 軟件再工程 – 業(yè)務(wù)過程再工程 ( BPR——Business Process Reengineering,也稱業(yè)務(wù)過程重組)定義業(yè)務(wù)目標、標示并評估現(xiàn)有的業(yè)務(wù)過程以及修訂業(yè)務(wù)過程以更好滿足業(yè)務(wù)目標,這一部分通常由咨詢公司的業(yè)務(wù)專家完成 – 軟件再工程 包含庫存目錄分析、文檔重構(gòu)、逆向工程、程序和數(shù)據(jù)重構(gòu)以及正向工程。不過,到 21世紀初,對于業(yè)務(wù)過程再工程的宣傳已經(jīng)不太常見,但是這種過程已經(jīng)在很多公司中得到使用。 48 復(fù)旦大學計算機科學與工程系 軟件工程課程 業(yè)務(wù)過程再工程 ? 每個系統(tǒng)都是由不同的子系統(tǒng)構(gòu)成,而子系統(tǒng)還可以再細分為更細的子系統(tǒng),從而整個業(yè)務(wù)呈現(xiàn)一種層次結(jié)構(gòu) 業(yè)務(wù) 業(yè)務(wù)系統(tǒng) 業(yè)務(wù)過程 業(yè)務(wù)子過程 業(yè)務(wù)層次 49 復(fù)旦大學計算機科學與工程系 軟件工程課程 業(yè)務(wù)過程再工程 ? 在理想情況下, BPR應(yīng)該自頂向下地進行,從標示主要的業(yè)務(wù)目標或子目標開始,而以生成業(yè)務(wù)(子)過程中每個任務(wù)的詳細的規(guī)約結(jié)束 ? 對一個業(yè)務(wù)過程進行再工程需要服從一定的原則。 51 復(fù)旦大學計算機科學與工程系 軟件工程課程 業(yè)務(wù)過程再工程 ? 業(yè)務(wù)過程再工程是迭代的。整個業(yè)務(wù)過程再工程模型可用下圖表示 業(yè)務(wù)定義 過程標識 過程評估 過程規(guī)約和設(shè)計 原型實現(xiàn) 求精和實例化 52 復(fù)旦大學計算機科學與工程系 軟件工程課程 業(yè)務(wù)過程再工程 ? 軟件規(guī)模的擴大導(dǎo)致出現(xiàn)軟件的管理、質(zhì)量等一些嚴重的問題,人們開始尋找軟件業(yè)中的銀彈。然而經(jīng)過幾年的夸大宣傳后, BRP陷于嚴重的批評中,又被人們認為一文不值。 BRP不是銀彈,當然 BRP確實可以提高軟件的質(zhì)量。 – 下述 3類程序有可能成為預(yù)防性維護的對象: 預(yù)定將使用多年的程序 、 當前正在成功地使用著的程序和 在最近的將來可能要做重大修改或增強的程序 。如果一個程序是相對穩(wěn)定的,而且可能不會再經(jīng)歷什么變化,那么,讓它保持現(xiàn)狀。如果某應(yīng)用系統(tǒng)是完成業(yè)務(wù)工作的關(guān)鍵,而且必須重構(gòu)全部文檔,則仍然應(yīng)該設(shè)法把文檔工作減少到必需的最小量。 57 復(fù)旦大學計算機科學與工程系 軟件工程課程 軟件再工程過程 ? 代碼重構(gòu) – 某些老程序具有比較完整、合理的體系結(jié)構(gòu),但是,個體模塊的編碼方式卻是難于理解、測試和維護的。 – 為了完成代碼重構(gòu)活動,首先用重構(gòu)工具分析源代碼,標注出和結(jié)構(gòu)化程序設(shè)計概念相違背的部分。最后,復(fù)審和測試生成的重構(gòu)代碼 (以保證沒有引入異常 )并更新代碼文檔。在大多數(shù)情況下,數(shù)據(jù)重構(gòu)始于逆向工程活動,分解當前使用的數(shù)據(jù)體系結(jié)構(gòu),必要時定義數(shù)據(jù)模型,標識數(shù)據(jù)對象和屬性,并從軟件質(zhì)量的角度復(fù)審現(xiàn)存的數(shù)據(jù)結(jié)構(gòu)。在大多數(shù)情況下,被再工程的軟件不僅重新實現(xiàn)現(xiàn)有系統(tǒng)的功能,而且加入了新功能和提高了整體性能。通過逆向工程,可以從更高的抽象度來觀察軟件。 ? 逆向工程來源于硬件世界。但是又得不到現(xiàn)成的檔案,只好拆卸對手的產(chǎn)品并進行分析,企圖從中獲取有價值的東西。但在很多時候,軟件的逆向工程并不是針對競爭對手的,而是針對自己公司多年前的產(chǎn)品。 61 復(fù)旦大學計算機科學與工程系 軟件工程課程 逆向工程 ? 逆向工程導(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)系的信息。如代碼重構(gòu)任務(wù),只需獲得實現(xiàn)級信息即可。 ? 現(xiàn)代的軟件一般都擁有華麗的界面,當準備對舊的軟件進行用戶界面的逆向工程時,必須先理解舊軟件的用戶界面,并且刻畫出界面的結(jié)構(gòu)和行為。其中對內(nèi)部的數(shù)據(jù)結(jié)構(gòu)的逆向工程可以通過檢查程序代碼以及變量來完成;而對數(shù)據(jù)庫結(jié)構(gòu)的重構(gòu)可通過建立一個初始的對象模型,確定侯選鍵,精化實驗性的類,定義一般化,以及發(fā)現(xiàn)關(guān)聯(lián)來完成。對于大型系統(tǒng),逆向工程通常用半自動化的方法來完成。這類方法一般可產(chǎn)生模塊的略圖( outline)、流程圖和交叉訪問表。這類方法可用工具實現(xiàn),如靜態(tài)分析,調(diào)用圖、控制流圖生成等。領(lǐng)域知識用規(guī)則庫表示,用已確定或假定的領(lǐng)域概念與代碼之間的對應(yīng)關(guān)系,推導(dǎo)進一步的假設(shè),最后導(dǎo)出程序的功能。 – 鉛板恢復(fù) :這類方法僅適用于推導(dǎo)實現(xiàn)級和結(jié)構(gòu)級信息。 66 復(fù)旦大學計算機科學與工程系 軟件工程課程 習題 ? 請討論使軟件維護成本居高不下的因素。該系統(tǒng):已經(jīng)使用了 25年,它采用 cobol結(jié)構(gòu)化程序設(shè)計技術(shù)開發(fā),并與關(guān)系數(shù)據(jù)庫通信;它運行在一臺 IBM主機上;有 50多萬行代碼。認識到有這些問題,大學希望利用面向?qū)ο蟮拈_發(fā)優(yōu)勢,但是不幸的是,維護這個系統(tǒng)的 90%以上的員工都是新人,并不熟悉系統(tǒng)的實現(xiàn)。 67 復(fù)旦大學計算機科學與工程系 軟件工程課程 習題 ? 軟件維護過程是如何進行的?為什么要進行軟件可維護性分析? ? 考慮你在近幾年從事過的任何工作,描述你在其中工作的業(yè)務(wù)過程。 ? 對業(yè)務(wù)過程再工程的功效進行研究,給出對該方法的正面的和負面的論據(jù)。[提示:考慮新的能夠用于傳達軟件的目的的描述技術(shù)。 ? 在重構(gòu)和正向工程之間存在的細微不同是什么? ? 如何說服正在開發(fā)新系統(tǒng)的客戶在可重用性和可測試性上增加預(yù)算? ? 分析一下當前主流 IDE對逆向工程,重構(gòu)和正向工程的支持程
點擊復(fù)制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1