Tool, um ein bildliches Diagramm des Codes zu erhalten

Ich arbeite derzeit am Reverse Engineering eines anderen Programms aus der Quelle. Die Quelle enthält 159 C++-Quelldateien und 2269 Includes. Wie man sieht, ist es unpraktisch, dies alleine durchzugehen.

Ich möchte Funktionsaufrufdiagramme und ein USES-Diagramm generieren. Aus dem Beitrag zu Stack Overflow kann ich Funktionsaufrufe generieren. Viele Leute sagen, dass Doxygen sehr gut darin ist. Ich überlege derzeit, ob ich einige der Tools aus dem obigen Forumsbeitrag und Doxygen verwenden kann.

Ich habe mich jedoch gefragt, ob es Tools gibt, die sowohl die Anrufzuordnung als auch das USES-Diagramm in Windows generieren können. Windows wird bevorzugt, aber ich kann mit einer Linux-Version arbeiten.

Kennt jemand gute Tools, um das USES-Diagramm aus der Quelle zu generieren?

Als letztes Wort ist das USES-Diagramm kein USE-CASE-Diagramm. Diese beiden sind unterschiedlich.

BEARBEITEN 1:

Ok, also habe ich mit einem Freund gesprochen, der beschrieben hat, was ein USES-Diagramm ist. Das Diagramm zeigt die Module und wie jedes Modul miteinander verbunden ist. Die Pfeile zeigen die Datenübertragung zwischen den Modulen an. Es kann beschrieben werden, dass M1 M12 verwendet M2 verwendet.

Ich suchte im Internet nach weiteren Details zum Bau eines solchen. Allerdings konnte ich nicht viel finden. Ich war mir nicht sicher, ob es noch einen anderen Namen gab. Also habe ich eine Frage zu RE.SE gestellt

Eine Antwort auf meine Frage ist, dass es sich sehr nach einem Abhängigkeitsdiagramm anhört. Wenn ich mir dieses Diagramm anschaue, klingt es sehr nach dem, was ein USES-Diagramm ist, und im Moment werde ich dies als wahr betrachten.

Außerdem habe ich es versäumt, dies in meinen ursprünglichen Beitrag aufzunehmen, aber die Software müsste kostenlos sein, da ich kein finanzielles Vermögen habe, um dies zu tun. Ich habe jedoch Zugang zu einer Universität. Wenn Sie also glauben, dass die Software etwas ist, das eine Universität hat, kann ich sie überprüfen (für diejenigen, die sich fragen, ich gehe zur University of Toledo in Toledo, Ohio).

Was genau meinst du mit "VERWENDUNG"?
Das ist der Name des Graphen. Ich habe versucht, es zu beschreiben. Ich suche nach Tools, die diese Art von Diagramm erstellen können. Ich bin mir nicht sicher, warum es abgelehnt wurde. 1. Ich dachte, das wäre eine ziemlich genaue Erklärung, ich denke, dass es einen anderen Namen anstelle von USES gibt. Vielleicht ein alter Begriff für das Diagramm
Ich sehe keinerlei Versuch zu erklären, was ein USES-Diagramm ist (was die Ablehnung erklären könnte, war ich nicht), außer dass es kein USE-CASE-Diagramm ist. Wir können Ihnen nicht helfen, wenn Sie uns nicht helfen können.
Ira Baxter, es tut mir leid für das Missverständnis. Ich glaube, ich habe diesen Beitrag mit einem anderen Beitrag verwechselt. Ich werde in meinem Beitrag bearbeiten, was ein USES-Diagramm ist. Vielen Dank für den Hinweis!
Ich habe CppDepend verwendet , aber es ist kommerziell.

Antworten (2)

Doxygen kann , wenn es mit Graphviz verwendet wird, sowohl Anrufgraphen als auch Called -by -Graphen sowie Include/included by- und Collaboration-Graphen generieren – stellen Sie nur sicher, dass Sie die Option zum Einschließen undokumentierter Einträge aktivieren .

Merkmale:

  • Frei
  • Plattformübergreifend einschließlich Windows
  • Kann C++, C, Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft und UNO/OpenOffice-Varianten), Fortran, VHDL, Tcl und einige D.
  • Mit einigen speziellen Formatkommentaren können Sie Ihren Code vollständig dokumentieren
  • Mehrere Diagrammformate
  • Mehrere Ausgabeformate für die Dokumentation

In DoxyWizard: Geben Sie hier die Bildbeschreibung einVerwendung durch Experten:Geben Sie hier die Bildbeschreibung ein

Hmm ok, ich experimentiere gerade mit Doxygen. Ich habe viel Gutes darüber gehört. Wissen Sie zufällig, wie ich das Anrufdiagramm für das gesamte Programm anzeigen kann? Ich habe durch die generierten Dateien gescrollt und eine der HTML-Dateien geöffnet. Von dort aus kann ich durch die Grafiken blättern; Ich möchte jedoch eher ein vollständiges Aufrufdiagramm des gesamten Programms als Teile sehen
@user3904858s - stellen Sie sicher, dass Sie EXTRACT_ALL gesetzt haben und es kann eine gute Idee sein, DOT_GRAPH_MAX_NODES zu erhöhen - beginnen Sie bei index.html - klicken Sie auf Klassen - klicken Sie auf Klassenhierarchie - suchen Sie nach Ihrer Hauptklasse.
wunderbar, danke Steve, ich werde das versuchen!

Sehen Sie sich SourceInsight oder Understand an .

Ich genieße derzeit die von Microsoft Visual Studio 2015 bereitgestellten Funktionen zum Generieren von Anrufzuordnungen und Codediagrammen und zum Durchführen von zyklometrischen Analysen – funktioniert gut für C++- und C#-Code, den ich bisher darauf geworfen habe.

Ja, ich würde gerne VS verwenden. Ich habe kürzlich herausgefunden, dass es Architekturdiagramme erstellen kann. Sie müssen jedoch über die kostenpflichtige Version von VS verfügen, um die Tools nutzen zu können. Bitte korrigieren Sie mich, wenn ich mich irre. Verstehe, sieht aus wie ein nettes Werkzeug, aber es wird bezahlt. Dasselbe gilt für SourceInsight.
Sicher, die Generierung von Abhängigkeitsdiagrammen und Codezuordnungen ist nur in der Enterprise Edition verfügbar. Sie haben nicht angegeben, dass Sie nach kostenlosen Tools suchen .
Entschuldigung, das hätte ich im Beitrag erwähnen sollen. Meine Schule hat jedoch eine Kopie von VS. Ich bin mir nicht sicher, ob es sich um die Version handelt, die diese Funktion enthält. Aber es ist definitiv etwas, dem ich nachgehen werde