2010-04-07 7 views
5

Est-il possible de générer un diagramme de classe hiérarchique à partir du code C++? Mon code est réparti sur 5 à 6 fichiers .cpp.Code C++ au diagramme de classes

Je voudrais savoir s'il existe un outil gratuit pour le même.

Cordialement, AJ

Répondre

11

Il y a par ex. Doxygen

http://www.doxygen.org/features.html dit:

Utilise l'outil de points de la trousse d'outils Graphviz pour générer inclure des graphiques de dépendance, des diagrammes de collaboration, graphes d'appel, des graphiques de structure des répertoires et des graphiques de hiérarchie de classes graphiques.

Il crée des graphiques comme

http://www.vtk.org/doc/nightly/html/structvtkKdTree_1_1__cellList__coll__graph.png
(de http://www.vtk.org/doc/nightly/html/structvtkKdTree_1_1__cellList.html, un exemple figurant sur le site doxygen)

Depuis la question portait sur les diagrammes de classes que vous pourriez également être intéressé par le drapeau UML_LOOK qui fait la ouput un peu plus uml-like.

+1

Ne confondons pas le diagramme de classes avec le diagramme d'héritage, ce que fait exactement doxygen et rien de plus.Un diagramme de classes contient non seulement les connexions entre les différentes classes impliquées mais aussi leur structure interne - membres, fonctions et méthodes. Ce que vous avez montré dans votre message est trompeur omho et ne doit pas être considéré comme la bonne réponse. Le diagramme de dépendance est ce que l'auteur de la question voulait dire, auquel cas la question devrait être modifiée en conséquence. Même au début de votre réponse La documentation de doxygen ne mentionne PAS les diagrammes de classes. – rbaleksandar

+0

http://www.stack.nl/~dimitri/doxygen/manual/config.html#cfg_uml_look rend un peu plus uml ... ish – VolkerK

+0

Mon mauvais. Merci pour l'information utile. Vous devriez ajouter ceci dans votre commentaire au lieu du lien qui liste les fonctionnalités de doxygen. – rbaleksandar

0

Doxygen peut create class-diagramms. Cependant, je crois que ces diagrammes ne sont que pour montrer le réseau de classes, ils ne listent pas les méthodes et les membres et autres.

5

Les diagrammes de classes sont des réseaux et non des hiérarchies. Il y a un certain nombre d'outils qui peuvent les générer - mon préféré est Enterprise Architect, mais ce n'est pas gratuit (il y a un essai).

+0

+1 pour désigner les réseaux –

3

Umberello est l'application Linux qui génère un diagramme à partir du code.

Questions connexes