2013-07-01 13 views

Odpowiedz

6

doxygen potrafi zbudować wiele diagramów (dziedziczenie, współpraca, a nawet przepływ połączeń), myślę, że powinieneś spróbować.

Użyłem go w przeszłości, a nawet jeśli nie skomentowałem kodu zgodnie z wymaganiami, udało mu się wyprodukować bardzo ładne (aczkolwiek skomplikowane) diagramy.

Powołując z Features sekcji Dokumenty online:

  • używa narzędzia dot zestawu narzędziowego Graphviz wygenerować drzewo zależności, diagramy współpracy, zadzwoń wykresy, wykresy struktury katalogów i graficzną klasy hierarchii wykresy.

  • Automatycznie wykrywa sekcje ogólnodostępne, chronione i prywatne, a także sekcje sygnałów i szczeliny specyficzne dla Qt. Wyodrębnianie prywatnych członków klasy jest opcjonalne.

Chociaż doxygen mogą być teraz używane w każdym projekcie napisane w języku, który jest obsługiwany przez doxygen, początkowo został specjalnie zaprojektowany, aby być wykorzystywane na projekty, które korzystają z Qt Qt Software. Próbowałem zrobić doxygen "kompatybilny z Qt". To znaczy: Doxygen może czytać dokumentację zawartą w kodzie źródłowym Qt i tworzyć przeglądarkę klasową, która wygląda podobnie do tej, która jest generowana przez Qt Software. Doxygen rozumie rozszerzenia C++ używane przez Qt, takie jak sygnały i sloty oraz wiele poleceń znaczników używanych w źródłach Qt.

+0

FYI, dobrym przykładem użycia diagramów klas w Doxygen jest dokumentacja [QWT] (http://qwt.sourceforge.net), np. w tym dokumencie dla [QwtPlotHistogram] (http://qwt.sourceforge.net/class_qwt_plot_histogram.html). Myślę, że wszystkie konfiguracje używane w tym konkretnym przypadku można znaleźć w [katalogu docs] (http://svn.code.sf.net/p/qwt/code/trunk/qwt/doc) jego repozytorium svn. – NIA

+0

Aby uzyskać schematy w stylu UML, będziesz musiał zmienić kilka domyślnych ustawień. Odpowiedzi na to pytanie [Question about Doxygen and UML diagrams] (http://stackoverflow.com/questions/9484879/graphviz-doxygen-to-generate-uml-class-diagrams) powinny pomóc. – jwernerny

1

Enterprise Architect firmy Sparx Systems może zaimportować kod C++. Diagramy są bardzo dobre, a narzędzia obsługują rundę trippingu (schemat edycyjny i kod generujący). Ciekawie jest zobaczyć, co robi z plikami moc _ *. Cpp, ale prawdopodobnie będziesz chciał usunąć te z twojego modelu.

Powiązane problemy