29

是否有任何好的工具或工具链允许从文本源文件创建 .svg 格式的 UML 图像?这个问题的原因是我想自动生成这些图像,以避免必须手动创建和更新这组图像。

4

9 回答 9

23

我在这里创建了一个接受文本模型描述作为输入的工具列表:

http://modeling-languages.com/uml-tools-textual-notations-define-uml-models/

于 2009-05-03T05:12:57.177 回答
13

PlantUML是一个很好的工具,可以将文本转换为标准化的 uml 图。

你有这个作为 confluenze 的插件

于 2012-09-20T07:08:36.753 回答
12

UMLGraph是一个用于从基于文本的描述生成 UML 图(主要是类图和序列图)的程序。它旨在与 java 源代码一起使用,但经过一些更改,C++ 样式的源代码也可以按照此博客条目的描述使用。

引用 UMLGraph 网站:

然后,GNU plotutils pic2plot程序可以处理序列图以创建 PNG、PNM、(伪)GIF、SVG、AI、Postscript、CGM、FIG、PCL、HPGL、Regis 或 TEK 绘图。

于 2008-10-11T23:45:13.020 回答
4

还有另一个称为JS 序列图的工具,允许从简单文本生成 UML 序列图。

它使用underscore.jsRaphaël构建图表。

它是经过简化的 BSD 许可的,源代码可在GitHub 上获得

于 2013-07-10T10:19:17.757 回答
2

我知道这是一个旧线程,但我仍然想分享一个我觉得非常有用且用户友好的工具:https ://www.websequencediagrams.com/

这是一个在线工具,可让您立即启动并运行。

它还具有各种开箱即用的漂亮布局。
这里有两个例子:

在此处输入图像描述

于 2014-09-07T05:42:31.967 回答
1

Enterprise Architect在从源代码(各种语言)以及数据库或其他来源自动创建图表方面做得很好。

于 2010-04-02T12:55:30.290 回答
1

对于序列图,我真的很喜欢 Mscgen。输入简单的文本格式,输出可爱的图表。

“Mscgen 是一个小程序,它解析消息序列图描述并生成 PNG、SVG、EPS 或服务器端图像映射 (ismaps) 作为输出” - http://www.mcternan.me.uk/mscgen/

例如表格的输入:

# MSC for some fictional process
msc {
  hscale = "2";

  a,b,c;

  a->b [ label = "ab()" ] ;
  b->c [ label = "bc(TRUE)"];
  c=>c [ label = "process(1)" ];
  c=>c [ label = "process(2)" ];
  ...;
  c=>c [ label = "process(n)" ];
  c=>c [ label = "process(END)" ];
  a<<=c [ label = "callback()"];
  ---  [ label = "If more to run", ID="*" ];
  a->a [ label = "next()"];
  a->c [ label = "ac1()\nac2()"];
  b<-c [ label = "cb(TRUE)"];
  b->b [ label = "stalled(...)"];
  a<-b [ label = "ab() = FALSE"];
}

产生如下输出:

虚构过程的序列图

于 2014-02-07T08:18:39.650 回答
0

免费的 UML 工具JUDE允许从 Java 源代码创建 UML 图。我不知道它是否适用于其他语言。

于 2008-10-11T23:11:19.563 回答
0

如果你喜欢 JS 序列图,你还应该看看UMLet,它有类似的前提(能够通过文本定义图表,类似于 graphviz 描述)并让工具找出图表和定位。

恕我直言,这种方法没有得到足够的宣传或牵引。完整的往返源分析很困难,而且在许多情况下,对于简单的设计对话或快速文档来说,“工作量太大”。企业工具中布局的复杂性使除了最大的文档之外的所有人都无法使用它们。敏捷遭受无文档的困扰,因为价格太高了。

出于这些原因,我希望看到更多工具采用这种方法。

于 2013-07-10T11:24:54.543 回答