有问题?

分类
< 所有主题

UML 工具精选列表 – 2022 年版

原文:https://modeling-languages.com/uml-tools/

确实有数百种 UML 工具。因此,甚至无法尝试在它们之间寻找任何完整的比较。相反,我的目标是为您提供指向最相关工具的链接(至少在我看来),这些工具分为许多不同的类别。我还维护了一个twitter 列表,其中列出了可能对您的搜索有用的 UML/建模工具。

但在我们开始之前,让我在选择 UML2 工具时给您一些建议:仔细考虑您需要该工具的用途!没有一种适合所有 UML 工具的尺寸。具有强大代码生成能力的 UML 工具可能无法提供良好的协作建模环境,或者过于严格而无法在开发过程的早期阶段用于绘制一些非正式模型。

在此警告之后,让我们从我们的 UML 工具列表开始(请记住,如果您感到不知所措并需要一些 UML 专业帮助,您可以随时查看我们的 咨询服务)。没有万能的 UML2 工具。仔细考虑您需要该工具的用途(文档?、代码生成?、早期设计?…),然后寻找在这方面表现出色的工具点击推文

内容[隐藏]

在此处投放广告

我的五个通用 UML 工具

没有特别的顺序,这些是我首先开始检查的五个工具。我已经“玩过”并喜欢所有这些

  • MagicDraw:我喜欢 MagicDraw 的可用性。但我更喜欢它强大的UML 执行和模拟能力。NoMagic(MagicDraw 背后的公司)最近被 Dassault Systems 收购 。因此,我们可以期待 MagicDraw 在系统工程建模方面变得更好。
  • papyrus UML。它是Eclipse环境 中“事实上的”UML 建模工具。免费和开源,如果您是 Eclipse 用户或需要将您的建模工具与其他基于 Eclipse 的工具集成为完整开发管道的一部分,它是您的首选工具。虽然 Papyrus 肯定不是最简单和最直观的工具,但它正在努力调整其界面以适应用户配置文件和需求(例如,参见用于信息建模的 Papyrus 或用于实时专业化的 Papyrus)。
  • modelio 一个非常强大的工具,组织为核心开源建模器,可通过modelio 商店中提供的高级(主要是商业)模块进行扩展。这使您可以适应和发展您的建模需求。例如,您可以从免费为系统建模开始,然后决定购买一个扩展,以便能够在 C# 中自动生成其实现。
  • ArgoUML。好吧,现在你会认为我疯了。是的,我同意,ArgoUML 是您见过的最丑陋的 UML 工具之一,并且在过去几年中根本没有更新。但是 ArgoUML 在“感性的 UML 工具”类别中赢得了所有这些奖项。这是我使用的第一个 UML 工具,在基本上没有免费/开源 UML 工具可用的时候,他们做得非常好。我相信 ArgoUML 值得称赞!
  • StarUML: 如果Grady Booch自己认可它(见下文),StarUML 必须进入前 5 名。如果您正在寻找一种快速、易于使用、简单且价格合理的 UML 建模工具,这是您的最佳选择. 还可以使用较旧的开源分支:WhiteStarUML

顺便说一句,如果我不是那么感性(正如我上面所说,ArgoUML 上榜的唯一原因),Enterprise Architect也将排在前 5 名。它也是一个更强调信息/业务/的出色工具战略建模方面比其他方面。

文本 UML 工具

有时,旧的纯文本会胜过漂亮的酷图形。如果您认为图形 UML 编辑器太慢或太麻烦,有很多文本 UML 工具可用(其中一些相当成功)。

所有文本 UML 工具都提供某种(大部分)简单的语言来描述您的 UML 类、序列、活动……图。您可以使用此文本 UML 描述来存储和比较您的模型,但您仍然可以可视化结果图,因为它们都可以根据其文本描述自动显示相应的图形 UML 图。

想知道更多?请参阅我们的文本建模工具的完整列表

可执行的 UML 工具

可执行 UML(查看新的可执行 UML 标准fuml 和 Alf)旨在定义具有足够精确的行为规范以有效执行的 UML 模型。在其最纯粹的状态下,可执行 UML 消除了对软件系统进行编程的需要。

现在有几个可执行的 UML 工具
可用。查看我们迄今为止发现的可执行 UML 工具的完整列表!

在线 UML 工具

基于 Web 的 UML 工具是 UML 工具领域中增长最快的市场。并不奇怪,我们在任何地方都看到了相同的趋势(例如基于云的编程 IDE)。

为了跟上这个 UML 工具领域出现的新工具的步伐,我们有一个专门的页面来介绍顶级的在线 UML 建模工具(还包括用于 ER 和 BPMN 图的基于 Web 的工具)

Eclipse UML 工具

Eclipse 用户有 Papyrus(上面提到过)来定义 UML、SysML、……模型。但也有其他不错的选择。特别提到使用Sirius构建的UML 设计器(用于创建您自己的自定义建模环境的框架)。

您可以找到其他与 Eclipse UML2 兼容的工具(但请注意该列表已过时)。

免费和开源的 UML 工具

如果您只对免费/开源 UML 工具感兴趣,那么您很幸运!上面提到的许多工具都是开源的,或者至少有一个免费计划。价格不是不学习 UML 的借口!

如果您需要更多建议,我会再给您一个。试试UMLet

用于 Python 的 UML 工具

当您处理 Python 项目时,是否特别指出了 UML 工具?(都在 UML 到 Python 和 Python 到 UML 方向)。是和否。

是的,因为在某些时候,有很多工具专注于使 UML 和 Python 协同工作,但不是因为,正如您所看到的,它们中的大多数已经被长期抛弃(尽管有些仍然有些可用):

  • PyNSource:将 python 源代码逆向工程为 UML。生成的 UML 类图可以显示为 ASCII Art 或更典型的图形形式。在僵尸状态几年后,我们刚刚在 2019 年看到了一个新的改进版本。
  • PyUML是一个开源 Eclipse 插件,提供 UML 和 Python 之间的往返工程。UML 支持仅限于类图,并且代码生成功能是简单的类到类(或接口到接口)的转换。2009 年最后一次发布
  • Epydoc:从 python 代码生成 UML 文档(2008 年最后一个版本)
  • 块状。从正在运行的 Python 程序生成 UML 图(当前是对象和类图)的 Python 模块。它类似于图形调试器,因为它生成运行程序状态的可视化,但它与调试器不同,它试图生成兼容的高级可视化(至少在精神上) ) 使用标准 UML
  • ObjectDomain  (支持 Python 正向和反向工程的商业工具)和 argoUML-python之类的其他工具似乎已经不存在了。
  • GraphModels (django-command-extensions)为指定的应用程序名称创建一个类似 UML 的 GraphViz 点文件。2009 年的最新版本。
  • Pylint   (Python静态代码分析工具)中包含的Pyreverse分析Python代码并提取UML类图和包依赖关系
  • pywebuml使用 graphviz 创建一个 UML 类图来表示您的 python(以及 Java 和 C#)代码。2012 年的最新版本。
  • uml-to-django从 UML 类图中 自动生成Django模型和管理界面。我自己的 UMLtoDjango服务有一个非常相似的工具,专注于从简单的类图为 Django 自动生成 CRUD 接口。

尽管如此,如果 UML-to-python(和 python-to-UML)的市场显然服务不足,至少我们有一些通用的 UML 工具,包括对 Python 的一些正向和逆向工程支持,如Enterprise Architect  (源代码往返) 、Visual Paradigm(从类图生成 Python 代码)或GenMyModel  (Python 的模型到文本转换模板)。没有什么真正壮观的,但足以为您节省一些时间。

奇怪的是,Python 确实被用来自己构建建模工具。请参阅PyEcore ,一个用 Python 或Sismic编写的建模框架 ,一个用于状态图执行、验证和测试的开源 Python API。

上一个 IT帮布道第二季:帮学课堂(已结束)
下一个 密码保护:IT战略管理的六个阶段
目录