从UML图自动生成Python代码?

19
7个回答

15

Enterprise Architect 能够从 UML 图中生成 Python 代码。
此外,它还能执行一些反向工程,因此将 UML 和 Python 两个版本保持同步。

然而,我从未以这种方式使用过它,除了一些小的测试来观察其运行情况。个人认为在 Python 中生产力非常高,即使我真的很满意 EA,我仍然更喜欢将其用于设计文档。


1
@S.Lott,除非项目非常大,否则详细的UML并没有什么帮助...但是,如果项目非常大,详细的UML可以多次拯救你的生命。 - Mike Pennington
@Mike Pennington:详细的UML与代码同构,编写代码更容易。 - S.Lott
2
@S.Lott,地图同构于城市拓扑结构;令人惊讶的是,人们仍然购买地图。 - Mike Pennington
@S.Lott,我在看到你的评论之前反思后编辑掉了GPS;尽管如此,重点是您可以编写足够复杂的类关系,详细的UML非常有用...同样,在某些城市,普通人不会想从记忆中导航到随机位置。我同意UML代码生成/往返通常比手动构建关系更复杂。 - Mike Pennington
1
UML相对于代码的优势在于,单个或少数架构师可以从UML中以粗略的形式指定输入、输出和功能。随着开发人员团队规模的增长,UML脚手架生成变得更加有益。 - RobotHumans
显示剩余11条评论

7
  • PyUML - 一款适用于Eclipse的Python往返工具
  • PyIdea: 适用于Python的PyNSource UML和模式IDE

我可以在Easy Eclipse中获取PyUML吗? - Léo Léopold Hertz 준영
你能用PyUML进行逆向工程吗? - Léo Léopold Hertz 준영
这是一篇关于该领域工具的不错博客文章:http://www.philroche.net/archives/python-and-uml/。 - Ted Johnson

5
您可以使用DIA,然后安装dia2code,它将从UML生成Python代码。我在PHP5和Java中使用它。
$ sudo apt-get install dia dia2code

还有一个额外的好处是,Dia有一个便携版适用于PartableApps。 - Scruffy

3

KDE的UML建模工具Umbrello支持使用Python作为导出语言。


0

2
Gaphor是Python逆向工程吗?还是用Python/GTK+编写的UML图形化工具? - S.Lott

0

在Ubuntu中搜索发现:

$ apt-cache search python uml
boa-constructor - RAD tool for Python and WxWindows application
dia2code - a dia-UML code generator
spe - Stani's Python Editor

快速测试表明,DIA是唯一一个可以将UML图导出为Python的程序。我对DIA的质量非常怀疑,因为它比Topcoder UML程序更不直观。也许其他回复者建议的其他程序更好。

0

请尝试此链接 -

https://www.visual-paradigm.com/support/documents/vpuserguide/276/330/7400_instantgener.html

从工具栏中选择“工具”>“代码”>“即时生成器”。在即时生成器窗口中,选择Python作为语言。填写输出路径,即您希望代码生成到的目录。选择要生成代码的类。在“图表”选项卡中,您可以选择要为所选图表中的类生成代码。或者,打开“模型元素”选项卡并选择要生成代码的类。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接