我正在尝试选择一个工具来创建各种类型的UML图。对我来说,可用性是一个主要的标准,但我仍然会以更陡峭的学习曲线获得更多的权力,并感到高兴。免费(就像啤酒一样)会很好,但如果工具值得的话,我愿意付钱。我应该用什么?
为了我的简单和简短的UML工作, 我用过这个工具:
星联 - http://staruml.sourceforge.net/en/
很棒的免费UML绘图软件。
虽然最初的Star UML不再维护,但是现在有一个叫做White Star UML的分支正在积极开发。
我还没有找到一个顶级的免费UML图表工具,但是如果您对纯粹的图表感兴趣,而不是往返工程,我会选择Microsoft Visio。如果您想要完全的双向工程,Rational Rose。
维基百科上列出的UML工具可能也会派上用场。
你可能想看看ArgoUML。它不是我用过的最好的工具,但它是我见过的最好的免费工具之一。它有点慢,因为它是用Java编写的,但是它让您相对轻松地完成一些基本的UML图。
你可能想看看MagicDraw或UML的可视化范例。两者都提供了社区版本,当然,它们没有涵盖全部的功能范围,但是如果您只想创建图表而不生成代码或进行完整的往返工程,那么这些版本就足够了。
显然,如果你长期认真对待UML,你需要使用软件UML工具,就像其他答案中建议的那样,但我发现白板是UML制图的最佳工具之一,特别是在设计阶段,或者当你在探索不同的替代方案时。在我看来,没有什么比白板更能体现速度和灵活性了。如果你的身体搭配得当,它们也很适合合作。
我是Sparx Systems的企业架构师。一个非常全面的UML工具,价格非常合理。
非常强大的特性列表包括:集成项目管理,基线,导出/导入(包括导出到html),从模型生成文档,各种模板(Zachman, TOGAF等),IDE插件,代码生成(IDE插件可用于Visual Studio, Eclipse等),自动化API -列表还在继续。
哦,是的,不要忘记直接从工具内部(SVN、CVS、TFS和SCC)支持源代码控制。
我也会远离Visio——你只能得到图表,而不是模型。在UML建模工具的一个地方重命名一个类,然后在所有地方重命名。但在Visio中却不是这样!
由于我通常将UML更多地用作通信工具而不是建模工具,因此有时需要稍微调整语言,这使得严格的建模工具相当笨拙。此外,他们往往会为偶尔的绘图花费大量的开销。这也意味着我不会给那些处理好往返建模的工具任何加分。考虑到这一点……
当使用Visio时,我倾向于使用这些模板来满足我的UMLing需求(内置的那种糟糕)。这可能是因为我已经习惯了它,因为它是我目前任务中的主要绘图工具。
OmniGraffle也有一些内置的UML模板,在Graffletopia上也有更多,但我不建议把它作为一个绘图工具,因为它有太多的怪癖(怪癖对很多东西都有好处,但对UML没有好处)。免费试用,所以无论如何……:)
我一直在尝试MagicDraw,但虽然功能强大,但我发现用户界面让人分心。
否则,我发现topcase是一个有趣的项目(或一组项目)。上次我使用它,它仍然有一些错误,但它工作,似乎已经发展得很好。在任何支持eclipse的平台上都能很好地工作。畅所欲言,畅所欲言:)
至于绘图工具Dia,它相当丑陋(界面和结果图),但它确实完成了工作。一个有趣的免费建模工具是伞盖,但我并没有真正使用它。
我完全同意mashi的观点,白板很棒(还有数码相机或手机)。
可能我使用过的一些最好的工具都属于Rational工具家族。
尝试alt文本http://www.sparxsystems.com.au/images/products/logos/EA.png
但是,它不是免费的
它有惊人的功能。点击这里查看截图。
他们有alt文本http://www.sparxsystems.com.au/images/products/logos/MDGIntVS-268x73.png和alt文本http://www.sparxsystems.com.au/images/products/logos/MDGIntEclipse-223x73.pngtooo..
UML的可视化范例http://content.usa.visual-paradigm.com/websiteimages/images/products/vpuml60/vpumltitle.gif
我非常喜欢UML的Visual Paradigm,它非常强大,有免费的社区版和便宜的个人版。
Agilian http://content.usa.visual-paradigm.com/websiteimages/images/products/ag10/agtitle.gif
对于敏捷建模,还有Agilian,它更灵活,增加了额外的功能来支持智能板,也知道思维导图。
我最喜欢他们产品的一点是灵活性。我现在在工作中使用企业架构师,但我认为它不够聪明。我希望能够快速地对一些序列图进行头脑风暴,并让应用程序在后台保持我的模型是最新的,这是VPUML非常擅长的。
在我看来,它比Enterprise Architect好得多,尽管Enterprise Architect也是一个很棒的工具:)
看看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有用,而且对各种图表绘制任务都有用。它接受各种常用文件格式作为输入和输出。它叫yEd,值得一看
Rational和Together/J是最好的产品,但价格昂贵。
根据我的经验,我很喜欢Eclipse Omondo和Sparx Enterprise Architect。Omondo与Eclipse很好地集成了代码生成,并且有一种非常直观的感觉。然而,它与Java紧密相关。Sparx对于价格来说是一个很好的工具,但是缺少UML 2.0图的全部范围。
不要打扰波塞冬。它是错误的,臃肿的,并且在所有意图和目的上都不可用。
对于序列图,请尝试websequencediagrams.com。这是一个免费增值的产品(基本任务免费,高级功能付费),可以让你快速绘制出一个图表,而无需对线条和模板进行任何繁琐的操作。
Alice->Bob: Authentication Request note left of Bob: Bob thinks about it Bob->Alice: Authentication Response
一些背景:最近在研究生院,我为一个独立的项目研究了UML工具的可用性和UML理解。我还以当模特/建筑师为生。
之前的帖子有太多的答案而没有足够的问题。一个常见的误解是UML是关于创建图的。当然,图表很重要,但实际上您是在创建模型。以下是每个供应商的产品/解决方案在某些方面优于其他产品时应该回答的问题。注:列出的答案是我认为最好的,即使其他产品支持特定的功能或需求。
Are you modeling or drawing? (Drawing - ArgoUML, free implementations, and Visio) Will you be modeling in the future? (For basic modeling - Community editions of pay products) Do you want to formalize your modeling through profiles or meta-models? OCL? (Sparx, RSM, Visual Paradigm) Are you concerned about model portability, XMI support? (GenMyModel, Sparx, Visual Paradigm, Altova) Do you have an existing set of documents that you need to work with? (Depends on the documents) Would you want to generate code stubs or full functioning code?(GenMyModel, Visual Paradigm, Sparx, Altova) Do you need more mature processes such as use case management, pattern creation, asset creation, RUP integration, etc? (RSA/RSM/IBM Rational Products)
Detailed Examples: IBM Rational Software Architect did not implement UML 2.0 all the way when it comes to realizes type relationships when creating a UML profile, but Visual Paradigm and Sparx got it right. Ok, that was way too detailed, so a simpler example would be ArgoUML, which has no code generation features and focuses on drawing more than the modeling aspect of UML. Sparx and Visual Paradigm do UML really well and generate code well, however, hooking into project lifecycles and other process is where RSM/RSA is strong. Watch out for closed or product specific code generation processes or frameworks as you could end up stuck with that product.
这是一个直接的大脑转储,所以一些细节可能并不完美,但是,这应该提供了一个关于问题和解决方案的大致地图。
新-发现了一个很好的列表,许多UML工具的描述。Wiki UML工具列表
我将添加UMLet,我还没有尝试过,但已经在我的办公室选择开始做图表。 看起来很简单,图表并不性感,但就您可以绘制的图表类型而言,它似乎相当完整。似乎有很好的导出能力太(重要!),是灵活的可以支持自定义组件),可以作为Eclipse插件使用。
我不敢相信没有人提到NetBeans UML编辑器,它很棒,满足了我所有基于Java的UML需求。
这是在我测试了JDeveloper UML, ArgoUML和StarUML之后。
我强烈推荐BOUML。它是一个免费的UML建模应用程序,它:
is extremely fast (fastest UML tool ever created, check out benchmarks), has rock solid C++, Java, PHP and others import support, is multiplatform (Linux, Windows, other OSes), has a great SVG export support, which is important, because viewing large graphs in vector format, which scales fast in e.g. Firefox, is very convenient (you can quickly switch between "birds eye" view and class detail view), is full featured, impressively intensively developed (look at development history, it's hard to believe that such fast progress is possible). supports plugins, has modular architecture (this allows user contributions, looks like BOUML community is forming up)
相信我,没有更好的工具了。与BOUML相比,StarUML是一个弱智的海龟。ArgoUML根本不起作用。Dia是一个人机工程学^-1软件。
只是在这里抛出我的两个比特,但我发现ArgoUML非常有用。它需要一段时间来适应它,它有点bug(最后一次我检查它是在版本。29左右),但它工作得很好,一旦你习惯了它。它可以处理所有类型的UML图,这就是我喜欢它的原因。此外,它是由tigris制作的,与制作subclipse(用于Eclipse的SVN存储库插件)的人是同一批人。
您可以在Visual Studio 2010 Ultimate中创建UML类、序列、组件、用例和活动图。您可以将这些图链接到Team Foundation工作项,以便您可以计划并跟踪开发和测试工作。您还可以从代码中创建序列、依赖关系图和层图,并使用架构资源管理器浏览和探索您的解决方案。
我在个人资料上发布了更多的链接以获取更多信息。
如果你想在图级建模,并且有一个干净的元模型,新的Omondo构建允许MOF和UML图之间的实时同步。 每次我在图中改变一些东西和模型时,都能看到我的图和xmi实时同步,真是太棒了。最不可思议的是,模型同时也是元模型和MOF,因为所有东西都是同步的。在我看来,这是一个非常有力的新概念。
我还喜欢类图和模型中的Java代码注释和JPA支持。我不知道还有其他工具有这两个令人难以置信的功能!!
看看Sybase PowerDesigner
http://www.sybase.com/products/modelingdevelopment/powerdesigner
描述:
http://en.wikipedia.org/wiki/PowerDesigner
这是一个非常强大的工具,但价格也是如此!
我喜欢前面提到的VisualParadigm。它功能强大,易于使用,我认为它比其他工具更强大。
如果你需要一些简单、快速、简单(而且免费)的东西,有一个很好的工具叫UMLet——我强烈推荐这个。我已经尝试了许多UML图表工具,这是最简单的一个(它仍然允许做很好的图表)。这是我的选择:)
在我尝试了大多数其他免费工具后,TopCoder UML Tool为+1。 我的理由是:
1)该工具可以将UML图保存为人类可读的格式XMI,因此可以很容易地将文件提交给版本控制系统。
2)支持撤销/重做(这是我释放ArgoUML的原因)。
3)图表保存在一个文件中,与“工作区”或“项目”没有紧密联系。
StarUML也很好,尽管它很老了。不幸的是,它不再被开发/维护。
In my career I often needed to draw UML diagrams and generate Java code. I found MagicDraw most appealing and I'm a happy user. I think their licensing model is fair because it allows to pay for what you need. I prefer it to other products I used in my (distant) past: ArgoUML, Poseidon, Rational Rose, Dia. Be aware that my experiences on other products are obsolete and have maybe significantly improved or changed their licensing model. Maybe you should start with an open-source tool and decide later whether to spend some bucks.
使用MagicDraw,您可以通过从代码生成图表来记录您的代码。您也可以先建模,然后生成代码。它还可以很好地与多个ide集成。
我从1999年就开始研究UML标准,我可以告诉你Sparx Enterprise Architect不应该被认为是UML工具,因为它不符合UML 2规范。它的图表看起来像UML,但是属性的名称和它们指定的方式不遵循UML标准。MagicDraw和IBM RSA是目前市场上真正的UML工具。
我用gmodeler.com。它只做类图。
好东西
非常简单的功能集。伟大的UI。非常容易使用。 有吸引力的UI。 不需要登录/创建帐户 可以保存图表 免费的
不好的事情
难以合作——必须导出到xml(我不在乎) 不能从任何机器访问图表,因为它保存到您的浏览器(我不在乎) 不能导出为图像或pdf(我可以截屏) 不能为大多数语言生成代码 非常简单的功能集。(我不在乎) 每个类都有一个“事件”列表,我不需要,我不能摆脱。
我建议使用Pacestar UML Diagrammer。它可以帮助您快速、容易、灵活和普遍理解的符号生成UML 2.0图。
我在很多项目中使用了它,我很满意。而且它也不使用太多的内存和空间,只有6个月的硬盘。
我最喜欢的功能是,我可以从编辑器复制图表,并将它们粘贴到MS Word中……所以当我需要编辑一个特定的图表时,只要我点击它,它就会在编辑器中打开,关闭它,更新已经在MS Word文档中完成。