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


当前回答

在我尝试了大多数其他免费工具后,TopCoder UML Tool为+1。 我的理由是:

1)该工具可以将UML图保存为人类可读的格式XMI,因此可以很容易地将文件提交给版本控制系统。

2)支持撤销/重做(这是我释放ArgoUML的原因)。

3)图表保存在一个文件中,与“工作区”或“项目”没有紧密联系。

StarUML也很好,尽管它很老了。不幸的是,它不再被开发/维护。

其他回答

我从1999年就开始研究UML标准,我可以告诉你Sparx Enterprise Architect不应该被认为是UML工具,因为它不符合UML 2规范。它的图表看起来像UML,但是属性的名称和它们指定的方式不遵循UML标准。MagicDraw和IBM RSA是目前市场上真正的UML工具。

只是在这里抛出我的两个比特,但我发现ArgoUML非常有用。它需要一段时间来适应它,它有点bug(最后一次我检查它是在版本。29左右),但它工作得很好,一旦你习惯了它。它可以处理所有类型的UML图,这就是我喜欢它的原因。此外,它是由tigris制作的,与制作subclipse(用于Eclipse的SVN存储库插件)的人是同一批人。

我不敢相信没有人提到NetBeans UML编辑器,它很棒,满足了我所有基于Java的UML需求。

这是在我测试了JDeveloper UML, ArgoUML和StarUML之后。

对于序列图,请尝试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工具列表