我正在尝试选择一种工具来创建各种风格的UML图表。可用性对我来说是一个主要标准,但我仍然会以更陡峭的学习曲线获得更大的力量并且感到高兴。免费(如在啤酒中)会很好,但如果该工具值得,我愿意付钱。我该怎么用?
答案 0 :(得分:354)
一些背景:最近在研究生院,我研究了UML工具的可用性和UML理解,一般用于独立项目。我也以模特/建筑师为生。
之前的帖子答案太多而问题不够。一个常见的误解是UML是关于创建图表。当然,图表很重要,但实际上你正在创建一个模型。以下是应该回答的问题,因为每个供应商产品/解决方案都比其他产品更好。 注意:即使其他产品支持给定功能或需要,列出的答案也是我认为最好的。
详细示例:在创建UML配置文件时,IBM Rational Software Architect在实现类型关系方面没有实现UML 2.0,但Visual Paradigm和Sparx做得对。
好吧,这太详细了,所以一个更简单的例子是ArgoUML,它没有代码生成功能,而且专注于绘制UML的建模方面。
Sparx和Visual Paradigm非常好地运行UML并很好地生成代码,但是,挂钩到项目生命周期和其他进程是RSM / RSA强大的地方。
注意关闭或特定于产品的代码生成过程或框架,因为最终可能会遇到该产品。
这是一个直接的脑转储,所以一些细节可能并不完美,但是,这应该提供一个问题和解决方案的一般地图。
新 - 找到许多带有描述的UML工具的清单。 Wiki UML Tool List
答案 1 :(得分:100)
仅对于序列图,请尝试websequencediagrams.com。它是一个免费增值(免费用于基本任务,为高级功能付费)产品,让您快速敲出图表,而不用任何线条和模板。
Alice->Bob: Authentication Request note left of Bob: Bob thinks about it Bob->Alice: Authentication Response
答案 2 :(得分:46)
对我而言,它是Sparx Systems的Enterprise Architect。一个非常圆润的UML工具,价格非常合理。
非常强大的功能列表,包括:集成项目管理,基线,导出/导入(包括导出到html),从模型生成文档,各种模板(Zachman,TOGAF等),IDE插件,代码生成(使用IDE)可用于Visual Studio,Eclipse和其他的插件,自动化API - 列表继续。
哦,是的,不要忘记直接从工具内部(SVN,CVS,TFS和SCC)支持源控制。
我也会远离Visio - 你只获得图表,而不是模型。在UML建模工具中在一个位置重命名一个类,并在所有位置重命名。这是不在Visio中的情况!
答案 3 :(得分:45)
对于我的简单&简短的UML工作, 我用过这个工具:
StarUML - http://staruml.sourceforge.net/en/
用于UML绘图的优秀自由软件。
虽然不再维护原始的Star UML,但现在有一个名为White Star UML的分支,它正在积极开发中。
答案 4 :(得分:31)
由于我通常使用UML作为通信工具而不是建模工具,我有时需要稍微弯曲语言,这使得严格的建模工具非常难以处理。而且,偶尔绘制它们往往会有很大的开销。这也意味着我不会提供能够很好地处理往返建模的工具。考虑到这一点......
使用Visio时,我倾向于使用these模板来满足我的UML需求(内置的类型)。可能是我已经习惯了它,因为它是我当前任务的主要图表工具。
OmniGraffle内置了一些UML模板,Graffletopia还提供了更多模板,但我不建议将其作为图表工具,因为它有太多的怪癖(怪癖对许多人来说都很好)事情,但不是UML)。虽然免费试用,所以一定......:)
我一直在尝试MagicDraw,但在功能上,我发现用户界面分散了注意力。
否则我发现Topcased是一个有趣的项目(或项目组)。最后我使用它它仍然有一些错误,但它工作,似乎从那以后很好地发展。适用于任何支持Eclipse的平台。在演讲和啤酒中免费:)
至于图表工具Dia,它非常难看(界面和结果图纸),但它确实完成了工作。一个有趣的建模工具免费替代是Umbrello,但我还没有真正使用它。
我绝对同意mashi白板很棒(连同数码相机或手机)。
我使用的一些最好的工具可能属于Rational系列工具。
答案 5 :(得分:24)
您可能正在寻找能够自动为您生成大量内容的自动化工具。但这是一个免费的,通常功能强大的图表工具,不仅适用于UML,也适用于各种图表任务。它接受各种常用文件格式的输入和输出。它被称为yEd,它是worth a look
答案 6 :(得分:21)
我非常喜欢Visual Paradigm for UML它非常强大,并且还有免费的Community Edition和便宜Personal Edition。
Agilian http://content.usa.visual-paradigm.com/websiteimages/images/products/ag10/agtitle.gif
对于敏捷建模,还有Agilian,它更灵活,增加了支持智能板的额外功能,并且也了解思维导图。
我最喜欢他们产品的是灵活性。我现在正在使用Enterprise Architect,但我认为它不够聪明。我希望能够快速集体讨论一些序列图,让应用程序让我的模型在后台保持最新状态,VPUML在这方面做得非常好。
在我看来,它比Enterprise Architect更好,虽然这也是一个很好的工具:)
答案 7 :(得分:19)
看一下BOUML:多平台(QT),效果很好并支持协作工作。
BOUML是一个免费的UML 2工具箱(正在开发中),允许您使用C ++,Java,Idl,Php和Python指定和生成代码。
BOUML在Unix / Linux / Solaris,MacOS X(Power PC和Intel)和Windows下运行。
来自Wikipedia:
版本4.23之前的版本是根据GPL许可的免费软件。 BOUML 5及更高版本是专有软件。
答案 8 :(得分:18)
如果您想要开始使用UML而无需学习复杂的新工具,我会查看Violet UML。我过去曾用它取得了相当大的成功。
答案 9 :(得分:17)
PlantUML是Java中的开源标记语言到UML图工具,值得在此处提及。由于其对各种图表和图表组件的直观语法,它在可用性规模上排名很高。
答案 10 :(得分:14)
Dia是一种可能的选择。它绝对不是最好的工具,但功能齐全。
答案 11 :(得分:13)
答案 12 :(得分:13)
我将添加UMLet,我尚未尝试过,但已在我的办公室选择开始制作图表。
看起来很简单,图表并不性感,但就您可以做的图表而言,它似乎相当完整。似乎也具有良好的导出功能(重要!),灵活可以支持自定义组件)并且可以用作Eclipse插件。
答案 13 :(得分:11)
Astah UML(前JUDE)非常好。
答案 14 :(得分:10)
答案 15 :(得分:10)
我无法找到一流的免费UML图表工具,但如果您对纯图表感兴趣,而不是往返工程,我会选择Microsoft Visio。如果您想要完整的往返工程,Rational Rose。
维基百科上的这个list of UML tools也可以派上用场。
答案 16 :(得分:10)
笔和纸。如果您可以将扫描转换为矢量格式,那么在进行细微修改时可能会有用。
答案 17 :(得分:9)
您还可以查看Lucid Chart以了解uml和其他类型的图表。
答案 18 :(得分:8)
不要忘记yuml.me,我喜欢它。
答案 19 :(得分:4)
在我的练习中,我使用Sequence Diagram Editor。它是非常快速和有用的工具。我不喜欢的一件事是它是商业产品,而不是免费的。
答案 20 :(得分:4)
我喜欢此线程中之前提到的VisualParadigm。它功能强大且易于使用我认为与其他工具相比,它具有最强大的功能。
如果你需要简单,快捷,简单(免费)的东西,有一个很棒的工具叫UMLet - 我强烈推荐这个。我已经尝试了许多UML图表工具,这是最简单的(并且它仍然允许做出很好的图表)。这是我的选择:)
答案 21 :(得分:4)
答案 22 :(得分:3)
您可以在Visual Studio 2010 Ultimate中创建UML类,序列,组件,用例和活动图。您可以将这些图表链接到Team Foundation工作项,以便计划和跟踪开发和测试工作。您还可以从代码创建序列,依赖关系图和层图,并使用Architecture Explorer浏览和探索您的解决方案。
我在my profile上发布了更多信息以获取更多信息。
答案 23 :(得分:3)
显然,如果你认真对待UML,你需要使用像其他答案中建议的软件UML工具,但我发现白板是UML图表的最佳工具之一,尤其是在设计阶段,或者在探索不同的替代方案时。在我的脑海中,没有什么能比速度/灵活性更好的白板了。假设您在物理上并置,它们也非常适合协作。
答案 24 :(得分:3)
我最近进行了一项民意调查“What UML Tools do you use?”在我的博客中。 NetBeans UML是最佳的开源选择,而Enterprise Architect是最重要的商业选择。
答案 25 :(得分:3)
我无法相信没有人提到过NetBeans UML编辑器,它非常棒并且满足了我所有基于Java的UML要求。
在我测试了JDeveloper UML,ArgoUML和StarUML之后。
答案 26 :(得分:3)
在my opinion StarUML 是最好的。
答案 27 :(得分:2)
对于序列图,您还可以尝试Trace Modeler。它不是免费的,但它有一个很棒的界面,非常友好和高效。您可以在任何平台上使用它。
答案 28 :(得分:2)
您可能需要查看MagicDraw或Visual Paradigm for UML。两者都提供社区版本,当然,这些版本不会涵盖整个功能范围,但如果您只想创建图表而不生成代码或进行完整的往返工程,则可能就足够了。
答案 29 :(得分:2)
Rational和Together / J是最好的产品,但价格昂贵。
根据我的经验,我很喜欢Eclipse Omondo和Sparx Enterprise Architect。 Omondo很好地与Eclipse集成以生成代码,并且具有非常直观的感觉。但是,它与Java密切相关。 Sparx是一个很好的价格工具,但缺乏全系列的UML 2.0图表。
不要打扰波塞冬。所有意图和目的都是错误的,臃肿的和不可用的。
答案 30 :(得分:1)
您应该尝试Modelio Free Edition。 它支持UML2,BPMN,SOA和XMI。它使用简单,论坛非常活跃。
答案 31 :(得分:1)
自1999年以来,我一直在研究UML标准,并且可能会告诉您Sparx Enterprise Architect不应被视为UML工具,因为它不遵循UML 2规范。它的图表看起来像UML,但属性的名称和它们指定的方式不遵循UML标准。到目前为止,MagicDraw和IBM RSA是市场上真正的UML工具。
答案 32 :(得分:1)
尝试alt text http://www.sparxsystems.com.au/images/products/logos/EA.png
但是,它不是免费的
它具有惊人的功能..请在此处查看screenshots。
他们有alt text http://www.sparxsystems.com.au/images/products/logos/MDGIntVS-268x73.png和alt text http://www.sparxsystems.com.au/images/products/logos/MDGIntEclipse-223x73.png太......
答案 33 :(得分:1)
UML或Dia的Visual Paradigm是很好的选择
答案 34 :(得分:0)
我使用gmodeler.com。它只是做类图。
好东西
糟糕的事情
答案 35 :(得分:0)
我建议使用Pacestar UML Diagrammer。它可以帮助您生成UML 2.0图表快速,轻松,灵活以及通常理解的符号。
我在很多项目中都使用它,我非常满意。它也不会占用大量内存和空间,只需6 Mo的硬盘。
我最喜欢的功能是我可以从编辑器中复制图表并将它们粘贴到MS Word中...所以当我需要编辑特定的图表时,只需点击它就会打开它在编辑器中关闭它,更新已在MS Word文档中完成。
答案 36 :(得分:0)
在我的职业生涯中,我经常需要绘制UML图并生成Java代码。我发现MagicDraw最吸引人,我是一个快乐的用户。我认为他们的许可模式是公平的,因为它允许支付您所需的费用。我更喜欢在我过去使用的其他产品:ArgoUML,Poseidon,Rational Rose,Dia。请注意,我在其他产品上的经验已经过时,可能会显着改进或更改其许可模式。也许你应该从一个开源工具开始,然后决定是否要花一些钱。
使用MagicDraw,您可以通过从代码生成图表来记录代码。您也可以先建模,然后生成代码。它还与几个IDE很好地集成。
答案 37 :(得分:0)
为TopCoder UML工具+1 我的理由是:
1)该工具可以以人类可读的格式XMI保存UML图,因此可以轻松地将文件提供给版本控制系统。
2)支持Undo / Redo(这就是我已经解除了ArgoUML的原因)。
3)图表保存在一个文件中,与“工作区”或“项目”没有紧密联系。
StarUML也很好,虽然很老。不幸的是,它不再开发/维护了。
答案 38 :(得分:0)
我尝试过MagicDraw,它非常好,只有社区版。
此外,我尝试过omondo,它看起来很棒但是商业用途非常昂贵。
答案 39 :(得分:0)
我建议Software Ideas Modeler。它具有许多功能和直观的GUI。
答案 40 :(得分:0)
免费且易于使用。
答案 41 :(得分:0)
对于序列图,有基于免费java的Quick Sequence Diagram Editor。序列用文本编辑器编写,然后由QSDE引擎呈现。它导出各种矢量和位图文件格式。
答案 42 :(得分:0)
TopCoder UML Tool是一个非常好的免费UML工具。
答案 43 :(得分:0)
查看Sybase PowerDesigner
http://www.sybase.com/products/modelingdevelopment/powerdesigner
说明
http://en.wikipedia.org/wiki/PowerDesigner
这是一个变化强大的工具,但价格也是如此!
答案 44 :(得分:0)
如果你想在图层级建模并且还有一个干净的元模型,新的Omondo构建允许MOF和UML图之间的实时同步。 每次我在图表中更改某些内容并更改模型时,看到我的图表和xmi实时同步真是太棒了。最令人难以置信的是,该模型也是元模型和MOF,因为一切都是同步的。我的观点非常强大的新概念。
我也喜欢类图和模型中的Java代码注释和JPA支持。我不知道任何其他具有这两个令人难以置信的功能的工具!!
答案 45 :(得分:0)
在这里抛出我的两位,但我发现ArgoUML非常有用。它需要一点时间来适应它和它有点儿(我最后检查它是在版本.29左右)但它一旦你习惯了它就能很好地工作。它处理所有类型的UML图表,这就是我喜欢它的原因。此外,它由tigris制作,与制作subclipse的人一样,是Eclipse的SVN存储库插件。
答案 46 :(得分:0)
我强烈推荐 BOUML。它是一个免费的UML建模应用程序,其中:
相信我,没有更好的工具。与BOUML相比,StarUML是一只迟钝的乌龟。 ArgoUML根本不起作用。 Dia是一个符合人体工程学的^ -1软件。
答案 47 :(得分:0)
我将这个用于我的论文并且它设计得很好:也许它有太多的功能而不是very important但我更喜欢有一些uselee功能而不是没有一些有用的功能。
答案 48 :(得分:0)
如上所述,ArgoUML是UML 1.4的一个不错的工具,并且最近(2008年秋季)收到了一些急需的维护更新。
答案 49 :(得分:0)
您可能想查看ArgoUML。它不是我用过的最好的工具,但它是我见过的最好的免费工具之一。它有点慢,因为它是用Java编写的,但它让你可以相对轻松地做一些基本的UML图。