Archive for the ‘uml’ tag
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!