使用doxygen,我可以生成漂亮的图表,但是doxygen缺乏对类之间关系的深入分析。它可以识别派生关系,但是工具无法理解其他关系。有哪些更好的工具(商业或非商业),可以从C ++源文件中生成更完整的UML类图?
C#/ Java可用的工具略微好一些,但现在不符合我的需求。
使用doxygen,我可以生成漂亮的图表,但是doxygen缺乏对类之间关系的深入分析。它可以识别派生关系,但是工具无法理解其他关系。有哪些更好的工具(商业或非商业),可以从C ++源文件中生成更完整的UML类图?
C#/ Java可用的工具略微好一些,但现在不符合我的需求。
对于解析C++代码,我使用过的最好工具是BoUML。它并不完美,也不会为您生成图表,但它确实能理解关系。如果您将两个类拉入类图中,它将自动绘制关系,并允许您通过选择特定类并让该工具显示相关类(既依赖于所选类的类,也依赖于所选类的类)来扩展图表。
@jdehaan,看起来今天我们很多人都处于同一艘船上;)
C++的codedrawer(http://www.codedrawer.com/)就是这样一个工具。
我将链接到一些今天可能会对您感兴趣的内容。
该工具可以识别派生关系,但无法理解其他关系。
Doxygen还支持生成协作图表,这提供了非继承关系的图像。
来自Doxygen手册:
COLLABORATION_GRAPH
如果将 COLLABORATION_GRAPH
和HAVE_DOT
标签设置为YES
,则doxygen将为每个记录的类生成一个图形,显示该类与其他记录的类之间的直接和间接实现依赖关系(继承、包含和类引用变量)。
我自己不会使用UML做任何花哨的事情,但这些图表已足够满足我的需求(绘制继承和组合)。
企业架构师。它可以深入分析代码,从代码生成图表,从图表生成代码,并支持往返代码生成,这意味着修改生成的图表并将更改保存到源代码中。它了解C、C++、C#、Java、Python、VB.NET和VB、PHP、Java、Delphi等多种编程语言。此外,它还支持包括完整的UML2.0在内的各种图表类型。(我不知道它在C中做什么:P)
除了正确执行这些任务之外,它还可以完成许多其他任务,我认为它的价格非常值得,价格为135-239美元,具体取决于版本。