鉴于项目中必须包含UML图表,您希望如何绘制它们? - 使用脚本 - 使用拖放 - 任何其他方便快捷的方法
我得到了很多回复。根据我们的项目要求,我决定使用工厂uml,因为我们发现很容易绘制UML图。我们对崇敬工程并不感兴趣。
答案 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模型,那么这很糟糕,但对于普通的图片,它就是完美的。
这种方法还允许您在这里和那里稍微放松一些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。
答案 6 :(得分:2)
如果涉及到许多开发人员,请在船上拍照。
如果只有我,我会从纸上开始,然后使用StarUML。它缺乏很多功能,但仍然很好。
答案 7 :(得分:2)
我在纸上画画并完成它们argouml http://argouml.tigris.org/
答案 8 :(得分:1)
http://www.smartdraw.com/specials/umldesign.asp
是UML的非常好的工具
答案 9 :(得分:1)
我倾向于使用yUML - 超级易用且易于访问(图表已创建并可在线参考)
答案 10 :(得分:1)
我使用 Visual Studio 2010 作为序列图。
答案 11 :(得分:1)
我认为这取决于建模应该有多广泛。如果它应该作为说明解释一些关键元素à绘图程序应该做得很好。我个人使用omnigraffle。
如果它应该是一个详细的模型,你可能最好生成(如果它是à类图)。我喜欢Visual Paradigm,但也听说过企业架构师的好东西(仅限Windows)。这些工具也非常适用于流程图。
我从不打扰序列图(我认为流程更清晰)所以我不知道哪种工具最适合。我认为VP和EA都可以处理这些问题。
关键是用法。如果用于澄清,绘图工具是完美的,您可以决定要包含多少杂乱。如果您需要所有细节,只需生成图表。