24

到目前为止,我一直在使用NClass进行类中的对象/类建模。

但是,我不相信它能够绘制序列图,这是我的下一个任务。

我宁愿不使用 Visio。是否有用于制作序列图的良好且免费的软件解决方案?

4

10 回答 10

29

有一个很酷的www.websequencediagrams.com。我很难认真对待它,但它在我这方面付出的努力非常低。

于 2009-11-16T17:28:00.123 回答
16

快速序列图编辑器可能适合您的需求。语法很奇怪,但很容易学习。我喜欢它的一点是图表是使用文本文件指定的,这让我很高兴,因为我不喜欢 Visio 和 Rational 工具使用的“纯视觉”方法。

官方网站上的示例可能看起来很吓人,但语法实际上非常简单。这是一个你好世界的例子。

hello_world.sd:

# Put all your Objects here
a:Application.java
c:Config.java

# Put all your Calls between objects here
a:c.readConfigFromFile()

hello_world.sd

于 2009-11-16T17:38:31.350 回答
12

看看UMLet,这是一个免费的 UML 工具,用于快速 UML 图,旨在快速绘制 UML。

替代文字
(来源:itmeyer.at

于 2009-11-16T17:45:32.850 回答
12

对我来说http://sequencediagram.org是最好的。而且它是免费的!

于 2017-06-13T16:53:04.643 回答
9

还有一些其他开源的、基于 DSL 的方法。

第一个(也是我推荐的)是mscgen

mscgen感觉就像用于序列图的graphviz ......一直到由 Doxygen 开箱即用地支持,并具有 Sphinx、AsciiDoc、LaTeX、Org-Mode、TWiki 和 JIRA 的集成插件)

它在 Debian、Ubuntu、Fedora、openSUSE、Gentoo、Archlinux AUR、FreeBSD FreshPorts、Macports、Homebrew 和 Cygwin 存储库中可用,Windows 二进制文件可从作者的网站获得。

还有mscgen_js,一个 GPLv3 许可的 JavaScript 端口,声称在任一方向上都与 C 版本的语法完美兼容。(它接受 mscgen 所做的一切,如果你想要不兼容的语言扩展,你必须选择他们的方言。)

...另外,mscgen_js 支持将 JSON 编码的 AST 作为输入或名为MsGenny的语言,该语言对应于 mscgen,就像 Markdown 对应于 HTML 一样,并提供手动转换的脚本genny2msc.jsmsc2genny.js

第二个叫做msc-generator,我不确定它是否与 mscgen 有任何关系。语法相似但略有不同,它有一个可选的编辑器 GUI。但是,它确实声称与 mscgen 的命令行兼容性是为了搭载其集成插件。

它似乎没有在尽可能多的存储库中,但我通过 Archlinux AUR 发现了它,它有一个 Windows 二进制安装程序。

最后一个是UMLGraph。它具有基于 GNU pic2plot 宏的不太优雅的语法。(但它也可以使用 Java 语法和 javadoc 标记的混合来绘制类图,如果这是你的事。)

UMLGraph 是一个 javadoc doclet,因此不需要编译,但它确实需要 javadoc 和 graphviz。存在 Fedora 和 openSUSE RPM,但我找不到任何.debs。

于 2015-02-26T14:34:49.637 回答
7

对我来说,我通常喜欢使用大约 3 种工具。

  1. Netbeans UML 插件(免费且不错)
  2. Visual Paradigm UML(它非常好,但它不是免费的,你可能可以获得免费的学术副本,但这需要一些工作
  3. Visio(我知道你说你不喜欢它,但它有效)
于 2009-11-16T17:27:27.910 回答
2

Dia是开源的,可在 Windows 和 Linux 上运行

于 2009-11-16T18:06:45.740 回答
2

DIA http://dia-installer.de/《直径图编辑器》

UMLet http://www.umlet.com/ “用于快速 UML 图的免费 UML 工具”

Gaphor http://gaphor.sourceforge.net/《Gaphor,UML建模的精髓》

于 2015-10-19T07:58:12.310 回答
1

对我来说,Papyrus 是一个最好的 Eclipse 插件,它遵循规范,youtube 上有教程(请参阅序列图视频

而且由于它集成在 Eclipse 中,您可以在代码附近使用它,还可以使用很多建模工具。

于 2017-03-12T14:48:29.343 回答
0

Umbrello是一个相当全面的 UML 建模工具。也许不幸的是,它在 Linux 上运行。但是,我通过在 Linux 虚拟机中运行,在 Windows 环境中使用了它。由于 VM 在您的网络上显示为一台机器(即使您没有物理网络),它可以通过网络共享共享您的文件系统和打印机,因此您可以相当无缝地使用它。但是,所有这些都可能值得付出更多努力,您应该考虑其他解决方案。

于 2009-11-16T17:53:38.587 回答