Czy istnieje narzędzie, które może analizować pliki C ++ w projekcie i generować na ich podstawie UML?
113
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
Jeśli potrzebujesz tylko diagramów, doxygen wykonuje całkiem niezłą robotę.
źródło
Wierzę, że Enterprise Architect może to zrobić.
źródło
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.
źródło
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.
źródło
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.
źródło
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
źródło
Kto chce UML, zasługuje na Rational Rose :)
źródło
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 ++!
źródło
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ą.
źródło