Generazione di UML dal codice C ++? [chiuso]
Domanda
Esiste uno strumento in grado di analizzare i file C ++ all'interno di un progetto e generare UML da esso?
Soluzione
Ecco alcune opzioni:
Guida dettagliata al codice di ingegneria inversa 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/
Ingegneria inversa del diagramma di classe 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
Altri suggerimenti
Se sono solo i diagrammi che desideri, doxygen fa un ottimo lavoro.
Credo che Enterprise Architect può farlo.
Ho sviluppato uno strumento chiamato Doxygraph che può analizzare l'XML generato da Doxygen e trasformalo in un diagramma di classe UML interattivo che puoi visualizzare in un browser Web o importare in qualsiasi software in grado di leggere Graphviz " punto " file.
Trovo che Wikipedia possa essere un'ottima fonte di informazioni su tali strumenti, specialmente per le tabelle di confronto. C'è una pagina su strumenti UML . Vedi in particolare la colonna lingue ingegnerizzate al contrario .
UML Studio fa abbastanza bene nella mia esperienza e funzionerà in modalità "freeware"; per piccoli progetti.
Chiunque voglia UML merita Rational Rose :)
Ho usato Rational Rose e Rational Rhapsody per il reverse engineering di grandi progetti. Preferirei Rational Rhapsody per ottenere i file di classe UML per C ++!
Sembra Umbrello produce il miglior UML dal codice C ++ (suggerisci di usare l'ultima versione > = 2.22) rispetto alla riga di comando autodia 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. Purtroppo non è stato aggiornato per un po '. Ci sono stati un paio di progetti derivati ??(dato che gli amministratori del progetto non gli avrebbero permesso di subentrare) ma anche loro sono morti di morte.