到目前为止,我一直在使用NClass进行类中的对象/类建模。
但是,我不相信它能够绘制序列图,这是我的下一个任务。
我宁愿不使用 Visio。是否有用于制作序列图的良好且免费的软件解决方案?
有一个很酷的www.websequencediagrams.com。我很难认真对待它,但它在我这方面付出的努力非常低。
快速序列图编辑器可能适合您的需求。语法很奇怪,但很容易学习。我喜欢它的一点是图表是使用文本文件指定的,这让我很高兴,因为我不喜欢 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()
看看UMLet,这是一个免费的 UML 工具,用于快速 UML 图,旨在快速绘制 UML。
(来源:itmeyer.at)
对我来说http://sequencediagram.org是最好的。而且它是免费的!
还有一些其他开源的、基于 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 所做的一切,如果你想要不兼容的语言扩展,你必须选择他们的Xù方言。)
...另外,mscgen_js 支持将 JSON 编码的 AST 作为输入或名为MsGenny的语言,该语言对应于 mscgen,就像 Markdown 对应于 HTML 一样,并提供手动转换的脚本genny2msc.js
)msc2genny.js
第二个叫做msc-generator,我不确定它是否与 mscgen 有任何关系。语法相似但略有不同,它有一个可选的编辑器 GUI。但是,它确实声称与 mscgen 的命令行兼容性是为了搭载其集成插件。
它似乎没有在尽可能多的存储库中,但我通过 Archlinux AUR 发现了它,它有一个 Windows 二进制安装程序。
最后一个是UMLGraph。它具有基于 GNU pic2plot 宏的不太优雅的语法。(但它也可以使用 Java 语法和 javadoc 标记的混合来绘制类图,如果这是你的事。)
UMLGraph 是一个 javadoc doclet,因此不需要编译,但它确实需要 javadoc 和 graphviz。存在 Fedora 和 openSUSE RPM,但我找不到任何.deb
s。
对我来说,我通常喜欢使用大约 3 种工具。
Dia是开源的,可在 Windows 和 Linux 上运行
DIA http://dia-installer.de/《直径图编辑器》
UMLet http://www.umlet.com/ “用于快速 UML 图的免费 UML 工具”
Gaphor http://gaphor.sourceforge.net/《Gaphor,UML建模的精髓》
对我来说,Papyrus 是一个最好的 Eclipse 插件,它遵循规范,youtube 上有教程(请参阅序列图视频)
而且由于它集成在 Eclipse 中,您可以在代码附近使用它,还可以使用很多建模工具。
Umbrello是一个相当全面的 UML 建模工具。也许不幸的是,它在 Linux 上运行。但是,我通过在 Linux 虚拟机中运行,在 Windows 环境中使用了它。由于 VM 在您的网络上显示为一台机器(即使您没有物理网络),它可以通过网络共享共享您的文件系统和打印机,因此您可以相当无缝地使用它。但是,所有这些都可能值得付出更多努力,您应该考虑其他解决方案。