StarUML 5 and SVN



我想用一个SVN存储库来跟踪我的UML图。我有一个StartUML项目,我在其中绘制了几个描述我的软件项目的需求和体系结构的图,并且我想管理和跟踪每个图的更改。我想知道如果有一种方法来管理和版本与SVN StartUML图。我非常感谢任何关于如何在StarUML项目中使用SVN这样的版本控制系统的帮助或建议。多谢。

像SVN和GIT这样的源代码管理系统被设计用来管理和跟踪文本文件的更改。它们对于二进制文件的效率要低得多。

幸运的是,StartUML使用.MDJ格式将模型存储在一个文件中,该文件似乎是纯JSON文本格式。因此,只要源代码管理系统扫描MDJ扩展名(如果文件存储在跟踪的存储库中并且提交了它),它就会像监视其他源代码文件一样监视对JSON文件的更改:

  • 更改被有效地存储。
  • 你可以在版本之间进行更改,就像你在正常源文件的版本之间导航一样。你只需要在StartUML中关闭模型,然后重新加载。
  • 如果你掌握了JSON格式,你可以执行git责备来查看哪一行来自哪个提交。你甚至可以管理合并冲突,但是,只有当你熟练使用JSON;-)

不幸的是,您对跟踪文件的布局没有太多的控制:小的视觉更改可能导致大量的行更改。此外,除非您成功地提取了对应于单独文件中单独图的每个JSON部分,否则将在模型级别跟踪更改。

该工具似乎提供了片段导出/导入功能,该功能允许手动选择模型元素/图以单独保存在单独的文件中。然而,它似乎不适合系统地跟踪图表更改,因为它依赖于用户的额外操作,这很容易被遗忘。在这方面,不可靠的版本控制比根本没有版本控制更糟糕。

如果你想让事情处于更严格的控制之下,你可以使用"模型作为代码"的方法,并使用像plantuml这样的工具来编写你的图表,就像你对代码所做的那样,将相关的项目分组在一起,并为单独的图表提供单独的(人类可读的)文件,并让工具基于文本生成图表(你不会对与渲染相对应的二进制文件进行版本化;只有文本文件)。

最新更新