简体   繁体   中英

UML free reverse engineering tool for C++ (.h/.cpp ==> Class Diagram)

What tools are available for creating UML Class Diagrams from a set of .h- or .cpp-files?

I am looking for something that...

  • is free
  • runs out of the box on Windows
  • does not require any particular IDE
  • ideally provides a GUI

Dia is a very good open source drawing tool, and cpp2dia creates UML diagrams from .h/.cpp files.

I use it under Linux, I don't know if it runs in other platforms.

There is no GUI for cpp2dia, but its command line usage is very simple.

About Bouml

it claims to have found errors in my code

the reverse only accept 'true' C++, there is no preprocessor step, so any use of a macro in a class definition or an operation definition produces an error.

it doesn't display data members that are of custom data types directly as attributes

the reverse produces relations the more it is possible, an attribute is used when the type is not a known class or not a class (eg 'int').

don't do several separated reverses, do one reverse specifying several top directories to reserve (each specified directory is traversed recursively)

Bruno Pagès (author of Bouml)

我开发了一个名为Doxygraph的工具,它可以解析Doxygen生成的XML并将其转换为交互式UML类图,您可以在Web浏览器中查看或导入任何可以读取Graphviz“点”文件的软件。

我没有尝试过,但Umbrello似乎是一个可行的候选者: http//uml.sourceforge.net/它建立在KDE库之上,因此它应该在Linux / Windows / Mac上运行。

You can try ArgoUML which is free, has a nice GUI and is written in Java so can be run painless on any system.

It is able to generate C++ from UML diagrams; however, reverse engineering of C++ source code is handled by a sub-project for the moment. The latest snapshot of this tool can be downloaded from the source repository . Yet, this tool is still in development, so it might not work as you would expect.

I have implemented a module for StarUML that provides incremental reverse engineering of C++. It provides support for std containers also. It still under development but you may want give it a try. http://starumlcmodule.sourceforge.net .

I tried every tool on this and a bunch of other lists. None of them worked for me. Some gave errors due to macros. Some supposedly handled visual studio files, but didn't. Several commercial packages claimed to support C++ to UML, but their user interface didn't match what the instructions said. Some loaded the files in but wouldn't generate any diagrams.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM