序列图软件?

24

迄今为止,我一直在使用NClass进行对象/类建模。

然而,我不认为它能够制作序列图,这是我的下一个任务。

我不愿使用Visio。是否有一个好的免费软件解决方案来制作序列图?

10个回答

29

有一个相当酷的网站叫做www.websequencediagrams.com。我很难认真对待它,但它确实在我方面付出非常少的努力就能做出非常好的工作。


那个网站有点滑稽。 :) 说不定我最终会使用它来代替。 - bobber205
虽然我不想购买个人版,但我必须说这个网站非常酷。 - Adam Lewis
我已经厌倦了使用绘图工具来填充这个空白。拥有一个漂亮的基于DSL的工具是一个好主意! - Chris DaMour
1
我喜欢Web序列图的原因是你只需要描述组件之间的交互,它就会自动绘制出图表。而其他大多数产品都需要你手动绘制图表。虽然这看起来很小,但我认为它对于让你专注于目标非常重要。 - jayraynet
这是一个非常好的工具。我向我的所有办公室同事推荐了它,他们都转用了这个工具。 - Sanjay Kumar
这个工具几乎没有学习曲线。一旦我发现我可以将我的序列显示从默认的“手绘”外观更改,我真的很喜欢它。免费版本对我的需求来说有足够的功能。 - oddmeter

17

Quick Sequence Diagram Editor可能适合你的需求。语法很奇怪,但很容易学习。我喜欢它的原因是图表是使用文本文件指定的,这让我感到高兴,因为我不喜欢Visio和Rational工具使用的“纯视觉”方法。

官方网站上的示例可能看起来令人生畏,但实际上语法非常简单。以下是一个“hello world”的示例:

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


发现这非常有用 - 更喜欢 UML 序列语法而不是 Umlet。 - Andrew B
我可以验证这在Mac上运行良好,这是我的首选工具。它是跨平台的,因此如果您正在寻找一些长期性,因为在这些动荡时期从一个操作系统迁移到另一个操作系统,您不会失去对此格式的投资。 - Sridhar Sarnobat
我刚在Ubuntu 12上尝试了一下,效果也非常好。 - Sridhar Sarnobat
在Linux下也运行得很好! - slm
太棒了,谢谢!在Win7 x64上运行良好(只需使用已编译的jar文件)。 - Ondrej

13

绘制时序图最实用的方法。拖动箭头的麻烦已经结束B-) - Ratul Sharker

12
请查看 UMLet,这是一款 免费的快速 UML 图形工具,旨在快速绘制 UML 草图。

alt text
(来源:itmeyer.at


1
我非常喜欢Umlet,特别是考虑到它是免费的。序列图的一个好处是你可以“编程”它们而不必手绘,所有的东西都为你绘制出来了。 - JasCav
我不知道为什么以前从未听说过UMLet。免费,自我记录,可用。再见Umbrello。 - Adam Mackler

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的语言,这是类似于Markdown与HTML之间关系的Mscgen,并提供了genny2msc.jsmsc2genny.js脚本进行手动转换)

第二个叫做 msc-generator,我不确定它是否与 mscgen 有任何关系。语法相似但略有不同,并带有可选的编辑器界面。然而,它声称命令行兼容 mscgen,以便利用其集成插件。
它似乎没有出现在很多存储库中,但是我通过 Archlinux AUR 发现了它,并且它有一个 Windows 二进制安装程序。
最后一个是 UMLGraph。它具有基于 GNU pic2plot 宏的不太优雅的语法。(但是如果你喜欢的话,它也可以使用 Java 语法和 javadoc 标记混合绘制类图。)
UMLGraph 是一个 javadoc doclet,因此无需编译,但需要 javadoc 和 graphviz。存在 Fedora 和 openSUSE RPM,但我找不到任何 .deb 文件。

1
另外,由于某些人可能通过Google进入此页面会发现有用,我也可以提一下,如果NClass不适合您的任务,erd可以使用DSL绘制实体关系图。 - ssokolow

7

我通常使用以下三种工具:

  1. Netbeans UML插件 (免费且不错)
  2. Visual Paradigm UML (非常好用但不是免费的,你可以尝试申请免费的学术版本,但需要一些工作)
  3. Visio (我知道你不喜欢它,但它实用)

曾经有一个免费的Visual Paradigm社区版,你可能会找到并下载。 - ChadNC
在谷歌上搜索“Visual Paradigm Community Edition”,这是一个精简的免费版本。 - ChadNC
还有一个问题..我就喜欢将图表转化为代码的能力,所以我甚至没有考虑过这个。然而,社区版在所有内容上都会加上水印。 - monksy
Netbeans UML插件在最新版本的Netbeans(6.8)中是否仍然可用?维基似乎说它已经被撤下了http://wiki.netbeans.org/UML。 - matt b
如果你非常渴望使用Visio,那么可以尝试Libreoffice Draw。它的工作流程不太好看,但是它能发挥作用,而且是免费的。 - Adrian Lopez
PlantUML也很不错。 - arao6

2

2

Dia 是一款开源软件,可在 Windows 和 Linux 上运行。


1
对我而言,Papyrus是Eclipse的一个插件,是最好的之一,它遵循规范,在Youtube上有教程(请参见序列图视频)。
由于它集成在Eclipse中,您可以在代码附近使用它,还可以使用许多建模工具。

FYI,Eclipse Oxygen 时间框架中有一个努力使序列图变得更好的工作。 - CharlesRivet

0

Umbrello是一款相当全面的UML建模工具。但或许不幸的是,它只能在Linux上运行。不过,我曾经通过在Linux虚拟机中运行它来在Windows环境下使用它。因为虚拟机会出现在您的网络上(即使您没有物理网络),所以它可以通过网络共享共享您的文件系统和打印机,因此您可以相对无缝地使用它。然而,所有这些可能需要更多的努力,而且您应该考虑其他解决方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接