什么是最好的UML图表工具?

我试图select一个创build所有风格的UML图的工具。 可用性对我来说是一个主要的标准,但是我仍然会用更陡峭的学习曲线来获得更多的权力,并且会很开心。 免费(如啤酒)会很好,但如果这个工具值得的话,我愿意付钱。 我应该使用什么?

一些背景:最近在研究生院里,我研究了UML工具的可用性和一般UML理解的独立项目。 我也是模特/build筑师的生活。

以前的post有太多的答案,没有足够的问题。 一个常见的误解是UML是关于创build图表的。 当然,图表很重要,但是你真的在创build一个模型。 以下是应该回答的问题,因为每个供应商的产品/解决scheme都比别人做得更好。 注:列出的答案是我认为最好的,即使其他产品支持给定的function或需求。

  • 你是造型还是绘画? (绘图 – ArgoUML ,免费实现和Visio )
  • 你会在未来build模吗? (对于基本build模 – 付费产品的社区版本)
  • 你想通过configuration文件或元模型来正式build模吗? OCL? ( Sparx ,RSM, 视觉范式 )
  • 你关心模型可移植性,XMI支持吗? ( GenMyModel , Sparx , Visual Paradigm , Altova )
  • 你有没有一套你需要使用的文件? (取决于文件)
  • 你想要生成代码存根或全function的代码?( GenMyModel , Visual Paradigm , Sparx , Altova )
  • 您是否需要更成熟的stream程,如用例pipe理,模式创build,资产创build,RUP集成等? (RSA / RSM / IBM Rational产品)

详细示例:在创buildUML概要文件时,IBM Rational Software Architect并没有实现UML 2.0,但是Visual Paradigm和Sparx没有做到这一点。
好的,这太详细了,所以一个更简单的例子就是ArgoUML ,它没有代码生成function,并且比UML的build模方面更重要。
Sparx和Visual Paradigm确实很好地完成了UML并生成了代码,但是,与项目生命周期和其他过程挂钩的是RSM / RSA强大的地方。
注意封闭的或产品特定的代码生成过程或框架,因为您可能最终停留在该产品上。

这是一个直接的大脑转储,所以一些细节可能不完美,但是,这应该提供一个通用的地图,以探讨问题和解决scheme。

NEW – find许多具有描述的UML工具的很好的列表。 维基UML工具列表

只有序列图,请尝试websequencediagrams.com 。 这是一个免费的(基本任务,为高级function付费)产品,并且可以让您快速浏览一个图表,而不用在线和模具上大肆渲染。

 Alice-> Bob:authentication请求
请注意Bob的左边:Bob想想
 Bob-> Alice:身份validation响应

对我来说,它是Sparx Systems的Enterprise Architect。 非常合理的价格非常圆润的UML工具。

非常强大的function列表,包括:集成项目pipe理,基线,导出/导入(包括导出到html),从模型生成文档,各种模板(Zachman,TOGAF等),IDE插件,代码生成Visual Studio,Eclipse等),自动化API – 这个名单还在继续。

噢,不要忘了直接从工具(SVN,CVS,TFS和SCC)内部支持源代码控制。

我也会远离Visio – 你只能得到图表,而不是模型。 在UMLbuild模工具中重命名一个类,并在所有地方重命名。 Visio 不是这种情况!

对于我简单和短的UML工作,我已经使用这个工具:

StarUML – http://staruml.sourceforge.net/en/

伟大的免费软件为UML绘图。


虽然原来的Star UML不再维护,但现在有一个名为White Star UML的分支正在积极开发之中。

正如我通常更多地使用UML作为交stream工具而不是build模工具,我有时需要对语言进行一些调整,这使得严格的build模工具相当笨拙。 而且,偶尔的绘图往往会有很大的开销。 这也意味着我不会给工具来处理往返造型以及任何奖励积分。 考虑到这一点…

在使用Visio时 ,我倾向于使用这些模板来满足我的UMLing需求(内置的吸盘)。 这可能是我已经习惯了,因为它是我目前任务中的主要图表工具。

OmniGraffle也有一些内置的UML模板,而Graffletopia提供了更多的UML模板,但是我不推荐作为一个图表工具,因为它有太多的怪癖(对很多事情都好,而不是UML)。 免费试用,所以一定要… 🙂

我一直在尝试MagicDraw ,但function,我发现用户界面分心。

否则,我发现Topcased一个有趣的项目(或一组项目)。 最后我用它,它仍然有一些错误,但它的工作,似乎已经发展很好,因为。 在任何支持Eclipse的平台上工作良好。 免费在演讲和啤酒:)

至于图表工具Dia ,这是相当丑陋的(界面和结果图),但它确实完成了工作。 一个有趣的build模工具免费的替代品是Umbrello ,但我没有真正使用它很多。

我绝对同意mashi白板很棒(连同数码相机或手机)。

我使用的最好的工具可能有些属于Rational系列工具。

你可能正在寻找一个自动化的工具,会自动为你生成很多东西。 但是这里有一个免费的,通常function强大的图表工具,不仅适用于UML,而且适用于各种图表任务。 它接受作为input和输出到各种常用的文件格式。 这叫yEd, 值得一看

UML的视觉范式http://content.usa.visual-paradigm.com/websiteimageshttp://img.dovov.comproducts/vpuml60/vpumltitle.gif

我非常喜欢UML的Visual Paradigm它非常强大,并且有一个免费的Community Edition和便宜的个人版 。

Agilian http://content.usa.visual-paradigm.com/websiteimageshttp://img.dovov.comproducts/ag10/agtitle.gif

对于敏捷build模来说,还有更灵活一些的Agilian,增加了额外的function来支持智能板,并且也了解思维导图。

我最喜欢的产品是灵活性。 我现在在工作中使用Enterprise Architect,但是我认为它不够聪明。 我希望能够快速集思广益的一些顺序图,让应用程序使我的模型在后台保持最新状态,VPUML做的非常好。

在我看来,它比企业架构师好,虽然这是一个伟大的工具,以及:)

看看BOUML :多平台(QT),运行良好,支持协同工作。

BOUML是一个免费的UML 2工具箱(正在开发中),允许您使用C ++,Java,Idl,Php和Python指定和生成代码。

BOUML在Unix / Linux / Solaris,MacOS X(Power PC和Intel)和Windows下运行。

维基百科 :

4.23之前的版本是GPL授权的免费软件。 BOUML 5及更高版本是专有软件。

如果您希望走出门外,从事UML工作,而无需学习复杂的新工具,那么我会查看Violet UML 。 过去我用它取得了相当大的成功。

PlantUML是Java中的开放源代码语言到UML图工具,值得在这里提及。 由于其各种图表和图表组件的直观语法,它在可用性等级上排名很高。

Dia是一个可能的select。 这绝对不是最好的工具,但它是function性的。

来自Sparx系统的Enterprise Architect是我用过的最好的工具。 199美元(专业版)有点贵,但IMO是值得的。

我将添加我还没有尝试过的UMLet ,但是在我的办公室已经被选中开始做图表。
看起来很简单,图表不是很性感,但是对于你所能做的图表来说,看起来相当完整。 似乎也有很好的导出function(重要的!),灵活的可以支持自定义组件)并且可以用作Eclipse插件。

Astah UML (前JUDE)相当不错。

我一直没有find一stream的免费UML图表工具,但是如果你对纯图表感兴趣,而不是往返工程,我会用微软的Visio。 如果你想要完整的往返工程,Rational Rose。

维基百科上的这个UML工具列表也可能派上用场。

笔和纸。 如果您可以将扫描转换为vector格式,那么在进行小的修改时可能会有用。

你应该尝试Creately。 在浏览器中运行,可以进行团队协作。

支持序列图,类,ER,用例等工作很好,并有一个免费版本可用。

Creately.com

你也可以查看清醒图表的uml和其他types的图表。

别忘了yuml.me ,我喜欢它。

在我的练习中,我使用序列图编辑器 。 这真的是快速和有用的工具。 我不喜欢的一件事是商业产品,而不是免费的。

我喜欢之前提到的VisualParadigm。 它function强大且易于使用我认为它与其他工具相比具有最大的优势。

如果你需要简单,快速和简单(免费)的东西,那么有一个很好的工具叫做UMLet我强烈推荐这个 。 我已经尝试了许多UML图表工具,这是最简单的一个(它仍然允许做出很好的图表)。 这是我的select:)

很明显,如果你对UML认真对待,那么你需要使用类似于其他答案中提到的软件UML工具,但是我发现一个白板是用于UML绘图的最好的工具之一,特别是在devise时阶段,或者当你正在探索不同的select。 在我的脑海里,没有什么比速度/灵活性更胜一筹。 假设你在身体上搭配,他们也很适合协作。

在我看来, StarUML是最好的。

我不能相信没有人提到过NetBeans UML编辑器,这对我所有基于Java的UML需求都非常满意。

这之后我testing了JDeveloper UML,ArgoUML和StarUML。

我最近进行了一个民意调查“ 您使用的是什么UML工具 ?” 在我的博客。 NetBeans UML是最大的开源select,Enterprise Architect是最佳的商业select。

您可以在Visual Studio 2010 Ultimate中创buildUML类,序列,组件,用例和活动图。 您可以将这些图表链接到Team Foundation工作项目,以便您可以计划和跟踪开发和testing工作。 您还可以从代码创build序列,依赖关系图和层图,并使用体系结构浏览器浏览和浏览您的解决scheme。

我已经在我的个人资料上张贴了更多链接以获取更多信

你可能想看看MagicDraw或者UML的Visual Paradigm 。 两者都提供社区版本,当然,这些版本并不涵盖整个function范围,但如果您只想创build图表,而不生成代码或执行完整的往返工程,则可能已足够。

Rational和Together / J是最好的产品,但价格昂贵。

根据我的经验,我喜欢Eclipse Omondo和Sparx Enterprise Architect。 Omondo与Eclipse很好地集成,用于代码生成,并具有非常直观的感觉。 但是,它与Java紧密相关。 Sparx对于价格来说是一个很好的工具,但是缺乏全面的UML 2.0图表。

不要打扰波塞冬。 对于所有的意图和目的来说,它是越野车,臃肿和无法使用的。

对于序列图,您还可以尝试跟踪build模器 。 它不是免费的,但它有一个很好的界面,非常友好和高效。 你可以在任何平台上使用它。