Schema-Tool aus und für Klassen

Crys

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.638
Servus Miteinander,

ich habe ein Projekt „geerbt“, dass ein Java Programm umfasst, welches nun weiterentwickelt werden soll.
Ich bin kein IT’ler, habe nicht IT studiert, kenne mich aber doch gut mit diversen Sprachen aus und habe deshalb mal zugesagt. Meine Erfahrung liegt in kleinen Programmen, die man schnell in der CLI kompilieren kann, für den Eigennutzen.
Das Programm umfasst hier ca. 800 Klassen in >88T Zeilen und wurde leider von +20 Autoren (laut Git Log) im letzten Jahrzehnt geschrieben, ist also etwas chaotisch. Kommentare sind sehr spärlich, genauso wie eine allgemeine Dokumentation.

Jetzt suche ich ein Programm, dass mir aus den class etwas grafisch/greifbares aufbereiten kann. Ein Schema, Mokup oder ähnliches. Damit ich einfacher nachvollziehen kann, was auf was zugreift/übergibt/…

Im selben Zug wäre ein Programm praktisch, in dem ich so ein Schema für neuen Workflow zeichnen kann (Funktionen, Klassen, Variablen, ...). Aktuell habe ich dafür MS Visio genutzt, gibt es da auch etwas passenderes/effektiveres?

Danke schon mal, vor allem für eure Empfehlungen aus erster Hand!
 
Hier werden Sie geholfen: https://stackoverflow.com/questions/6167266/generate-uml-class-diagram-from-java-project
Wird bei 800 Klassen aber sicherlich ziemlich riesig.

Wichtig / Interessant wäre zu wissen, was für ein Framework benutzt wird. Bei JavaEE oder Spring gibt's diverse Einstiegspunkte in die Applikation, die sich durch so ein Diagramm wohl eher nicht so einfach offenbaren. Wenn Dependency Injection und Event Bus benutzt wird, dürfte das Ergebnis so eines automatisiert erstellen Diagramms nicht wirklich zufriedenstellend ausfallen.

Was genau meinst du mit "neuem Workflow"? Willst du kleinere Teile des Programms erweitern / refactoren? Dafür tut's eigentlich jedes fortgeschrittene Mal-Programm :D An der Uni heißt es immer UML hier, UML dort. Aber wenn man dann mal ein echtes Projekt vor der Nase hat, stößt man doch oft ziemlich schnell an die Grenzen von "reinem UML", oder man braucht ewig damit es am Ende wirklich UML konform ist.
Inzwischen benutze für sowas lieber Tools wie OmniGraffle oder LucidCharts.
Visio sollte da genau so gut brauchbar sein. Oder was genau fehlt dir an Visio?

Es kommt sicherlich auf das Unternehmen und den Anwendungsfall an. In riesigen Unternehmen wie IBM und co. ist UML mit all seinen Features und Eigenheiten sicherlich angebracht, damit man am Ende ein Format hat, das jeder Lesen und Verstehen kann. Und wo alles(!) nötige für die Umsetzung drin steht.

Ich benutze meine Diagramme eher für die grobe Planung. Da werden dann unnötige Details weggelassen und nur das nötigste untergebracht, damit es übersichtlich bleibt und man nicht zwischen 5 unterschiedlichen Diagrammenarten auf 10 Bildschirmen hin- und herscrollen muss, um die Zusammenhänge zu sehen. Das entspricht dann natürlich keiner Norm, aber es hat sich bewährt, weil selbst mein Chef, der 0 Ahnung von Informatik hat, sich darin zurecht findet.
Meist ist es am Ende dann ein Art UML Use Case Diagram, gespickt mit ein bisschen Klassendiagram, ER Diagram und Zustandsautomat. Und dann noch zusammenhängende Teile farblich kodiert. Und diverse Notizboxen mit ausführlicheren Beschreibungen und Besonderheiten.
Das geht dann halt gefühlt 100 mal schneller als echtes UML. Ich mach mir keine Gedanken darum, was am Ende public und private ist, und welche Variablen es geben wird. Ich skizziere damit eher den Ablauf des Programms, und hier und da gibt's dann auch ein paar Klassen mit ihren public Interfaces zu sehen, und an wichtigen Stellen steht dann in einer Notizbox dran wie sich die Klasse intern zu verhalten hat, und in speziellen Fällen natürlich auch wie die Kommunikation mit bestimmten Komponenten ablaufen muss.

(und nun steinigt mich (nicht) :D )
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Crys
Zurück
Oben