rational rose 逆向工程

这一节主要介绍用户如何使用Rose的逆向工程生成UML模型,并用来进行C++代码的结构分析。

Rational Rose可以支持标准C++和Visual C++的模型到代码的转换以及逆向工程。下面将详细地说明这两种C++ project的逆向工程的步骤和具体操作。

2.1 ANSI C++(标准C++)逆向工程(Reverse Engineer)

使用标准C++逆向工程,需要在组件图(component view)中创建一个组件(component),设置好需要进行转换的组件的信息,也就是该组件的语言、所包含的文件、文件所在的路径、文件后缀等等信息,然后Reverse Engineer就可以根据给定的信息将代码转换成类图了。

(一) 右键点击组件视图(Component View),选择New->Component,创建一个新的组件

(二) componentlanguage属性设定为ANSI C++

a) 选中创建的component,点击右键,选中Open Specification

b) 在这个对话框中将该component的language设定为ANSI C++


(三)
配置该ANSI C++ component,设置好该component中包含的C++代码文件,并进行C++语言的详细设置

a) 选中该component,点击右键,选择ANSI C++->Open ANSI C++ Specification


b) 把Source file root directory设定为你的C++源码文件所在的路径,Reverse engineering root package 中输入转换后的工程的名称,默认为C++ Reverse Engineered,Reverse engineer directories as packages 选项将以文件夹的形式在Rose 的Logical View中生成与源文件相同的文档结构。点击Add Files将需要转换的文件添加到Project Files中,视你的需要来做其它的设定,比如:头文件扩展名等等。

(四) 将设置好的component转换成模型图

a) 选中设置好的component,点击右键,选中ANSI C++->Reverse Engineer


b) 选中需要转换的class,点击ok,一个component的逆向转换就完成了。


c) 逆向转换完成后,将在Rose主界面的Logical View下显示逆向转化后的代码。


(五)
得到逆向工程的模型图

          a) 新建一个Class Diagram,并命名。


         b) 双击此Diagram打开,选择Query->Add Classes。


c) 在Package下拉列表选择包含类的文件夹,点击OK。选择All >> 添加。



来自: http://hi.baidu.com/hcq11/blog/item/549858249a2d7420d40742ab.html

转载于:https://www.cnblogs.com/loving-my-gf/archive/2011/12/02/2271673.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rabbitmq中默认unack超时时间_RabbitMQ 与 Kafka 的技术差异以及使用注意点

导言作为一个有丰富经验的微服务系统架构师,经常有人问我,“应该选择RabbitMQ还是Kafka?”。基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别&#x…

五桌面工具来创建优秀的Windows环境

很多工具并不实用,都说能解压文件什么的,今天我给你们几个牛逼的 文件修复 文件修复软件是一个功能强大的工具来修复损坏的文件。它可以扫描损坏的文件,并提取到一个新的可用文件的最大数据。您可以修复Word文档,Excel电子表格&am…

假设以邻接矩阵作为图的存储结构_图的存储

因为图的结构特点,使得其在存储、遍历也相对复杂一些。邻接矩阵存储图最简单的方式就是将图的顶点用一维数组存储进来,然后将边信息存储在二维矩阵中,这两个数组合称为图的邻接矩阵(Adjacency Matrix)。无向图的邻接矩…

lombok依赖_为什么有些公司不让用 Lombok ?不要问,自己看吧

来源:toutiao.com/i6820517160964588044如果您正在阅读此文,想必您对Project Lombok已经有了一段时间的了解。您是否正准备拥抱Lombok?还是正准备将如此酷炫的项目推荐给你的团队?如果您准备那么做,不妨听听我在使用Lombok一年后…

ocx控件 postmessage消息会消失_实战经验:如何检测CMFCTabCtrl控件标签页切换事件...

MFC库中经常会使用到的一个控件是Tab标签页控件,这个控件在展现多个平级数据集非常合适。与控件对应的,是MFC库中的两个类:CMFCTabCtrl和CMFCBaseTabCtrl,其中CMFCTabCtrl继承自CMFCBaseTabCtrl,而CMFCBaseTabCtrl又继…

c++ 用eclipse建立一个类,并实例化并运行

新建项目file->new->c/c project 项目结构cpc.cpp// // Name : cpc.cpp // Author : cpc // Version : // Copyright : Your copyright notice // Description : Hello World in C, Ansi-style //#include <iostream> #include "mycoach.h&…

ps制作20种特效文字_用PS制作裂、火、电特效——电

本例是关于人物的电特效。包含的技术点比较多&#xff0c;其中最重要的技术是质感合成技术与变形技术。案例步骤&#xff08;1&#xff09;按CtrlN组合键新建一个19491417像素的文档。然后新建一个图层&#xff0c;接着打开渐变编辑器&#xff0c;设置第一个颜色的色标为&#…

JQuery放大镜效果

在网上找了些实现放大镜效果的方法&#xff0c;感觉这个方法符合我的要求就摘过来了&#xff0c;非原创 在一些电子商务或商品展示网上&#xff0c;为了更好的显示商品&#xff0c;一般都会添加放大镜的效果。 如图&#xff1a;&#xff08;当把鼠标放到小图片上&#xff0c;右…

echarts轨迹图,各个城市线路图轨迹如何取值

ehcarts官网网站给的是北京交通线路图https://www.echartsjs.com/examples/editor.html?clines-bmap-effect&#xff0c;这里其实有误区。 在开发项目的时候&#xff0c;我一直以为将某一路公交车的每个站点的坐标&#xff08;经纬度&#xff09;&#xff0c;放到series中的da…

如何查看电脑显卡配置_组装电脑:电脑配置显卡推荐

重点提醒&#xff1a;最新3000显卡上市&#xff0c;以下内容在发布之后会更新。现在不要着急购买2060系列的显卡。 今年显卡价格在大量矿卡的冲击下&#xff0c;价格普遍下滑&#xff0c;老黄家的1000系列也升级到1600系列&#xff0c;而AMD的扛把子蓝宝石RX580 8G价格更是一路…

智能优化算法应用:基于蛇优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于蛇优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于蛇优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蛇优化算法4.实验参数设定5.算法结果6.参考文…

J2EE技术(三)——JMS

一、JMS基本思想 JMS&#xff08;Java Message Service&#xff09;即java消息服务&#xff0c;提供了一组标准的java API&#xff0c;用于企业级的消息处理。通过JMS可以在java程序之间发送和接受消息以达到交换数据的目的。 一个JMS应用由以下几部分组成&#xff1a; 1、 …

ssh-keygen -t rsa执行后提示没有权限

ssh-keygen -t rsa生成密钥文件和私钥文件 产生原因&#xff1a;ssh-keygen命令不是被识别的内部或者外部命令&#xff0c;没有权限 解决方案&#xff1a;把这个命令加入到全局变量内&#xff0c;再执行&#xff0c;就OK了 1.找到git安装目录下ssh-keygen地址&#xff1a; 2.把…

windows安全警报怎么关闭_鄂州人注意!本周五上午,全市将进行防空警报鸣放...

根据《人民防空法》规定&#xff0c;经鄂州市政府批准&#xff0c;于2020年10月23日上午9时10分进行防空警报鸣放&#xff0c;届时请市民不要惊慌&#xff0c;保持正常的工作和生活秩序。■延伸若是战时防空警报响起&#xff0c;市民该怎么做&#xff1f;如今是和平年代&#x…

Visual Studio 添加 自定义 路径宏

在编辑VS工程包含路径和库路径时&#xff0c;有时需要添加第三方包的路径&#xff0c;比如c boost库&#xff0c; 为了协作的方便&#xff0c;不合适直接把本地绝对路径添加入工程设置&#xff0c;此时可以添加自定义路径宏&#xff0c; 然后参与协作的每个开发人员&#xff0c…

openwrt 19 overlay 空间不足_重视 | 山西一矿井瓦斯爆炸,有限空间作业切记注意安全...

新闻速递20日2时许&#xff0c;山西潞安集团左权阜生煤业井下发生一起瓦斯爆炸事故&#xff0c;造成4人遇难、1人受伤。目前事故救援基本结束&#xff0c;事故原因正在调查中。近年来有限空间作业事故频发2010年6月21日凌晨1时40分左右&#xff0c;平顶山市卫东区兴东二矿发生井…

扩展极小值—lhMorpEMin

扩展极小值&#xff08;5*5正方形 h100 显示结果二值化&#xff09; 函数&#xff1a;lhMorpEMin 说明&#xff1a;形态学扩展极小值 参数&#xff1a; src 输入图像 dst 输出图像 h 深度或动态范围阈值 se 结构元素 源码&#xff1a; void lhMorpEMin(const IplImage* src…

c++win32项目 如何显示后再删除一个绘图_CAD快速绘图,不可不知的50个经典技巧,看完不迷茫!...

1、文字镜像如何设置转动与不转动&#xff1f;A、在镜像前&#xff0c;输入MIRRTEXT指令B、输入新值0 代表不转动 &#xff1b;输入新值1代表转动C、MIRRTEXT指令完成后&#xff0c;输入MI镜像指令就OK了2、CAD的版本转换&#xff1f;A、CAD高版本可以打开所有低版本的图纸B、C…

PHP添加php-java-brideg模块(ubuntu环境)

1、下载php-java-bridge 下载地址&#xff1a;https://sourceforge.net/projects/php-java-bridge/files/Binary%20package/php-java-bridge_7.2.1/exploded/JavaBridge.jar/download 2、将JavaBridge.jar上传到linux服务器中。例如/usr/local/src/ 3、修改php.ini文件。用find…

YSlow简介与使用(转)

原文&#xff1a;http://www.huluboke.com/firebug-yslow/ 除了Firebug自带的网络监控功能以外&#xff0c;还有很多Firebug监控插件提供更为详细的监控信息报告&#xff0c;在此介绍其中的佼佼者&#xff0c;YSlow。YSlow的下载地址为&#xff1a;http://developer.yahoo.com/…