如果我想直观地映射编程框架并查看所有实体之间的关系,我应该使用哪个工具?

问题描述:

我发现自己是一个视觉的人,有时如果我能从中画出图表/图片,学习更容易。我的问题是,如果我想以可视方式映射编程框架(例如.net)并查看所有实体(如类和成员)之间的关系,我应该使用哪种工具。如果我想直观地映射编程框架并查看所有实体之间的关系,我应该使用哪个工具?

一个体面的第一切可能是编写一个简单的PERL脚本来解析依赖关系,然后将该数据传输到Graphviz进行可视化。

我不确定如果你只是询问.NET或其他框架,我的经验主要是用Java,但我相信.NET存在类似的工具。

在类的级别上,您可以使用UML工具获得自动生成的可视化效果,这些工具通常可以将源代码逆向工程化为图。 Netbeans是免费的,并有Java source to UML reverse engineering功能。

但是,类图很低,他们几乎不直接告诉你更大的建筑主题。在这一点上,像Structure101这样的工具可以发现您没有意识到的架构属性。他们有一个试用版,也可以处理C和C++。

你可以试试NDepend。伟大的Scott Hanselman discusses it more here.吨的视觉依赖格式也。这听起来像它唯一的.NET虽然。

我觉得doxygen对于面对新项目时生成各种依赖信息很有用。它明显处理“C++,C,Java,Objective-C,Python,IDL(Corba和Microsoft风格),Fortran,VHDL,PHP,C#以及某种程度上的”“。它使用Graphviz来生成图形依赖关系图。您可以包含完整的源代码,以及所有已识别的超链接。如果你幸运的话,会有一些doxygen已经知道的文档。然后,您可以快速浏览代码,了解所有关系。

我第二次由尼克Doxygen评论。我为C#.NET使用Doxygen,它生成类图,继承图等。这是一个informative blog post

工具NDepend提出了交互式Dependency Graph和交互式Dependency Matrix。此外,该工具集成在VisualStudio的2012年,2010年和2008年免责声明:我的工具的开发者之一

无论您是需要表现出Call GraphCoupling GraphInheritance GraphDependency Graphvery large Graph,查明Dependency Cycles多,NDepend会生成一些视觉图。下面是一些截图:

enter image description here

enter image description here

enter image description here