We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
有许多工具在不同的质量水平上正是这样做的。我想提一下,出于文档目的生成 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.
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.
如果您询问类图,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.
如果您在 java 环境中工作,UMLGraph 或 apiviz 可能会有所帮助。
嗯。
UMLGraph or apiviz may help if you're working in a java environment.
hth.