修订控制系统中的UML

时间:2013-01-08 17:27:56

标签: version-control documentation uml

我理解项目文档是软件项目演变的一部分,有时与代码捆绑在一起(特别是在精益方法中)。这就是为什么我认为将它与修订控制系统中的代码(例如git,在我的情况下)中保持在一起可能是一个好主意。

Markdown似乎是一种广泛采用的工作解决方案,用于协作编辑文本文档。但是,当涉及到实体关系或序列图时,我不知道使用哪种格式/软件,因此它仍然可以进行差异和合并。

所以我的问题是:

  • 将代码和文档保存在同一个存储库中实际上是个好主意吗?
  • 如果是,您将使用哪种格式的图表?

我目前正在考虑一些textual UML diagramming tools,但我想知道您的意见。提前谢谢!

3 个答案:

答案 0 :(得分:3)

免责声明:我是EMF比较项目负责人

在Eclipse世界中,EMF Compare项目通过为任何类型的模型提供逻辑差异,合并和冲突检测来解决该问题(它具有用于UML模型和图表的specialization)。

它适用于XMI文件(但不限于此),并与Eclipse团队支持(CVS,SVN,尤其是GIT)集成,确保模型始终保持一致,即使它在多个文件中分割。

答案 1 :(得分:0)

关于谵妄的权利

基于公理

  

XML元数据交换(XMI)是一种OMG标准,用于描述以XML格式存储UML模型的结构。

如果您能够找到任何可以导出/导入XMI的工具(如Visual Paradigm for UML那样),您可以

  • 使用UML
  • 在SCM级别上存储,版本,处理XMI文件

答案 2 :(得分:0)

OMG为UML图定义了一种格式(http://www.omg.org/spec/UMLDI/),但我想它并没有被很多工具实现...... 实际上每个UML工具都有其内部图表,因此您的问题的解决方案将在很大程度上取决于所使用的技术。 如果模型和图表都以XML(XMI)格式形式化,就像基于Eclipse-EMF的工具Topcased或Together一样,我猜你可以直接在文件上使用GIT,或者像EMF Compare这样使用更高级的工具。 如果您使用其他类型的工具,例如RSx或Modelio,则他们拥有自己的控制版服务。