在企业架构师的项目之间移动图表

时间:2013-08-01 12:08:25

标签: enterprise-architect

我有一个包含多个图表(包含元素)的项目。我想关闭这个特定项目并将图表移动到其他更合适的项目中。

移动图表很简单。问题是,现在我必须手动查找此特定图表的所有相关元素,并将它们逐个移动到另一个项目。由于我在原始项目的所有图表中都有相当多的元素,因此这非常繁琐。

我想知道在EA中处理这样的重构是否更简单?

3 个答案:

答案 0 :(得分:5)

在开箱即用的EA中没有更简单的方法,没有。但是哪里有遗嘱就有办法。

首先,制作项目的副本。我所描述的解决方案将破坏其结构。

其次,创建一个空包并将图表移到那里。

第三,在Browserscript组中创建一个VBScript(工具 - 脚本)。称之为“收集图元素”。在编辑器中,使用以下内容替换已注释掉的otDiagram案例:

case otDiagram
    ' Code for when a diagram is selected
    dim theDiagram as EA.Diagram
    set theDiagram = Repository.GetTreeSelectedObject()
    dim dObj as EA.DiagramObject
    dim element as EA.Element
    for each dObj in theDiagram.DiagramObjects
        set element = Repository.GetElementByID(dObj.ElementID)
        element.PackageID = theDiagram.PackageID
        element.Update()
    next

此脚本遍历图表中显示的所有元素,并将它们移动到图表所在的包中。

通过右键单击包浏览器中的图表并选择“脚本 - 收集图表元素”来运行脚本。脚本完成后,您可能需要重新加载包(右键单击包浏览器中的包,选择Contents - Reload Current Package)。

最后,将软件包导出到XMI(右键单击软件包浏览器,选择Import / Export - Export Package to XMI File),然后将其导入目标项目。

答案 1 :(得分:0)

您还可以尝试将图表放入包中,然后将其导出到XML文件并从目标项目中导入。

答案 2 :(得分:-1)

这可能会有所帮助:

适用于第 15 版

项目 1 - 从哪里复制图表

  1. 在图表上按 Ctrl+A(全选)。
  2. 发布 -> 保存 -> 保存到剪贴板。

项目 2 - 图表的粘贴位置

  1. 创建一个空图。
  2. 右键单击(在空图上)-> 粘贴 -> 剪贴板中的图像

适用于第 10 版

项目 1 - 从哪里复制图表

  1. 在图表上按 Ctrl+A(全选)。
  2. 编辑 -> 项目剪贴板 -> 添加到项目剪贴板。

项目 2 - 图表的粘贴位置

  1. 创建一个空图。
  2. 编辑 -> 从剪贴板粘贴图像。

这会将图表复制为一个完整的图像(单个组件),我认为一旦将其粘贴到新项目中,您将无法更改图表的实际组件。