Générer UML à partir de code C ++? [fermé]

113

Existe-t-il un outil qui peut analyser les fichiers C ++ dans un projet et générer UML à partir de celui-ci?

gak
la source

Réponses:

74

Voici quelques options:

Guide pas à pas pour inverser le code d'ingénierie dans des diagrammes UML avec Microsoft Visio 2000 - http://msdn.microsoft.com/en-us/library/aa140255(office.10).aspx

BoUML - http://bouml.fr/features.html

StarUML - http://staruml.sourceforge.net/en/

Reverse engineering du diagramme de classes UML à partir de code C ++ en présence de conteneurs faiblement typés (2001) - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.9064

Modélisateur UML Umbrello - http://uml.sourceforge.net/

Une liste d'autres outils à consulter - http://plg.uwaterloo.ca/~migod/uml.html

jwpfox
la source
Réaccepte la réponse plus approfondie.
gak
1
BoUML ( bouml.fr ) est disponible pour Linux, Windows et Mac.
Rhubbarb
2
Voir des questions similaires ici et ici et ici .
Keshava GN
8
BoUML n'est pas gratuit!
deepdive
2
StarUML n'a pas réussi à produire quoi que ce soit d'utile.
bitmask
53

Si vous ne voulez que des diagrammes, doxygen fait un très bon travail.

user48956
la source
2
Je viens d'avoir une hiérarchie de classes complète sur un projet LOC + 300K avec Doxygen, cela fait vraiment un très bon travail!
HFSDev
15

Je pense qu'Enterprise Architect peut le faire.

cschol
la source
2
En effet, il le fait et le fait bien. Je l'utilise depuis des années, et pour moi, c'est de loin le meilleur outil prix / performance (parmi ceux que j'ai utilisés). J'ai également essayé StarUML et Together - le premier a du potentiel, mais il est encore incomplet. Le second est douloureusement lent.
Fabio Ceconello
Cependant, je n'ai pas essayé Rational Rose, car il est bien au-dessus de ma fourchette de prix acceptable.
Fabio Ceconello
15

J'ai développé un outil appelé Doxygraph qui peut analyser le XML généré par Doxygen et le transformer en un diagramme de classes UML interactif que vous pouvez afficher dans un navigateur Web ou importer dans n'importe quel logiciel capable de lire des fichiers "dot" Graphviz.

Oktaliste
la source
2
Très belle application! Outre le fait que cela dépend de beaucoup de bibliothèques que je n'avais pas (téléchargées plus tard à partir de cpan), tout fonctionne parfaitement. Merci!
Rubens
7

Je trouve que Wikipedia peut être une excellente source d'informations sur ces outils, en particulier pour les tableaux de comparaison. Il y a une page sur les outils UML . Voir en particulier la colonne des langues du reverse engineering .

Rhubbarbe
la source
5

UML Studio le fait assez bien d'après mon expérience, et fonctionnera en "mode freeware" pour les petits projets.

Patrick Johnmeyer
la source
Vous pouvez l'exécuter en mode libre (restreint) sous Wine.
SChepurin le
3

Il semble qu'Umbrello produit le meilleur UML à partir du code C ++ (suggérez d'utiliser la dernière version> = 2.22) par rapport à l' autodia en ligne de commande pour Dia et d'autres outils.

StarUML n'a pas produit de bons diagrammes pour moi: import étrange, non utilisable, ne fonctionne pas pour beaucoup de gens: https://github.com/staruml/Cpp/issues

Aleksey Kontsevich
la source
2

Quiconque veut UML mérite Rational Rose :)

obecalpe
la source
2
bon programme mais très cher!
ak3nat0n
Le lien dans cette réponse est obsolète. Le lien actuel est www-01.ibm.com/software/rational/products/swarchitect/cpp
Dan Nissenbaum
Le lien d'origine et celui des commentaires sont obsolètes. Je ne sais pas où trouver la version actuelle.
Bruno Alexandre Rosa
impossible de trouver la page produit.
nurp
2

J'ai utilisé Rational Rose et Rational Rhapsody pour de grands projets de rétro-ingénierie. Je préférerais Rational Rhapsody pour obtenir les fichiers de classe UML pour C ++!

Shan
la source
1

StarUML fait exactement cela et c'est gratuit. Malheureusement, il n'a pas été mis à jour depuis un certain temps. Il y avait quelques projets dérivés (car les administrateurs du projet ne permettaient pas qu'il soit repris) mais eux aussi sont morts de mort.

graham.reeds
la source
1
StarUML n'a pas produit de bons diagrammes pour moi étrange importation. @Rhubbarb, cela fonctionne également sous Linux et Mac.
Aleksey Kontsevich
La dernière version est maintenant août 2018, elle a donc été reprise
Bart s