HI Alles, was ich am Ende der Veröffentlichung meines Projekts bin.Um weiter zu arbeiten, bat uns unser Manager, Klassen-Diagramme für den Code zu erstellen, den wir geschrieben hatten. Sein mittleres Projekt mit 3500 Java-Dateien. Also ich denke wir Ich muss Klassendiagramme erstellen. Zuerst muss ich wissen, wie Reverse Engineering hier funktioniert. Auch habe ich in Google (Green, Violet) einige Tools gesucht, bin mir aber nicht sicher ob sie irgendeine Hilfe sind. Bitte schlagen Sie mir vor, wie man fortfährt. Auch ein guter Anfang tutorial geschätzt.
Ich empfehle dringend BOUML . Seine Java Reverse-Unterstützung ist absolut ROCK SOLID .
BOUML hat viele andere Vorteile:
Das Tool, das Sie verwenden möchten, ist Doxygen . Es ist vergleichbar mit Javadoc, funktioniert aber in mehreren Sprachen. Wenn die Abhängigkeiten ermittelt werden, kann graphviz aufgerufen werden, um die Klassendiagramme zu rendern. Hier ist ein Beispiel für ein paar Java-Klassen, die über Doxygen laufen .
Ich schätze, wenn dein Chef dich nur beschäftigen will, bis das nächste Projekt beginnt, dann ist es nicht schlimm, aber du wirst ziemlich schnell feststellen, dass das Erstellen eines Klassendiagramms mit 3500 Klassen dir NICHTS über dein System sagt. Tatsächlich wollen Sie nicht wirklich ein Diagramm mit mehr als ungefähr 10 Klassen auf ihm. Sobald Sie also den gesamten Code in Ihr Modellierungswerkzeug umgedreht haben, sollten Sie anfangen, zu organisieren und zu arrangieren, um die Bedeutung zu finden. Erstellen Sie ein neues Diagramm, legen Sie eine einzelne wichtige Klasse darauf und fügen Sie alle Klassen ein, die direkt mit dieser Klasse verknüpft sind. Wiederholen Sie dies für vielleicht die 300 wichtigsten Klassen. Mach dir keine Sorgen, es ist nicht so schrecklich wie es klingt, vielleicht eine Woche Arbeit.
Für die Aufzeichnung ist mein Modellierungswerkzeug der Wahl Enterprise Architect von Sparx Systems . Es wird Java-Quellen oder .jar-Dateien rückgängig machen. Es gibt eine kostenlose 30-Tage-Testversion.
Es gibt einige Tools, mit denen Sie diese Diagramme erstellen können. Diese kosten Geld.
Andernfalls könnten Sie versuchen, Ihre Java-Dateien zu parsen. Dies könnte so einfach sein, einen einfachen Parser zu erstellen, der die Java-Dateien liest und den Namen der Klasse und alle Importanweisungen in eine Datei schreibt und daraus ein Klassendiagramm generiert, graphviz kann Ihnen dabei helfen.
Ich verwende Enterprise Architect seit einigen Jahren. Ein JBoss-Entwickler hat es mir vorgeschlagen. Es funktioniert sehr gut für alle Arten von UML-Modellierung, einschließlich des Reverse Engineering von Klassenmodellen (Java, C # und andere). Die Basisversion ist derzeit 120 Dollar pro Sitzplatz, aber es hat die meisten Funktionen von viel teureren Tools und es ist viel einfacher zu lernen. Ich mag besonders seine Fähigkeit, HTML- und RTF-Dokumentation zu generieren.
Es ist sehr einfach, den Code zwischen dem Werkzeug und Ihrem Quellcode zu synchronisieren. Sogar bidirektional, wenn Sie wollen.
Ihr PM mag auch die Aktivitäts- und Sequenzdiagramme, die er erstellen kann. Ich benutze auch häufig die Deployment-Diagramme. Es ist sehr hilfreich, all dies in einem Tool zu haben.