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


当前回答

我用gmodeler.com。它只做类图。

好东西

非常简单的功能集。伟大的UI。非常容易使用。 有吸引力的UI。 不需要登录/创建帐户 可以保存图表 免费的

不好的事情

难以合作——必须导出到xml(我不在乎) 不能从任何机器访问图表,因为它保存到您的浏览器(我不在乎) 不能导出为图像或pdf(我可以截屏) 不能为大多数语言生成代码 非常简单的功能集。(我不在乎) 每个类都有一个“事件”列表,我不需要,我不能摆脱。

其他回答

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

PlantUML是一个开源的Java标记语言到uml图工具,这里值得一提。它在可用性方面排名很高,因为它对各种图表和图表组件的语法很直观。

由于我通常将UML更多地用作通信工具而不是建模工具,因此有时需要稍微调整语言,这使得严格的建模工具相当笨拙。此外,他们往往会为偶尔的绘图花费大量的开销。这也意味着我不会给那些处理好往返建模的工具任何加分。考虑到这一点……

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

OmniGraffle也有一些内置的UML模板,在Graffletopia上也有更多,但我不建议把它作为一个绘图工具,因为它有太多的怪癖(怪癖对很多东西都有好处,但对UML没有好处)。免费试用,所以无论如何……:)

我一直在尝试MagicDraw,但虽然功能强大,但我发现用户界面让人分心。

否则,我发现topcase是一个有趣的项目(或一组项目)。上次我使用它,它仍然有一些错误,但它工作,似乎已经发展得很好。在任何支持eclipse的平台上都能很好地工作。畅所欲言,畅所欲言:)

至于绘图工具Dia,它相当丑陋(界面和结果图),但它确实完成了工作。一个有趣的免费建模工具是伞盖,但我并没有真正使用它。

我完全同意mashi的观点,白板很棒(还有数码相机或手机)。

可能我使用过的一些最好的工具都属于Rational工具家族。

您可以在Visual Studio 2010 Ultimate中创建UML类、序列、组件、用例和活动图。您可以将这些图链接到Team Foundation工作项,以便您可以计划并跟踪开发和测试工作。您还可以从代码中创建序列、依赖关系图和层图,并使用架构资源管理器浏览和探索您的解决方案。

我在个人资料上发布了更多的链接以获取更多信息。

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集成。