高效的方法在Enterprise Architect中批量导入XMI

Dav*_*vid 6 optimization uml xmi enterprise-architect

我们的团队正在使用Enterprise Architect version 10SVN存储库.因为EAP文件大小很大(例如80 MB),我们将每个包导出为单独的XMI并存储到其中SVN.该EAP文件本身是一些里程碑后提交.问题是EAP在开发过程中将文件与co worker的工作同步,我们需要导入大量的XMI文件(例如总数可以是500个文件).

我知道一旦EAP文件更新,我们就可以使用Package Control - > Get All Latest.因此,此问题仅在并行开发期间发生.

我们使用键盘shorcuts进行如下导入:

  1. Ctrl+ Alt+ I(从XMI文件导入包)
  2. 选择要导入的文件名
  3. Alt+ I(导入)
  4. Enter (是)
  5. 重复步骤2到4,直到模块完成

但是,导入数百个文件仍然效率低下.

我检查过控件包是否有批量导入/导出.批量导入/导出在我明确硬编码时正在工作XMI Filename,但如果使用版本控制(批量导入/导出选项是灰色的),则选项不可用.

有没有更好的方法来同步EAPXMI文件?

baz*_*zza 4

EA中有一个脚本接口。您也许可以使用它来自动执行导入。我没有使用过它,但它可能相当不错。

我不确定我是否完全了解您的工作环境,但我有一些可能感兴趣的一般观点。如果您以不同的方式使用 EA(尤其是我下面的第一点),批量导入的需要可能会消失。

多人工作

首先,多人可以同时处理同一个 EAP 文件。EAP文件无非是一个Access数据库文件,EA使用锁定来阻止多人同时编辑同一个包。但您可以轻松地让多人同时在一个 EAP 文件中编辑不同的包。将 EAP 文件放在文件共享的某个位置是一个好方法。

内置修订控制

其次,EA可以直接与SVN(和其他版本控制系统)交互。看到这个。简而言之,您可以设置 EAP 文件,以便各个包(及其下面的所有内容)都受 SVN 控制。然后,您可以签出单个包,对其进行编辑,然后重新签入。或者实际上,您可以签出包下面的整个分支(包括本身由 SVN 控制的子包)。

EA 的底层是导入和导出 XMI 文件,并将它们签入和签出 SVN,而 EAP 文件始终是头版本。就像您手动执行的操作一样,但是是自动化的。鉴于您都可以使用同一个 EAP 文件,这是有道理的。您确实必须小心回滚 - 源自一个包的旧版本中的对象的链接可能指向不再存在的对象(但您可以查看导入日志错误以查看是否是这种情况)。这需要一些时间来适应,但效果很好。

还有内置的包基线功能 - 这可能就是您所需要的,并且工作得很好,特别是如果您都使用相同的 EAP 文件。

更大的数据库引擎

第三,您根本不需要有 EAP 文件。模型的数据库可以位于任何合适的数据库系统中(MySQL、SQL Server、Oracle 等)。因此,这为您提供了各种选项来扩展其使用方式、WAN/Internet 上的情况等。

简而言之,Sparx 对于如何在多工作环境中使用 EA 非常明智,并且值得利用这一点。