enterprise architect (EA) 源码生成UML类图,帮助理解项目工程

本文介绍了如何利用Enterprise Architect (EA) 工具为大型工程代码生成清晰的类图,包括配置步骤、解决常见错误的方法及如何高效浏览生成的类图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用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();)



转载自:http://blog.youkuaiyun.com/wpc320/article/details/8108640

### 如何在Enterprise Architect中创建UML #### 创建新的UML项目 为了开始一个新的UML项目,在启动Enterprise Architect之后,选择新建模型。通过文件菜单中的“New Model”选项来初始化新环境[^1]。 #### 添加到现有包内 要在已有的包里加入新的,在Project Browser视窗找到目标包位置。右键单击该包并从弹出菜单中挑选‘Add | Add Diagram’命令。这会引导至一个对话框让用户指定想要添加的表种[^3]。 #### 选取合适的型 当上述操作完成后,会出现一个窗口列出了可供选择的不同型的表。对于创建UML而言,应该在左侧列表中定位到“UML Static Structure”,接着右侧将会展示一系列具体的选择项;此时应选中“Class”作为最终确定下来的表形式[^4]。 #### 开始绘制元素 一旦选择了正确的别后,即进入了实际绘界面。利用工具栏上的按钮可向画布上放置各建模组件,比如(Class),接口(Interface),关联(Association)等基本构成部分。同时也可以直接拖拽已有对象进入当前编辑区以便快速构建复杂关系结构。 ```python # Python伪代码示例:模拟EA API调用以自动化生成简单定义 from ea import Repository, Element, Connector repo = Repository() new_class = repo.createElement(name="Example", type=Element.CLASS) another_class = repo.createElement(name="AnotherClass", type=Element.CLASS) association = repo.createConnector( source=new_class, destination=another_class, type=Connector.ASSOCIATION ) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值