首先打开E-A,点击"文件"—“新建项目”-命名项目并选择项目保存目的地。完成上述操作后会弹出一个对话框“选择模型”

用VS看大型工程代码,尤其是很多层类的,很容易头晕,即便是装了visual assist 插件。用VS生成类图吧,只能生成一堆框,只有一些小的类关系有箭头表示。远远不能满足要求。下面介绍建模工具EA来生成类图。

1、新建类图(例如ClassModel),没用的图表删除,ctrl+s保存。

2、选中类图(ClassModel),shift+ctrl+u打开对话框,选好根目录,一般是该模块或项目源码所在位置,一般按图中设好选项,确定即可。

3、会看到递归遍历源码,其间会有错误产生,根据提示找到源码位置,一般是有个宏在该位置,EA是不会自动识别宏的,需要我们给他设好,在菜单-〉设置里有个“宏定义”,点击新增,输入宏的名字。把所有导致错误的宏输入好,新建工程和类图,然后按上面重来,会看到错误消失了。(注意要在新工程类图里搞,因为在老的里边搞会丢失一些箭头,即类和类之间的关系,因为EA默认是对已经导入过的类不再重新检查,即便是曾经出过错误的类)

4、到最后出来一张类图,类似蜘蛛网,觉得乱可以保存一份备份,然后把没用的结构体 enum 等图表删掉,小的类图表也可以删掉。注意,在图表视图和项目浏览器是没有关联的,在图表视图里删掉后,项目浏览器里还有,不影响观看,建议保留,以后想看再拖出来放到图表视图里,箭头也会自动连接。

5、EA中选中类的图表,然后按F12,即可定位代码,不习惯的话可以在VS中查看,使用visual assist的ctrl+alt+s查找符号(类、结构体、宏等)和ctrl+alt+o查找文件名。使用alt+g来跟踪符号。

6、结合VS中其它的一些快捷键,帮助理解项目代码。

7、EA无法对单例的调用生成箭头(如:CXXX::GetInstance()->DoSomething();)

enterprise architect (EA) 源码生成UML类图相关推荐

  1. #UML# Astah+Doxygen 将C++源码映射为类图内成员只支持基本类型不支持自定义类型

    根据上篇文章#UML# Astah+Doxygen 将C++源码映射为类图,我们可以很轻松的将源码自动映射成类图, 然而在实际过程中,会发现生成的类图中,成员变量经常会有丢失的现象. 只支持基本类型不 ...

  2. mysql反向生成uml类图_UML类图自动生成,太爽了

    最近在开发的过程当中,对于已有的代码,想将相关类绘制成UML类图,虽然现在有很多UML类图的优秀软件,比如ProcessOn(可视化编辑).draw.io(可视化编辑).PlantUML(代码生成), ...

  3. 强大的uml java_IDEA 还是强大啊,一键把项目生成 UML 类图…

    最近在开发的过程当中,对于已有的代码,想将相关类绘制成UML类图,虽然现在有很多UML类图的优秀软件,比如ProcessOn(可视化编辑).draw.io(可视化编辑).PlantUML(代码生成), ...

  4. 读tomcat源码,随笔类图

    by yan 20170425 读tomcat源码,随笔类图:

  5. Idea Diagrams生成UML类图

    Idea Diagrams生成UML类图 1. Idea Diagrams概述 2. Idea Diagrams配置 3. 单个类UML类图 4. 包的UML类图 5. 接口与实现类的UML类图 6. ...

  6. OC代码通过Xcode自动生成UML类图

    先来了解什么是UML? 在UML的静态机制中类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心.建模工具也主要根据类图来产生代码.类图在UML的9个图中占据了一个相当重要的地位.Jam ...

  7. Solidity - 使用Remix 插件 SOLIDITY 2 UML 生成UML类图 及 在以太坊浏览器中查看UML类图

    今天想把已经写好的合约使用UML梳理一下,因为使用到了接囗.库.抽象合约及合约,所以想使用UML梳理一下更清晰.本来想用Viso,但是在其它语言里没有库(library)的概念,所以查了一下如何表示, ...

  8. IDEA生成UML类图

    IDEA生成UML类图 1. 打开设置File-Settings 2. 在搜索框输入diagram,找到Tools下面的Diagrams,在Java Class Diagrams里面选中前三项:成员变 ...

  9. 用Enterprise Architect从源码自动生成类图

    参考:http://blog.csdn.net/zhouyong0/article/details/8281192/ /* references:感谢资源分享者. info:简单记录如何通过工具从源码 ...

最新文章

  1. 任意用户密码重置(四):重置凭证未校验
  2. 101. 最高的牛【差分 思维】
  3. 美国伯克利大学计算机研究生学几年,美国加州大学伯克利分校计算机CS研究生申请条件一览...
  4. Node.js webpack Vue单文件
  5. linkerd mysql_linkerd ab部署测试
  6. 《SQL Server 必知必会》读书笔记
  7. HTML 4.01/XHTML 1.0标签列表
  8. Android NDK学习(二):编译脚本语法Android.mk和Application.mk
  9. 多进程|多线程的不同应用场景:Python还是C
  10. Android Baseline小tip
  11. ashx中使用Session
  12. 《深度学习Python实践》第22章——文本分类实例
  13. 南航计算机学院院长黄志球简历,南航计算机科学与技术学院导师介绍:沈国华...
  14. 工具说明书 - 使用带连字功能(ligature)的编程字体
  15. Steam流式传输后插耳机没有声音
  16. 有源蜂鸣器和无源蜂鸣器的区别
  17. 102 613 SWP协议学习笔记--SHDLC
  18. SQL面试必考——计算留存率
  19. 数据分析之Matplotlib(二)折线图(plot)
  20. 亲历被盗iPhone流通链:串号泄露机主信息

热门文章

  1. linux操作系统项目化教程课后答案,完整版Linux操作系统及应用项目教程习题答案(13页)-原创力文档...
  2. SpringContextUtil
  3. 《系统集成项目管理工程师》必背100个知识点-84积极影响的风险的应对策略
  4. Python中变量作用域问题
  5. 配置Linux的时钟同步
  6. ElementUI中el-table在表格最下方添加一列汇总小计行
  7. Eclipse中安装插件时提示:No repository found containing: osgi.bundle,org.eclipse.emf,2.8.0.v20180706-1146
  8. Webservice入门教程_教程目录以及地址
  9. 学习linux基础操作,从0开始入门!
  10. nanopi磁盘烧写