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

后端 未结 6 1064
醉酒成梦
醉酒成梦 2021-02-07 09:39

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
相关标签:
6条回答
  • 2021-02-07 09:53

    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)

    0 讨论(0)
  • 2021-02-07 09:55

    I haven't tried this but Umbrello seems like a viable candidate: http://uml.sourceforge.net/ It is built on top of KDE libraries so it should run on Linux/Windows/Mac.

    0 讨论(0)
  • 2021-02-07 09:55

    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.

    0 讨论(0)
  • 2021-02-07 10:04

    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.

    0 讨论(0)
  • 2021-02-07 10:10

    I've developed a tool called Doxygraph which can parse the XML generated by Doxygen and turn it into an interactive UML class diagram which you can view in a web browser or import into any software that can read Graphviz "dot" files.

    0 讨论(0)
  • 2021-02-07 10:20

    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.

    0 讨论(0)
提交回复
热议问题