UML Diagramm automatisch erstellen mit phuml
Da im php hates me Blog heute morgen ein Artikel zum Thema UML im Web erschienen ist, möchte ich auch noch eine Software vorstellen, die ich mal genutzt habe, um von zwei bestehenden Projekten ein Klassendiagramm zu erstellen.
Wem UML garnichts sagt, möge sich den Artikel bei der Wikipedia durchlesen: http://en.wikipedia.org/wiki/Unified_Modeling_Language
Zuerst zeige ich euch mal die Ergebnisse. Draufklicken für eine größere Version. Leider kann ich es nicht in der vollen Größe mit allen Details zeigen, aber einen Eindruck sollte es euch geben:
Hier das zweite Beispiel:
Das PHP-Projekt, das diese Diagramme erstellt, heißt phuml. Es wird über die Konsole aufgerufen, mit einem Pfad als Parameter, und schon erstellt es aufgrund der rekursiven Suche nach Klassen eine solche Übersicht als png-Datei.
Sie enthält alle Klassen, ihre Methoden sowie die Vererbungshierarchie und Abhängigkeiten. Ihr solltet es einfach mal ausprobieren mit euren Projekten.
D:\xampp\htdocs\Projekt17\testunit>phuml.bat -r ../application/classes -graphviz -createAssociations false -neato projekt17.png
graphviz bzw. neato sind nötig, denn als Zwischenschritt wird eine dot-Datei erstellt, die daraufhin zu einem png konvertiert wird.
Die Installation ist denkbar einfach. Nachdem man phuml aus dem svn des Entwicklers (oh, ein neues Thema, das ich noch näher beleuchten werde in den nächsten Tagen) ausgecheckt hat, kann man erstmal die Hilfe aufrufen mittels
$ phuml -h
Alle Ausgangsformate (Prozessoren genannt) erhält man mit
$ phuml -l
Wundert euch übrigens nicht über riesige Ausmaße des Ergebnisses. Die oben gezeigten Diagramme sind im Original 10900*17740 bzw. 13928*11833 Pixel.
Für Klassendiagramme, die man vor der eigentlichen Programmierung erstellen möchte, gibt es auch jede Menge Tools. Eine Übersicht von über 100 UML-Tools findet sich hier. Ich persönlich habe bisher nur Erfahrungen mit Visual Paradigm. Das Ergebnis damals sah ungefähr so aus:
Ich bin gespannt auf eure Ergebnisse und Erfahrungen!
Interessantes Tool. Kommt allerdings nicht mit dem Zend Framework zurecht. Sobald der Neato-Prozessor läuft habe ich einen komplett belegten Speicher (sind ja doch 2GB) und das Skript bricht ab.
Aber bei kleineren Projekten oder Rechnern mit mehr Speicher durchaus zu gebrauchen.
Benni
10 Jul 09 at 20:05
Wo bzw. wie kann man neato installieren?
Bei Google finde ich nur einen Staubsaugroboter …
phUML
10 Dez 13 at 11:04
Soweit ich mich erinnere ist neato Teil von graphviz. Wenn du das richtig installiert hast sollte neato auch vorhanden sein. Evtl. nach „neato graphviz“ oder „neato ubuntu“ googlen, da solltest du fündig werden.
Michael Kliewe
10 Dez 13 at 12:10
Tool ist zu GitHub umgezogen: https://github.com/jakobwesthoff/phuml
David
6 Feb 18 at 14:01