Generujesz UML z kodu C ++? [Zamknięte]

113

Czy istnieje narzędzie, które może analizować pliki C ++ w projekcie i generować na ich podstawie UML?

gak
źródło

Odpowiedzi:

74

Oto kilka opcji:

Przewodnik krok po kroku dotyczący kodu inżynierii odwrotnej do diagramów UML za pomocą programu 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/

Inżynieria wsteczna diagramu klas UML z kodu C ++ w obecności kontenerów o słabym typie (2001) - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.9064

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

Lista innych narzędzi do obejrzenia - http://plg.uwaterloo.ca/~migod/uml.html

jwpfox
źródło
Przyjęto do bardziej szczegółowej odpowiedzi.
gak
1
BoUML ( bouml.fr ) jest dostępny dla systemów Linux, Windows i Mac.
Rhubbarb
2
Zobacz podobne pytania tutaj i tutaj i tutaj .
Keshava GN
8
BoUML nie jest darmowe!
nurkowanie głębokie
2
StarUML nie udało się bardzo ciężko wyprodukować cokolwiek pomocnego.
maska ​​bitów
53

Jeśli potrzebujesz tylko diagramów, doxygen wykonuje całkiem niezłą robotę.

user48956
źródło
2
Właśnie uzyskałem pełną hierarchię klas w projekcie + 300K LOC z Doxygen, to naprawdę całkiem nieźle!
HFSDev
15

Wierzę, że Enterprise Architect może to zrobić.

cschol
źródło
2
Rzeczywiście, i robi dobrze. Używam go od lat i jest to dla mnie zdecydowanie najlepsze narzędzie do obsługi ceny / wydajności (spośród tych, z których korzystałem). Próbowałem też StarUML i Together - pierwszy ma potencjał, ale wciąż jest niekompletny. Drugi jest boleśnie powolny.
Fabio Ceconello
Nie próbowałem jednak Rational Rose, ponieważ jest znacznie powyżej mojego dopuszczalnego przedziału cenowego.
Fabio Ceconello,
15

Opracowałem narzędzie o nazwie Doxygraph, które może przeanalizować XML wygenerowany przez Doxygen i przekształcić go w interaktywny diagram klas UML, który można przeglądać w przeglądarce internetowej lub importować do dowolnego oprogramowania, które potrafi odczytać pliki „kropkowe” Graphviz.

Oktalist
źródło
2
Bardzo fajna aplikacja! Poza tym, że zależy to od sporej ilości bibliotek, których nie miałem (pobranych później z cpan), całość działa idealnie. Dzięki!
Rubens,
7

Uważam, że Wikipedia może być świetnym źródłem informacji o takich narzędziach, zwłaszcza w przypadku tabel porównawczych. Jest strona poświęcona narzędziom UML . Zobacz w szczególności kolumnę języków odtworzonych.

Rhubbarb
źródło
5

Z mojego doświadczenia wynika, że UML Studio robi to całkiem dobrze i będzie działało w „trybie darmowym” dla małych projektów.

Patrick Johnmeyer
źródło
Możesz go uruchomić w trybie darmowym (ograniczonym) w Wine.
SChepurin
3

Wydaje się, że Umbrello tworzy najlepszy UML z kodu C ++ (sugeruje użycie najnowszej wersji> = 2.22) w porównaniu do autodia wiersza poleceń dla Dia i innych narzędzi.

StarUML nie stworzył dla mnie dobrych diagramów: dziwny import, nie nadający się do użytku, nie działa dla wielu ludzi: https://github.com/staruml/Cpp/issues

Aleksey Kontsevich
źródło
2

Kto chce UML, zasługuje na Rational Rose :)

obecalp
źródło
2
dobry program, ale bardzo drogi!
ak3nat0n
Link w tej odpowiedzi jest nieaktualny. Obecny link to www-01.ibm.com/software/rational/products/swarchitect/cpp
Dan Nissenbaum
Zarówno oryginalny link, jak i ten w komentarzach są nieaktualne. Nie wiem, gdzie znaleźć aktualną wersję.
Bruno Alexandre Rosa
nie można znaleźć strony produktu.
nurp
2

Używałem Rational Rose i Rational Rhapsody do inżynierii wstecznej dużych projektów. Wolałbym Rational Rhapsody do pobierania plików klas UML dla C ++!

Shan
źródło
1

StarUML właśnie to robi i jest bezpłatne. Niestety od jakiegoś czasu nie był aktualizowany. Było kilka projektów pochodnych (ponieważ administratorzy projektu nie pozwolili na przejęcie go), ale oni też umarli śmiercią.

graham.reeds
źródło
1
StarUML nie stworzył dla mnie dobrych diagramów dziwny import. @Rhubbarb, działa również pod Linuksem i Mac.
Aleksey Kontsevich
Najnowsze wydanie to sierpień 2018, więc zostało ponownie odebrane
bart