如何从现有的Ruby代码生成UML图?

任何人都可以为Ruby和Ruby on Rails推荐一些优秀的UML /建模工具吗? 从UML图生成代码以及从现有代码生成图表会很不错。

检查“ 用于Ruby的UML工具 ”(即从UML图生成一些Ruby代码的工具,或者反过来,从Ruby代码生成一些UML图的工具。)

你对“Ruby”是什么意思? UML与语言无关。

根据您的评论 – UML是一种通用的,与语言无关的模型。 它被设计(根据我的理解)在选择实现语言之前使用,因此并非所有UML元素都具有所有语言中的对应元素(例如,Ruby中的接口)。 但是,这并不意味着您无法制作UML模型并实现他们在Ruby中描述的系统。

我建议StarUML满足所有UML需求。

Visual Paradigm是一个Mac应用程序,将为您执行此操作。

有些OT,但我发现的最好的UML工具叫做Enterprise Architect – 它是一个Windows应用程序,基本许可证的成本约为130美元。 它不做Ruby,但它确实做Java,C ++和许多其他语言,包括完整的数据库到SQL,包括生成和逆向工程。 值得一看。

原始的Railroad gem仅适用于Rails v2及之前版本。 如果您使用的是Rails 3,请改用RailRoady gem 。 (另请参阅github上的README。)

您是否想要一个将UML转换为ruby代码的工具?

我不认为现在有任何东西。 但它是一个非常好的应用理念:)

我找到了ruby-uml

通过跟踪应用程序的运行来生成uml图,以便对现有应用程序进行分析,并为重构提供支持。

我知道我迟到了这个消息,但是我觉得我有一些东西需要补充。

Uml(类图)不适用于动态类型语言。 我不是在谈论特定语言结构的特定情况,而是更基本的东西。

在ruby中,变量没有任何类型。 在UML中,我们创建类型之间的关联。

Ruby使用duck-typing。 Duck-typing可以很容易地映射到实现某个接口的类。 但是,由于所有类都是自包含的并且彼此完全分离,所以我喜欢将每个ruby类视为一个组件。

我创建了一个你可以查看的rubygem工具。 这样做有点挑战,而且它还不能很好地工作,但它允许提取Ruby代码(不是Rails,Rails模型打字的,因为它们被映射到数据库。它们甚至有关联的基数)和从中生成uml图表。 https://github.com/mikaa123/umlify

Railroad为Rails应用程序生成UML类图,包括模型和控制器,您可能需要查看http://railroad.rubyforge.org/

如果你使用Linux,你肯定会喜欢Umbrello,一个用许多语言生成代码的UML建模器,包括Ruby。

https://umbrello.kde.org/

我想你可能会从http://yuml.me获得一些里程,所有你需要做的就是输出一些文字。