如何在EA中实现包层级对象依赖关系可视化(避免冗余建模)
解决EA中包层级依赖视图生成问题的可行思路
方法1:利用EA内置查询与图表生成功能
- 创建自定义SQL查询,关联EA核心表提取包依赖:通过
t_connector(存储表间信息流)、t_object(存储表对象)、t_package(存储包信息)三张表关联查询,筛选出存在信息流的表所属的包对,去重后得到包层级依赖数据。 - 将查询结果导出为临时对象集,新建包图并拖入涉及的包,再基于查询结果批量创建包间依赖连接器(可借助EA自动化脚本减少手动操作)。
方法2:通过EA自动化API(脚本/插件)同步依赖
- 编写VBScript或C#插件,完成以下操作:
- 遍历所有带Information Flow连接器的表对象,获取每个表的父包
- 记录包间依赖关系(自动跳过已存在的重复依赖)
- 在包层级自动创建对应依赖连接器(比如用Dependency或Abstraction类型,与表层级信息流对应)
- 脚本可批量处理现有依赖,还能设置触发事件(如新增表信息流时自动同步包依赖),避免手动维护错误。
方法3:矩阵与图表联动快速生成视图
- 先生成表层级依赖矩阵,切换矩阵展示层级为“包”(EA矩阵支持按父对象分组)。
- 选中矩阵中所有非空依赖单元格,右键选择「Add to Diagram」,直接将这些包依赖添加到新建的包图中,快速完成可视化。
注意事项
- 建立一致性校验机制:定期运行脚本检查表层级信息流与包层级依赖是否匹配,发现不一致时自动修正或告警。
- 优先使用官方API或内置功能,避免直接修改EA底层数据库,防止破坏项目文件结构。
内容的提问来源于stack exchange,提问作者dmeu
相关产品推荐
相关产品推荐

