我正在尝试选择一个工具来创建各种类型的UML图。对我来说,可用性是一个主要的标准,但我仍然会以更陡峭的学习曲线获得更多的权力,并感到高兴。免费(就像啤酒一样)会很好,但如果工具值得的话,我愿意付钱。我应该用什么?


当前回答

一些背景:最近在研究生院,我为一个独立的项目研究了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工具列表

其他回答

我强烈推荐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软件。

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

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

Creately.com

为了我的简单和简短的UML工作, 我用过这个工具:

星联 - http://staruml.sourceforge.net/en/

很棒的免费UML绘图软件。


虽然最初的Star UML不再维护,但是现在有一个叫做White Star UML的分支正在积极开发。

如果你想在不学习复杂的新工具的情况下就开始使用UML,我建议你去看看Violet UML。我曾经用它取得过很大的成功。

我是Sparx Systems的企业架构师。一个非常全面的UML工具,价格非常合理。

非常强大的特性列表包括:集成项目管理,基线,导出/导入(包括导出到html),从模型生成文档,各种模板(Zachman, TOGAF等),IDE插件,代码生成(IDE插件可用于Visual Studio, Eclipse等),自动化API -列表还在继续。

哦,是的,不要忘记直接从工具内部(SVN、CVS、TFS和SCC)支持源代码控制。

我也会远离Visio——你只能得到图表,而不是模型。在UML建模工具的一个地方重命名一个类,然后在所有地方重命名。但在Visio中却不是这样!