UML aus C ++ - Code generieren? [geschlossen]

113

Gibt es ein Tool, das C ++ - Dateien in einem Projekt analysieren und daraus UML generieren kann?

gak
quelle

Antworten:

74

Hier sind einige Optionen:

Schritt-für-Schritt-Anleitung zum Umkehren von Engineering-Code in UML-Diagramme mit 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 des UML-Klassendiagramms aus C ++ - Code bei schwach typisierten Containern (2001) - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.9064

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

Eine Liste anderer Tools zum Anschauen - http://plg.uwaterloo.ca/~migod/uml.html

jwpfox
quelle
Reagiert auf die gründlichere Antwort.
Gak
1
BoUML ( bouml.fr ) ist für Linux, Windows und Mac verfügbar.
Rhubbarb
2
Ähnliche Fragen finden Sie hier und hier und hier .
Keshava GN
8
BoUML ist nicht kostenlos!
Deepdive
2
StarUML hat es sehr schwer gemacht, irgendetwas Nützliches zu produzieren.
Bitmaske
53

Wenn es nur Diagramme sind, die Sie wollen, macht doxygen einen ziemlich guten Job.

user48956
quelle
2
Ich habe gerade eine vollständige Klassenhierarchie für ein + 300K LOC-Projekt mit Doxygen erhalten, es macht wirklich einen ziemlich guten Job!
HFSDev
15

Ich glaube, Enterprise Architect kann das.

cschol
quelle
2
In der Tat, und es tut gut. Ich benutze es seit Jahren und für mich ist es bei weitem das beste Preis- / Leistungs-Tool dafür (unter denen, die ich verwendet habe). Ich habe auch StarUML und Together ausprobiert - das erste hat Potenzial, ist aber immer noch unvollständig. Der zweite ist schmerzhaft langsam.
Fabio Ceconello
Ich habe Rational Rose jedoch nicht ausprobiert, da es weit über meiner akzeptablen Preisspanne liegt.
Fabio Ceconello
15

Ich habe ein Tool namens Doxygraph entwickelt , mit dem das von Doxygen generierte XML analysiert und in ein interaktives UML-Klassendiagramm umgewandelt werden kann, das Sie in einem Webbrowser anzeigen oder in eine Software importieren können, die Graphviz-Punktdateien lesen kann.

Oktalist
quelle
2
Sehr schöne Anwendung! Abgesehen von der Tatsache, dass es von ziemlich vielen Bibliotheken abhängt, die ich nicht hatte (später von cpan heruntergeladen), funktioniert das Ganze perfekt. Vielen Dank!
Rubens
7

Ich finde, dass Wikipedia eine großartige Informationsquelle über solche Tools sein kann, insbesondere für Vergleichstabellen. Es gibt eine Seite über UML-Tools . Siehe insbesondere die Spalte Reverse Engineered Languages .

Rhubbarb
quelle
5

UML Studio macht dies meiner Erfahrung nach recht gut und wird für kleine Projekte im "Freeware-Modus" ausgeführt.

Patrick Johnmeyer
quelle
Sie können es im kostenlosen (eingeschränkten) Modus unter Wine ausführen.
SChepurin
3

Scheint, als würde Umbrello die beste UML aus C ++ - Code (empfehlen Sie die Verwendung der neuesten Version> = 2.22) im Vergleich zu Befehlszeilen- Autodia für Dia und andere Tools erstellen .

StarUML hat für mich keine guten Diagramme erstellt: Seltsamer Import, nicht verwendbar, funktioniert bei vielen Menschen nicht: https://github.com/staruml/Cpp/issues

Aleksey Kontsevich
quelle
2

Wer UML will, verdient Rational Rose :)

obecalp
quelle
2
gutes Programm aber sehr teuer!
ak3nat0n
Der Link in dieser Antwort ist veraltet. Der aktuelle Link ist www-01.ibm.com/software/rational/products/swarchitect/cpp
Dan Nissenbaum
Sowohl der ursprüngliche Link als auch der in den Kommentaren sind veraltet. Ich weiß nicht, wo ich die aktuelle Version finden kann.
Bruno Alexandre Rosa
Die Produktseite kann nicht gefunden werden.
Nurp
2

Ich habe Rational Rose und Rational Rhapsody für das Reverse Engineering großer Projekte verwendet. Ich würde Rational Rhapsody bevorzugen, um die UML-Klassendateien für C ++ zu erhalten!

Shan
quelle
1

StarUML macht genau das und es ist kostenlos. Leider wurde es eine Weile nicht aktualisiert. Es gab ein paar Ablegerprojekte (da die Projektadministratoren nicht zuließen, dass sie übernommen werden), aber auch sie sind eines Todes gestorben.

graham.reeds
quelle
1
StarUML hat für mich keine guten Diagramme erstellt, seltsamer Import. @Rhubbarb, es funktioniert auch unter Linux und Mac.
Aleksey Kontsevich
Die neueste Veröffentlichung ist jetzt August 2018, also wurde sie wieder aufgenommen
Bart's