我正在尝试选择一种用于创建各种类型 UML 图的工具。对我来说,易用性是一个主要标准,但如果需要更强大的功能需要付出更高学习曲线,我也很愿意接受。如果这个工具值得,那么它可以是免费的,但如果需要,我也愿意支付费用。我应该使用什么工具呢?
我正在尝试选择一种用于创建各种类型 UML 图的工具。对我来说,易用性是一个主要标准,但如果需要更强大的功能需要付出更高学习曲线,我也很愿意接受。如果这个工具值得,那么它可以是免费的,但如果需要,我也愿意支付费用。我应该使用什么工具呢?
一些背景信息:最近我在研究UML工具的可用性以及独立项目中的UML理解。我也是一个模型/架构师。
之前的帖子答案太多,问题不够明确。一个常见的误解是认为UML只是创建图表。当然,图表很重要,但你实际上是在创建一个模型。以下是每个供应商产品/解决方案应该回答的问题,因为每个产品都有其擅长的方面。注意:即使其他产品支持某个特定功能或需求,下面列出的答案仍是我认为最好的。
详细示例:IBM Rational Software Architect 在创建 UML 配置文件时没有完全实现 UML 2.0 中的实现类型关系,但 Visual Paradigm 和 Sparx 做得很好。
好吧,那太详细了,所以一个更简单的例子是ArgoUML,它没有代码生成功能,重点是绘图而不是 UML 的建模方面。
Sparx 和 Visual Paradigm 做 UML 很好并且生成代码很好,但是 RSM/RSA 在项目生命周期和其他流程中的集成方面很强大。
要注意闭源或特定产品的代码生成过程或框架,因为您可能会被困在该产品中。
这只是一个直接的脑力倾泻,因此一些细节可能不完美,但这应该提供了一个问题和解决方案的概要地图。
新 - 找到了一个包含许多 UML 工具描述的好列表。Wiki UML Tool List
如果只是需要绘制序列图,可以尝试使用websequencediagrams.com。这是一款免费的产品(基本功能免费,高级功能付费),它可以让你快速地绘制出一个图示,而不需要费心地去画线和模板。
Alice->Bob: 认证请求 note left of Bob: Bob思考一下 Bob->Alice: 认证响应
对于我来说,Sparx Systems的Enterprise Architect是一个非常全面的UML工具,价格也非常合理。
其功能列表非常强大,包括:集成项目管理、base-lining、导入/导出(包括导出到HTML)、从模型生成文档、各种模板(Zachman、TOGAF等)、IDE插件、代码生成(可用于Visual Studio、Eclipse和其他IDE插件)、自动化API等等。
哦对了,不要忘记它直接支持源代码控制(SVN、CVS、TFS和SCC)。
我还建议不要使用Visio - 它只提供图表而不是模型。在UML建模工具中的一个地方重命名一个类,你会在所有地方都进行重命名操作。但是在Visio中不是这样的!
为了我的简单而短暂的UML工作,我使用了这个工具:
StarUML - http://staruml.sourceforge.net/en/
非常棒的免费UML绘图软件。
虽然原版Star UML已经不再维护,但现在有一个叫做White Star UML的分支,正在积极开发中。
由于我通常更把UML作为一种沟通工具而非建模工具,因此有时需要对这种语言进行一些调整,这使得严格的建模工具变得不易掌握。此外,这些工具往往存在大量的开销,仅用于偶尔的绘图。这也意味着我不会给能够处理往返建模的工具任何额外的加分。基于这一点...
使用Visio时,我倾向于使用这些画板来满足我的UML需求(内置的那种不太好用)。可能是因为它是我当前工作任务中的主要绘图工具,所以我已经习惯了它。
OmniGraffle也内置了一些UML画板,并且在Graffletopia上提供了更多选择,但我不建议将其作为绘图工具,因为它有太多古怪之处(虽然这些特性对许多事情都很有帮助,但对UML不适用)。但是,它提供了免费试用版,所以可以尝试一下... :)
我曾经尝试使用MagicDraw,虽然它功能齐全,但我发现其用户界面会让人分心。
另外,我认为Topcased是一个有趣的项目(或者说由多个项目组成的集合)。上次我使用它时还存在一些漏洞,但它能够工作,并且似乎自那时以来已经得到了良好的发展。它在任何启用Eclipse的平台上都表现出色。它是属于自由软件和免费的 :)
关于绘图工具Dia,它的界面和所绘制的图形都相当丑陋,但确实能够完成任务。一个有趣的建模工具免费替代品是Umbrello,但我没有真正地使用过它。你可能正在寻找一个自动化工具,可以自动生成很多东西。但是这里有一个免费的、通常功能强大的图表工具,不仅适用于UML,还适用于各种类型的图表任务。它接受各种常用文件格式作为输入和输出。它被称为yEd,它值得一试。
我非常喜欢Visual Paradigm for UML,它功能强大,有免费的社区版和便宜的个人版。
Agilian http://content.usa.visual-paradigm.com/websiteimages/images/products/ag10/agtitle.gif
对于敏捷建模,还有Agilian。它更加灵活,增加了额外的功能来支持智能白板和思维导图。
我最喜欢他们产品的灵活性。我现在在工作中使用Enterprise Architect,但我认为它不够智能。我想要能够快速地进行一些顺序图头脑风暴,并让应用程序在后台保持我的模型最新,这是VPUML非常擅长的。
在我看来,它比Enterprise Architect要好得多,尽管后者也是一个很棒的工具 :)
如果你想要立刻开始使用UML而不必学习一个复杂的新工具,我建议你尝试 Violet UML。我以前用过,效果非常好。