Generazione di UML dal codice C ++?

Esiste uno strumento in grado di analizzare i file C ++ all’interno di un progetto e generare UML da esso?

Ecco alcune opzioni:

Guida dettagliata al codice di reverse engineering nei diagrammi UML con 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 del diagramma di class UML dal codice C ++ in presenza di contenitori debolmente tipizzati (2001) – http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.9064

Umbrello UML Modeller – http://uml.sourceforge.net/

Un elenco di altri strumenti da consultare: http://plg.uwaterloo.ca/~migod/uml.html

Se è solo un diagramma che vuoi, doxygen fa un buon lavoro.

Credo che Enterprise Architect possa farlo.

Ho sviluppato uno strumento chiamato Doxygraph che può analizzare l’XML generato da Doxygen e trasformarlo in un diagramma di class UML interattivo che è ansible visualizzare in un browser Web o importarlo in qualsiasi software in grado di leggere i file “punto” Graphviz.

Trovo che Wikipedia possa essere una grande fonte di informazioni su tali strumenti, specialmente per le tabelle di confronto. C’è una pagina sugli strumenti UML . Vedi in particolare la colonna delle lingue del reverse engineering .

UML Studio fa abbastanza bene nella mia esperienza e funzionerà in “modalità gratuita” per piccoli progetti.

Chiunque voglia UML merita Rational Rose 🙂

Ho usato Rational Rose e Rational Rhapsody per progetti di reverse engineering di grandi dimensioni. Preferirei Rational Rhapsody per ottenere i file di class UML per C ++!

Sembra che Umbrello produca il miglior UML dal codice C ++ (suggeriamo di usare l’ultima versione> = 2.22) confrontandolo con l’ autodia della riga di comando per Dia e altri strumenti.

StarUML non ha prodotto buoni diagrammi per me: strana importazione, non utilizzabile, non funziona per molte persone: https://github.com/staruml/Cpp/issues

StarUML fa proprio questo ed è gratuito. Sfortunatamente non è stato aggiornato per un po ‘. Ci sono stati un paio di progetti collaterali (dato che gli amministratori del progetto non avrebbero permesso che venisse preso in consegna), ma anche loro sono morti.