這種做法源于較早的行業(yè),目前在硬件和軟件領(lǐng)域都有應(yīng)用。人們可以通過(guò)逆向工程來(lái)解構(gòu)模型,查看現(xiàn)有的軟件,這就是逆向工程。
之所以稱(chēng)之為逆向工程,是因?yàn)樗婕暗綄?duì)最終產(chǎn)品設(shè)計(jì)的逆向研究。然而,人們往往對(duì)制造該產(chǎn)品的工程步驟知之甚少?,F(xiàn)在,這就是棘手的部分。這里的挑戰(zhàn)在于獲取有關(guān)這些工程方法的知識(shí),然后對(duì)其進(jìn)行解構(gòu)。這篇文章為大家?guī)?lái)芝加哥大學(xué)逆向工程的 3 個(gè)步驟。
一、實(shí)施恢復(fù)
這是對(duì)產(chǎn)品進(jìn)行逆向工程的初始基礎(chǔ)。由于原始產(chǎn)品將作為參考,因此不應(yīng)進(jìn)行推論,而只能實(shí)施。
第一步是掌握產(chǎn)品的現(xiàn)存文檔并對(duì)其進(jìn)行了解。這將使開(kāi)發(fā)人員的意圖一目了然,并更容易與應(yīng)用程序?qū)<覝贤?。通過(guò)這些文檔所了解到的知識(shí)純屬偶然,但當(dāng)你進(jìn)一步了解整個(gè)過(guò)程時(shí),你就會(huì)發(fā)現(xiàn)這些知識(shí)對(duì)你有多么大的幫助。
下一步是將收集到的信息輸入數(shù)據(jù)庫(kù)。有一些工具可以讀入 RDBMS 模型,從而為模型播種。如果您使用此類(lèi)工具,您就可以略讀設(shè)計(jì),并獲得有關(guān)開(kāi)發(fā)風(fēng)格的提示。
1.創(chuàng)建暫定創(chuàng)建風(fēng)格
將每個(gè)物理數(shù)據(jù)單元(RDBMS 單元)表示為實(shí)體類(lèi)型。
2.創(chuàng)建暫定關(guān)系樣式
對(duì)于 CODASYL 應(yīng)用程序,建議將集合類(lèi)型表示為關(guān)系樣式。
3.創(chuàng)建暫定屬性
指明非空系統(tǒng)、數(shù)據(jù)類(lèi)型和長(zhǎng)度(如有)。
4.記錄主關(guān)鍵字和索引
應(yīng)記下主關(guān)鍵字、候選鍵和外鍵(如果有)。
二、設(shè)計(jì)恢復(fù)
在這一步中,應(yīng)避免猜測(cè)和結(jié)論,直到分析恢復(fù)階段。在這一步驟中,應(yīng)避免猜測(cè)和結(jié)論,直至分析恢復(fù)階段。在這一步驟中,要解決以下三個(gè)主要問(wèn)題。
1.身份
對(duì)于最常見(jiàn)的實(shí)體類(lèi)型候選鍵,單元索引將變得非常重要。否則,我們可以尋找其他組合數(shù)據(jù),這些數(shù)據(jù)只能提示而不能證明候選鍵。外鍵極有可能證明候選鍵。
2.外鍵
這是設(shè)計(jì)恢復(fù)中最難的部分。匹配名稱(chēng)和數(shù)據(jù)類(lèi)型可以得到一個(gè)外鍵。有些 DBMS 和 RDBMS 允許開(kāi)發(fā)人員公布外鍵及其引用,但大多數(shù)傳統(tǒng)應(yīng)用程序都不使用這種方法。
3.查詢(xún)
當(dāng)存在查詢(xún)時(shí),我們可以用它來(lái)定義外鍵和候選鍵及其身份。
三、分析恢復(fù)
這是逆向工程的最后一步。分析恢復(fù)有助于完善產(chǎn)品并使其進(jìn)一步抽象化。這需要應(yīng)用專(zhuān)家的幫助才能成功。
這一步驟主要解決四個(gè)問(wèn)題,下面將進(jìn)一步討論
1.澄清
去除設(shè)計(jì)中任何殘留的人工痕跡。它不應(yīng)包含任何重要或必要的信息。
2.冗余
刪除任何因錯(cuò)誤原因而存在的衍生數(shù)據(jù)。還必須對(duì)數(shù)據(jù)進(jìn)行檢查,以確定數(shù)據(jù)結(jié)構(gòu)是否重復(fù)。
3.錯(cuò)誤
消除剩余的數(shù)據(jù)庫(kù)錯(cuò)誤。在得出開(kāi)發(fā)人員犯錯(cuò)的結(jié)論之前,應(yīng)完全了解數(shù)據(jù)庫(kù)。
4.模型整合
多種信息提供多種解釋。這就是逆向工程通?;诮Y(jié)構(gòu)和數(shù)據(jù)的原因。而正向工程基本上以用戶(hù)手冊(cè)為基礎(chǔ)。
海馬課堂專(zhuān)業(yè)課程輔導(dǎo),2100+嚴(yán)選碩博學(xué)霸師資,針對(duì)學(xué)生的薄弱科目和學(xué)校教學(xué)進(jìn)度,匹配背景相符的導(dǎo)師,根據(jù)學(xué)生情況進(jìn)行1V1專(zhuān)屬備課,上課時(shí)間靈活安排,中英雙語(yǔ)詳細(xì)講解課程中的考點(diǎn)、 難點(diǎn)問(wèn)題,并提供多方位的課后輔導(dǎo),輔助學(xué)生掌握全部課程知識(shí),補(bǔ)足短板。
相關(guān)熱詞搜索: