Sparx EA 9.3中Code Engineering Diagram的定义、差异及使用咨询
Code Engineering Diagram 解析与使用说明
什么是Code Engineering Diagram?
Code Engineering Diagram是Sparx EA中专门用于代码工程可视化与双向同步的图类型,核心作用是衔接UML模型与实际编程语言代码,支持正向工程(从模型生成代码)和逆向工程(从代码导入生成模型)。它本质是绑定了特定编程语言规则的结构视图,内置对应语言的语法逻辑、代码生成/导入模板。
为何不同语言选项创建后无明显差异?
你提到选ActionScript、C、C++等语言创建图后看不出区别,核心原因是:
- 初始创建的是空图容器,默认不会自动加载语言特有的元素样式
- 语言差异体现在元素属性配置、代码同步行为上,而非图的初始外观
- EA 9.3版本的界面层对语言特有的可视化区分做的较弱,后续版本才强化了这部分表现
具体使用方法
正向工程(模型转代码)
- 在Code Engineering Diagram中创建类、接口等UML元素
- 选中目标元素,右键选择「Code Engineering」→「Generate Code」
- 在弹出窗口确认目标语言(需和创建图时选的语言匹配),配置生成路径、代码模板等参数
- 点击生成,EA会根据元素属性(如变量类型、方法修饰符)生成符合对应语言语法的代码文件
逆向工程(代码转模型)
- 右键点击图空白处,选择「Code Engineering」→「Import Source Code」
- 选择目标语言,添加要导入的代码文件或目录
- 配置导入规则(如是否导入注释、是否生成关联关系)
- 导入完成后,代码中的类、函数等会自动转为UML元素展示在图中
语言特有配置
- 打开「Settings」→「Code Generation Templates」,可查看/编辑对应语言的代码生成模板,自定义输出格式
- 选中UML元素,在「Properties」面板的「Code」标签页,可配置对应语言特有的属性(如C++的
const修饰符、Java的throws声明)
补充验证方式
EA 9.3官方文档对这部分说明确实简略,你可以通过以下方式直观感受差异:
- 分别创建C和Java的Code Engineering Diagram,各添加类并生成代码,对比生成文件的语法差异
- 在元素的「Code」属性页查看不同语言下的可选配置项,就能看到语言特有的设置
内容的提问来源于stack exchange,提问作者user20297975
相关产品推荐
相关产品推荐

