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?

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


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.


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.


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.


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 .



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



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 ++!


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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.