【发布时间】:2010-08-05 05:08:56
【问题描述】:
鉴于在您的项目中必须有 UML 图,您喜欢如何绘制它们? - 通过使用脚本 - 通过使用拖放 - 任何其他方便快捷的方法
我收到了很多回复。根据我们的项目要求,我决定使用植物 uml,因为我们发现绘制 UML 图非常容易。我们对逆向工程不太感兴趣。
【问题讨论】:
-
我喜欢将它们记在纸上,然后用我的平板扫描仪扫描它们。但是,这是一个维护和更新的麻烦:-)
标签: uml
鉴于在您的项目中必须有 UML 图,您喜欢如何绘制它们? - 通过使用脚本 - 通过使用拖放 - 任何其他方便快捷的方法
我收到了很多回复。根据我们的项目要求,我决定使用植物 uml,因为我们发现绘制 UML 图非常容易。我们对逆向工程不太感兴趣。
【问题讨论】:
标签: uml
PlantUML 是我最喜欢的方式。我只是发现所有这些图表都更容易使用简单的脚本来构建。 PlantUML 有点像图表的降价。
Eclipse 插件非常简洁,它可以实时更新,并从您的 java 代码自动生成图表。
还有 PlantUML 编辑器:https://code.google.com/p/plantumleditor/ 和 PlantUML QEditor:http://sourceforge.net/projects/plantumlqeditor/
独立的也很整洁。
您显然也可以从命令行简单地使用 PlantUML,它会解析一个文本文件并使用 graphviz 从中生成图表。
【讨论】:
如果你不想制作一个可以被各种工具阅读和理解的成熟的 UML 图,而只是一个看起来像 UML 的图片,我可以强烈推荐 @ 987654321@。
yEd 是一款免费(啤酒,而非语音)应用程序,可让您绘制任何类似图形的图表。它比我所知道的任何其他图表工具都快一个数量级且使用起来更简单,因为你只能用它制作图表。但仔细想想,几乎所有图表(例如 UML 中的图表)都是图表。
例如,yEd 有一个“UML 类”节点类型,它只是一个带有名称和两个多行文本字段(一个用于属性,一个用于字段)的矩形。如果你想从你的类图生成代码,或者如果你想在多个视图中呈现相同的 UML 模型,这太可怕了,但是对于普通的图片,它就是完美的。
这种方法还允许您在这里和那里稍微放松一些 UML 语法。例如,我喜欢在 int MyField 之类的 UML 类上编写我的字段和方法,而不是官方 UML 样式的 MyField: Integer,因为毕竟,这就是我用目标编程语言编写它的方式。 UML 纯粹主义者会惊恐地尖叫,但我想将设计传达给我的同行,而不是赢得语法比赛。
(注意:使用 yEd 制作非图形图表是可能的,但很痛苦。值得注意的是,UML 序列图并不适合。但是可以使用工具再次从文本中非常好地创建这些图表像 PlantUML 和 MSCgen,这反过来又吸了一个图形布局)
(注2:像这样推广这个工具我没有得到任何回报。我只是一个粉丝)
【讨论】:
任何其他方便快捷的方法
我个人使用过 NetBeans IDE 的插件。其他答案已经提出了一个很好的“独立”UML 编辑器列表。如果您的 IDE 有一个 UML 插件可以为您完成这项工作,我认为您应该喜欢它,因为在您修改它时任何可以与您的代码集成(即使不完美/完整)的东西都会派上用场。
用于 IDE 的 UML 插件
您的 IDE 应该具有可用于自动生成 UML 图的插件,然后您可以添加、删除和更正不适合您的内容。这种模式通常被插件称为“逆向工程”,即获取代码库并生成图表。
一些工具还可以将您在 UML 图中修改的内容同步到代码库中。
由于问题与 IDE/平台无关。
yUML(基于网络)
查看此在线工具http://yuml.me/diagram/scruffy/class/samples
注意:不会针对复杂的图表进行扩展,但可以方便地记录您的 StackOverflow 答案或快速的博客文章,例如 :)
【讨论】:
对于时序图,我使用WebSequenceDiagrams - yUML 的类似物。
【讨论】:
【讨论】:
我使用dia。它在 Windows 和 Linux 中运行良好,并且是 GNU。
【讨论】:
如果涉及到许多开发人员,请在船上拍照。
如果只有我,我从纸上开始,然后使用StarUML。它缺少很多功能,但仍然不错。
【讨论】:
我在纸上画画并完成它们 argouml http://argouml.tigris.org/
【讨论】:
http://www.smartdraw.com/specials/umldesign.asp
是非常好的 UML 工具
【讨论】:
我倾向于使用yUML - 超级好用且易于访问(图表已创建并可在线参考)
【讨论】:
我将 Visual Studio 2010 用于我的序列图。
【讨论】:
我认为这在一定程度上取决于建模的范围。如果它应该作为解释一些关键元素的插图,那么绘图程序应该可以。我个人为此使用omnigraffle。
如果它应该是一个详细的模型,你可能最好生成(如果它是一个类图)。我喜欢 Visual Paradigm,但也听说过有关企业架构师的好消息(仅限 Windows)。这些工具也非常适合流程图。
我从不关心序列图(我认为 à flow 更清晰),所以我不知道哪种工具最适合。我认为 VP 和 EA 都可以处理这些。
关键是使用。如果是为了澄清 à 绘图工具是完美的,你决定要包括多少杂乱。如果您需要所有详细信息,只需生成图表。
【讨论】: