Générer du langage UML à partir de code C ++? [fermé]
Question
Existe-t-il un outil permettant d’analyser des fichiers C ++ dans un projet et d’en générer du langage UML?
La solution
Voici quelques options:
Guide pas à pas du reverse engineering de code 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/
Ingénierie inverse 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/
Liste des autres outils à consulter - http://plg.uwaterloo.ca/ ~ migod / uml.html
Autres conseils
Si ce ne sont que les diagrammes que vous souhaitez, doxygen fait un très bon travail.
Je pense que Enterprise Architect peut le faire.
J'ai développé un outil appelé Doxygraph permettant d'analyser le code XML généré par Doxygen et transformez-le en diagramme de classes UML interactif que vous pouvez afficher dans un navigateur Web ou importer dans tout logiciel pouvant lire Graphviz " dot " fichiers.
Je trouve que Wikipedia peut être une excellente source d’information sur de tels outils, en particulier pour les tableaux de comparaison. Il existe une page sur les outils UML . Voir en particulier la colonne langues à gestion inversée .
UML Studio le fait très bien dans mon expérience, et fonctionnera en mode "freeware" " pour les petits projets.
Celui qui veut UML mérite Rational Rose :)
J'ai utilisé Rational Rose et Rational Rhapsody pour le reverse engineering de grands projets. Je préférerais que Rational Rhapsody obtienne les fichiers de classe UML pour C ++!
Semble Umbrello produit le meilleur code UML à partir de code C ++ (suggère d'utiliser la dernière version > = 2.22) en comparant à la autodia en ligne de commande pour Diagramme et d’autres outils.
StarUML n'a pas produit de bons diagrammes pour moi: une importation étrange, inutilisable, ne fonctionne pas pour beaucoup de gens: https://github.com/staruml/Cpp/issues
StarUML fait exactement cela et est gratuit. Malheureusement, il n'a pas été mis à jour depuis un moment. Il y a eu quelques projets dérivés (les administrateurs du projet ne le permettant pas, mais ceux-ci sont morts morts eux aussi.