enterprise architect (EA) 源码生成UML类图,帮助理解项目工程
2016-02-25 16:11
197 查看
用VS看大型工程代码,尤其是很多层类的,很容易头晕,即便是装了visual assist 插件。用VS生成类图吧,只能生成一堆框,只有一些小的类关系有箭头表示。远远不能满足要求。下面介绍建模工具EA来生成类图。
1、新建类图(例如ClassModel),没用的图表删除,ctrl+s保存。
2、选中类图(ClassModel),shift+ctrl+u打开对话框,选好根目录,一般是该模块或项目源码所在位置,一般按图中设好选项,确定即可。
![](http://img.my.csdn.net/uploads/201210/24/1351082807_3934.jpg)
3、会看到递归遍历源码,其间会有错误产生,根据提示找到源码位置,一般是有个宏在该位置,EA是不会自动识别宏的,需要我们给他设好,在菜单-〉设置里有个“宏定义”,点击新增,输入宏的名字。把所有导致错误的宏输入好,新建工程和类图,然后按上面重来,会看到错误消失了。(注意要在新工程类图里搞,因为在老的里边搞会丢失一些箭头,即类和类之间的关系,因为EA默认是对已经导入过的类不再重新检查,即便是曾经出过错误的类)
![](http://img.my.csdn.net/uploads/201210/24/1351083172_7994.jpg)
4、到最后出来一张类图,类似蜘蛛网,觉得乱可以保存一份备份,然后把没用的结构体 enum 等图表删掉,小的类图表也可以删掉。注意,在图表视图和项目浏览器是没有关联的,在图表视图里删掉后,项目浏览器里还有,不影响观看,建议保留,以后想看再拖出来放到图表视图里,箭头也会自动连接。
5、EA中选中类的图表,然后按F12,即可定位代码,不习惯的话可以在VS中查看,使用visual assist的ctrl+alt+s查找符号(类、结构体、宏等)和ctrl+alt+o查找文件名。使用alt+g来跟踪符号。
6、结合VS中其它的一些快捷键,帮助理解项目代码。
7、EA无法对单例的调用生成箭头(如:CXXX::GetInstance()->DoSomething();)
1、新建类图(例如ClassModel),没用的图表删除,ctrl+s保存。
2、选中类图(ClassModel),shift+ctrl+u打开对话框,选好根目录,一般是该模块或项目源码所在位置,一般按图中设好选项,确定即可。
![](http://img.my.csdn.net/uploads/201210/24/1351082807_3934.jpg)
3、会看到递归遍历源码,其间会有错误产生,根据提示找到源码位置,一般是有个宏在该位置,EA是不会自动识别宏的,需要我们给他设好,在菜单-〉设置里有个“宏定义”,点击新增,输入宏的名字。把所有导致错误的宏输入好,新建工程和类图,然后按上面重来,会看到错误消失了。(注意要在新工程类图里搞,因为在老的里边搞会丢失一些箭头,即类和类之间的关系,因为EA默认是对已经导入过的类不再重新检查,即便是曾经出过错误的类)
![](http://img.my.csdn.net/uploads/201210/24/1351083172_7994.jpg)
4、到最后出来一张类图,类似蜘蛛网,觉得乱可以保存一份备份,然后把没用的结构体 enum 等图表删掉,小的类图表也可以删掉。注意,在图表视图和项目浏览器是没有关联的,在图表视图里删掉后,项目浏览器里还有,不影响观看,建议保留,以后想看再拖出来放到图表视图里,箭头也会自动连接。
5、EA中选中类的图表,然后按F12,即可定位代码,不习惯的话可以在VS中查看,使用visual assist的ctrl+alt+s查找符号(类、结构体、宏等)和ctrl+alt+o查找文件名。使用alt+g来跟踪符号。
6、结合VS中其它的一些快捷键,帮助理解项目代码。
7、EA无法对单例的调用生成箭头(如:CXXX::GetInstance()->DoSomething();)
相关文章推荐
- App竞品分析
- 空悲切
- kmp算法理解
- webbench进行压力测试
- C# 基础教程(结合Unity)
- 为什么用4mA-20mA的电流做通信传输
- Instruments概述
- lightoj 1214 - Large Division【同余定理】
- java 内存回收机制
- Unity3d中关于Awake()、Start()、OnEnable()等的执行顺序关系
- HTML中小meta的大作用
- mysql存储过程事务
- javascriptt切换组件MyTab.js封装
- MFC 菜单编程(CMenu)
- Memcached(五)Memcached的并发实例
- linux文件链接
- cocos2d-x 优化(纹理渲染优化、资源缓存、内存优化)
- EditText与onItemClick事件冲突
- 常见的项目文件介绍
- Hibernate不能自动建表