你是如何绘制UML图的?

时间:2010-08-05 05:08:57

标签: uml

鉴于项目中必须包含UML图表,您希望如何绘制它们? - 使用脚本 - 使用拖放 - 任何其他方便快捷的方法

我得到了很多回复。根据我们的项目要求,我决定使用工厂uml,因为我们发现很容易绘制UML图。我们对崇敬工程并不感兴趣。

12 个答案:

答案 0 :(得分:7)

PlantUML是我最喜欢的方式。我发现使用简单的脚本编写更容易构建所有这些图表。 PlantUML有点像图表的降价。

Eclipse插件非常简洁,它实时更新,并从您的java代码自动生成图表。

还有PlantUML编辑器:https://code.google.com/p/plantumleditor/ 和 PlantUML QEditor:http://sourceforge.net/projects/plantumlqeditor/

这很独立。

您显然也可以从命令行简单地使用PlantUML,它会解析文本文件并使用graphviz生成图表。

答案 1 :(得分:5)

  

任何其他方便快捷的方法

我个人使用过NetBeans IDE的插件。其他答案已经提出了一个很好的“独立”UML编辑器列表。如果您的IDE有一个为您完成工作的UML插件,我认为您应该支持它,因为在您修改它时,任何可以与您的代码集成(即使不完美/完整)派上用场。

IDE的UML插件

您的IDE应该有可用于自动生成 UML图表的插件,然后您可以添加,删除和更正不适合您的内容。这种模式通常被插件称为“逆向工程”,即获取代码库并生成图表。

某些工具还可以将您在UML图表中修改的内容同步到代码库中。

由于问题与IDE /平台无关,我无法给出具体细节。

yUML(基于网络)

请参阅此在线工具http://yuml.me/diagram/scruffy/class/samples

注意: 无法扩展复杂的图表,但仍然可以方便地记录您的StackOverflow答案,或者快速发布博客文章,例如:)

答案 2 :(得分:5)

如果您不想制作一个可以被各种工具读取和理解的完整UML图表,而只是一个看起来像UML的图片,我可以推荐{ {3}}。

yEd是一款免费(啤酒,非语音)应用程序,可让您绘制任何类似图形的图表。它比我知道的任何其他图表工具更快,更简单,因为你只能使用它制作图表。但是当你考虑它时,几乎所有的图表(例如在UML中)都是图形。

例如,yEd有一个“UML类”节点类型,它只是一个带有名称和两个多行文本字段的矩形(一个用于属性,一个用于字段)。如果你想从你的类图生成代码,或者你想在多个视图中呈现相同的UML模型,那么这很糟糕,但对于普通的图片,它就是完美的。

A fake UML diagram made with yEd

这种方法还允许您在这里和那里稍微放松一些UML语法。例如,我喜欢在像int MyField这样的UML类上编写我的字段和方法,而不是官方的UML风格的MyField: Integer,因为毕竟,这就是我在目标编程语言中编写它的方式。 UML纯粹主义者会惊恐地尖叫,但我想向同行传达设计,而不是赢得语法竞赛。

(注意:使用yEd制作非图形图表是可能的,但是很痛苦。值得注意的是,UML序列图不太合适。但是可以使用工具再次从文本创建 比如PlantUML和MSCgen,它反过来吮吸图形布局)

(注2:我没有像这样推广这个工具。我只是一个粉丝)

答案 3 :(得分:4)

对于顺序图,我使用WebSequenceDiagrams - yUML的模拟。

答案 4 :(得分:3)

答案 5 :(得分:3)

我使用dia。它在Windows和Linux中运行良好,是GNU。 enter image description here

答案 6 :(得分:2)

如果涉及到许多开发人员,请在船上拍照。

如果只有我,我会从纸上开始,然后使用StarUML。它缺乏很多功能,但仍然很好。

答案 7 :(得分:2)

我在纸上画画并完成它们argouml http://argouml.tigris.org/

答案 8 :(得分:1)

答案 9 :(得分:1)

我倾向于使用yUML - 超级易用且易于访问(图表已创建并可在线参考)

答案 10 :(得分:1)

我使用 Visual Studio 2010 作为序列图

答案 11 :(得分:1)

我认为这取决于建模应该有多广泛。如果它应该作为说明解释一些关键元素à绘图程序应该做得很好。我个人使用omnigraffle。

如果它应该是一个详细的模型,你可能最好生成(如果它是à类图)。我喜欢Visual Paradigm,但也听说过企业架构师的好东西(仅限Windows)。这些工具也非常适用于流程图。

我从不打扰序列图(我认为流程更清晰)所以我不知道哪种工具最适合。我认为VP和EA都可以处理这些问题。

关键是用法。如果用于澄清,绘图工具是完美的,您可以决定要包含多少杂乱。如果您需要所有细节,只需生成图表。