Is there a tool that can parse C++ files within a project and generate UML from it?
010 Answers
Here are a few options:
Step-by-Step Guide to Reverse Engineering Code into UML Diagrams with Microsoft Visio 2000 - (office.10).aspx
Reverse engineering of the UML class diagram from C++ code in presence of weakly typed containers (2001) -
A list of other tools to look at -
13If its just diagrams that you want, doxygen does a pretty good job.
1I'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.
1I believe Enterprise Architect can do that.
2I find that Wikipedia can be a great source of information about such tools, especially for comparison tables. There's a page on UML tools. See in particular the reverse engineered languages column.
UML Studio does this quite well in my experience, and will run in "freeware mode" for small projects.
1Seems Umbrello produces best UML from C++ code (suggest to use latest version >= 2.22) comparing to command-line autodia for Dia and other tools.
StarUML have not produced good diagrams for me: strange import, not usable, does not work for many people:
0I have used Rational Rose and Rational Rhapsody for reverse engineering large projects. I would prefer Rational Rhapsody for getting the UML class files for C++ !
Whoever wants UML deserves Rational Rose :)
4StarUML does just that and it is free. Unfortunately it hasn't been updated for a while. There were a couple of offshoot projects (as the project admins wouldn't allow it to be taken over) but they too have died a death.
2