首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實用文檔 繽紛校園 英語學(xué)習(xí) | ||
2010考研 | 自學(xué)考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院 | ||
四六級 | 商務(wù)英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福 | ||
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點英、法、德、日、韓語 | 在職申碩英語 | ||
在職攻碩英語 | 成人英語三級 | ||
等級考試 | 水平考試 | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證 | ||
公務(wù)員 | 報關(guān)員 | 報檢員 | 外銷員 | 司法考試 | 導(dǎo)游考試 | 教師資格 | 國際商務(wù)師 | 跟單員 | ||
單證員 | 物流師 | 價格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師 | ||
期貨從業(yè)資格 | 社會工作者 | ||
會計職稱 | 注會CPA | 經(jīng)濟師 | 統(tǒng)計師 | 注冊稅務(wù)師 | 評估師 | 精算師 | 高會 | ACCA | 審計師 | ||
法律顧問 | 會計證 | ||
一級建造師 | 二級建造師 | 造價師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結(jié)構(gòu)師 | 建筑師 | 安全評價師 | ||
房地產(chǎn)估價師 | 土地估價師 | 設(shè)備監(jiān)理師 | 巖土工程師 | 質(zhì)量資格 | 房地產(chǎn)經(jīng)紀(jì)人 | 造價員 | ||
投資項目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評價 | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師 | ||
公路造價工程師 | 招標(biāo)師 | ||
執(zhí)業(yè)護士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格 |
Rational Rose是利用UML(統(tǒng)一建模語言)進行分析和設(shè)計面向?qū)ο筌浖到y(tǒng)的強大的可視化工具,可以進行項目需求分析、結(jié)構(gòu)規(guī)劃和生成框架代碼,還可以支持從現(xiàn)有系統(tǒng)逆向轉(zhuǎn)出工程代碼,生成Rose模型的功能。
2004年10月,IBM推出了支持最新的UML2.0的可視化建模工具 Rational Software Architect(見注釋①) 和IBM Rational Software Modeler(見注釋②)。雖然它們支持在建模功能上有了更好的改進、支持了更新的標(biāo)準(zhǔn),但是RSA的精彩功能主要是集中在對Java應(yīng)用的支持,而IBM Rational Software Modeler則是主要關(guān)注系統(tǒng)的模型設(shè)計,如果要從結(jié)構(gòu)上分析C++編寫的系統(tǒng)的代碼,Rational Rose還是首選的工具。
接下來的文章將會對如何利用Rational Rose 的逆向轉(zhuǎn)出工程來進行系統(tǒng)分析進行更加詳細(xì)地闡述。
一.Rational Rose逆向工程介紹
逆向工程(Reverse Engineer)就是從現(xiàn)有系統(tǒng)的代碼來生成模型的功能。分析已有的代碼其主要的目的就是了解代碼結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),這些對應(yīng)到模型圖就是類圖、數(shù)據(jù)模型圖和組件圖(對UML各種模型圖的描述見注釋③),也就是通過Rational Rose的逆向工程所得到的結(jié)果。Rational Rose所支持的逆向工程功能很強大,包括的編程語言有C++, VB, VC, Java, CORBA,以及數(shù)據(jù)庫DDL腳本等等,并且可以直接連接DB2, SQLServer, Oracle和Sybase等數(shù)據(jù)庫導(dǎo)入Schema并生成數(shù)據(jù)模型。
很多大型的C++開發(fā)的產(chǎn)品都涉及到數(shù)據(jù)庫的使用,對這種大型系統(tǒng)的開發(fā),尤其是做二次開發(fā)的情況下,主要的難點就是對源碼和數(shù)據(jù)庫結(jié)構(gòu)的分析。而利用Rose的逆向工程這一功能,就可以完成代碼’類圖以及數(shù)據(jù)庫Schema->數(shù)據(jù)模型圖的轉(zhuǎn)換,解決這兩大難點,可以使開發(fā)和設(shè)計人員在對這種大型系統(tǒng)的升級、分析和開發(fā)中,更為方便、快捷、有條理地掌握系統(tǒng)結(jié)構(gòu),不用再為分析龐大的系統(tǒng)結(jié)構(gòu)而頭疼。
二.如何用Rational Rose進行C++代碼分析
這一節(jié)主要介紹用戶如何使用Rose的逆向工程生成UML模型,并用來進行C++代碼的結(jié)構(gòu)分析。
Rational Rose可以支持標(biāo)準(zhǔn)C++和Visual C++的模型到代碼的轉(zhuǎn)換以及逆向工程。下面將詳細(xì)地說明這兩種C++ project的逆向工程的步驟和具體操作。
1. ANSI C++(標(biāo)準(zhǔn)C++)逆向工程(Reverse Engineer)使用標(biāo)準(zhǔn)C++逆向工程,需要在組件圖(component view)中創(chuàng)建一個組件(component),設(shè)置好需要進行轉(zhuǎn)換的組件的信息,也就是該組件的語言、所包含的文件、文件所在的路徑、文件后綴等等信息,然后Reverse Engineer就可以根據(jù)給定的信息將代碼轉(zhuǎn)換成類圖了。
a) 右鍵點擊組件視圖(Component View),選擇New->Component,創(chuàng)建一個新的組件
b) 將component的language屬性設(shè)定為ANSI C++