从Python源代码生成UML

6
我有一个Python程序,我想生成一个UML图。有哪些程序可以做到这一点?
编辑:我想要一个编辑生成的图表的选项。

1
请查看此处的讨论:链接 - Will Sewell
3
这些“标记为重复”的主题的问题在于它们涉及到7年前已经得到解答且非常陈旧的问题。 - slashdottir
4个回答

2
我的工具Pynsource可以将Python 3 / Python 2源代码逆向工程成UML类图。您可以拖动类在屏幕上重新排列,也可以让自动布局完成。
您可以编辑/添加/删除类和关联 - 支持黄色注释。它甚至可以生成ASCII UML以粘贴到您的代码中。
有一个开源社区版,以及一个专业版,如果您需要缩放功能。

这个程序能够很好地处理大型项目吗(例如像matplotlib这样的大型项目)? - Rickkwa
大型项目最好分解成子图,否则类的数量会变得难以控制和混乱。每个图应该讲述一个能够传达信息的故事。我开源的 UML 工具 Pynsource http://pynsource.com 在上面提到过,自被提及以来已经进行了多次版本更改。它现在可以解析 Python 3,支持缩放、布局、ASCII UML 和 PlantUML 渲染。据我所知,这是唯一一个识别 Python 实例属性而不仅仅是类属性的 UML 工具。可运行的二进制文件适用于 Mac、Windows、Ubuntu 18 和 16。 - abulka

1

我也不明白。当我写下那句话时,我并没有评论这篇文章。它怎么会出现在这里?有趣... - S. Albano

1

我不确定您想要多高质量的图表,但是有一个叫做 PyNSource 的工具仍在维护(最近更新于 8月),可以满足您的需求。您可以在 这里 找到它。需要说明的是,此程序适用于 Windows。


以上链接已经过时,Pynsource现在位于http://pynsource.com。它不再仅限于Windows平台 - 现在完全跨平台。Mac、Windows、Ubuntu 18和Ubuntu 16的可运行二进制文件均可用。 - abulka

1

这里可以找到一份UML-Python工具列表。如果您需要编辑图表,那么您可能应该先看看PyUML


你能给我一些关于如何使用PyUML从源代码生成UML的提示吗?我有一个包含main.py文件和lib文件夹的文件夹,其中lib文件夹包含几个每个都有一个类和__init__.py文件的文件。 - redman
抱歉,但我自己没有使用过这个工具。 - Jordi Cabot
你最终成功使用PYUML了吗?如果是的话,能否在这里发布一下。 - user8162

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