有没有可以通过分析代码生成 UML 图的软件?

发布于 2024-10-14 20:22:27 字数 1539 浏览 2 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

樱桃奶球 2024-10-21 20:22:27

有许多工具在不同的质量水平上正是这样做的。我想提一下,出于文档目的生成 UML 图可能不是一个好主意,尤其是在大型项目中。问题是,在复杂的代码库中,类之间存在许多关系,调用了大量代码等。基本上,您选择的任何图表类型在特定项目中都可能看起来很臃肿。令人困惑的图表可能比结构良好的文本文档更糟糕。基本上我想说的是,建模的主要思想是从不重要的细节中抽象出来,并自动决定什么是不重要的,这并不容易,而且通常依赖于项目,因此大多数时候手动创建更少的图表更有用,这将包含更多有用的信息。

There are many tools doing exactly this on various levels of quality. I would like to mention, that generating UML diagrams for documentation purposes might not be a great idea, especially in large projects. The problem is, that in complex code bases, there are many relationships between classes a lot of code is called etc. basically any diagram type you choose might in a particular project look bloated. Confusing diagram might be worse than well structured textual documentation. Basically what I am trying to say is, that main idea of modeling is to abstract from unimportant details and deciding automatically what is unimportant is not easy and often project dependent, therefore it is most of the times more useful to create far less diagrams manually, which will conatin much more useful information.

云仙小弟 2024-10-21 20:22:27

Visual Studio 2010 可以为 C# 和 VB 项目提供此功能,而当年的 Visio 2003 可以为 .NET 和 C++ 项目提供此功能...其他工具,我不知道。

Visual Studio 2010 kind of has this for C# and VB projects, and Visio 2003 back in the day could do them for .NET and C++ projects... Other tools, I don't know.

沦落红尘 2024-10-21 20:22:27

如果您询问类图,Sparx Enterprise Architect 可以针对多种语言执行此操作,包括 Visual Basic、C#、 Java 和 Python。

我还知道它能够通过在调试器中运行 .NET 代码来生成序列图,但我不知道该功能是否适用于其他语言。

If you're asking about class diagrams, Sparx Enterprise Architect can do this for several languages, including Visual Basic, C#, Java and Python.

I also know that it has the ability to generate sequence diagrams by running .NET code in the debugger, but I don't know if that feature is available for other languages.

很糊涂小朋友 2024-10-21 20:22:27

如果您在 java 环境中工作,UMLGraph 或 apiviz 可能会有所帮助。

嗯。

UMLGraph or apiviz may help if you're working in a java environment.

hth.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文