Uml XMI是否适合作为通过版本控制(SVN)开发Sparx EA模型的团队的文件格式?

Uml XMI是否适合作为通过版本控制(SVN)开发Sparx EA模型的团队的文件格式?,uml,enterprise-architect,Uml,Enterprise Architect,我考虑将Sparx企业架构师UML模型放在我们的SVN存储库中。.eap项目文件是一个大的二进制文件,这就是为什么不合适的原因,但是我可以通过XMI 2.1文件格式导出/导入,以文本文件的形式管理模型 2个问题: XMI方法是基于SVN源代码控制在团队中开发UML模型的好主意吗 我注意到每次导出到XMI文件都会完全更改所有XML标记中的所有ea_localid属性值,这似乎使我无法让共享基于XMI,因为这将导致巨大的不安差异。你知道吗 您只需将包置于svn版本控制之下。这样做将锁定所有软件包以供

我考虑将Sparx企业架构师UML模型放在我们的SVN存储库中。.eap项目文件是一个大的二进制文件,这就是为什么不合适的原因,但是我可以通过XMI 2.1文件格式导出/导入,以文本文件的形式管理模型

2个问题:

  • XMI方法是基于SVN源代码控制在团队中开发UML模型的好主意吗
  • 我注意到每次导出到XMI文件都会完全更改所有XML标记中的所有ea_localid属性值,这似乎使我无法让共享基于XMI,因为这将导致巨大的不安差异。你知道吗

  • 您只需将包置于svn版本控制之下。这样做将锁定所有软件包以供独占使用。因此,只有一个人可以签出包并对其进行更改,直到再次签入

    根据我个人的经验,我不建议使用这种方式,除非您的分布式系统具有糟糕的WLAN。在这种情况下,使用EA和版本控制是一种解决方案

    通常,您应该将存储库放在服务器上(MS SQL、MySQL、Postgres、Oracle等,EA或ODBC支持的任何内容)。然后打开EA安全性(这是一个误导性的名称,因为它对安全性没有任何帮助,只是防止意外删除)。然后设置“需要用户锁定以进行编辑”,则您处于保存状态。如果您需要更改某些内容,您需要将其锁定,完成后,您只需将锁返回即可。与此相反,VC不仅会使用中控锁,而且会用已签出的XMI替换完整的模型部件。这是缓慢的,可能会导致不想要的副作用(很难解释,但请相信我,我已经受伤不止一次)


    您所能做的是运行夜间脚本将模型(或单个包)导出到XMI,并将这些导出置于版本控制之下。这样,你就有了VC,而不会遇到直接VC带来的麻烦。相信我,签入评论在99%的情况下都是无用的,所以一个夜间快照就足够了。

    很遗憾听到EA这么多年来没有改进版本控制方法。例如,著名的库Qt也以XML格式保存其GUI描述文件(.ui),通过SVN合并这些文件上的并发更改非常有效,并且不需要锁。我设置了我的EA模型分支的SVN控制,非常不安,因为它会立即导致每个包都有许多单独的提交,我们的自动构建服务器运行了一整晚…:-(为什么不提交一个呢???我不明白,这让它对我有用。你的回答让我有了这样的洞察力,谢谢!好吧,Sparx的营销部门显然在版本6左右接管了。从那时起,开发只在一个又一个功能上投入,没有修复bug或改进基本功能。生活很糟糕:-(注意:在SVN为我工作之前,我必须做这个重要的技巧:这个问题的第一部分的可能重复是的重复。第二部分应该是它自己的问题。