PlantUML Diagramme

Das “Ökonomische Prinzip”

Schon in der Schule half mir das “Ökonomische Prinzip”: Ich investierte Zeit in Fächer wie Mathe und Physik, die für meinen Wunschberuf Elektroniker wichtig waren. In anderen Fächern tat ich nur das Nötigste – Englisch lief gut, Deutsch mittelmäßig, und Sport … na ja, lassen wir das.

Automatisierung ist alles

Und jetzt im Berufsalltag werden mir Tätigkeiten, die immer wieder anfallen und relativ aufwendig sind, irgendwann lästig. So versuche ich, Dinge zu optimieren und zu automatisieren. Beim Entwickeln hilft mir DevOps, CI/CD, Pipelines und KI. Nur beim Dokumentieren - vor allem bei Diagrammen - war ich noch manuell unterwegs. Bis ich PlantUML entdeckt habe.

Was ist PlantUML

PlantUML ist ein Open-Source-Tool, mit dem sich Diagramme anhand einfacher Textbeschreibungen erstellen lassen. Beispiel - der Klassiker unter den Diagrammen.

@startuml
Bob -> Alice : hello
@enduml

Gerendert sieht das Diagramm dann so aus:

Diagrammtypen

Schaut man ins Netz auf die Seiten https://plantuml.com/de/ oder https://www.planttext.com findet man viele Informationen, was man damit alles machen kann. PlantUML unterstützt Klassendiagramme, Sequenzdiagramme, Use-Case-Diagramme, Aktivitätsdiagramme,Zustandsdiagramme, Komponentendiagramme, Objektdiagramme, ER-Diagramme (Entity-Relationship), Gantt-Diagramme, Architekturdiagramme (C4-Model).

Nachfolgend drei Beispiele.

Verteilungsdiagramn

Für meinen ersten Einsatzzweck brauche ich ein Verteilungsdiagramm.

Sequenzdiagramm

Domain Story Telling

Letztes Jahr habe ich Domain Storytelling (https://domainstorytelling.org) entdeckt – eine großartige Methode, um Prozesse einfach und verständlich zu visualisieren. Der größte Vorteil liegt in der Einfachheit: Mit wenigen Shapes und klaren Regeln gelingt der Einstieg schnell. Praktisch dabei: Auch PlantUML unterstützt diese Art von Diagrammen.

Renderoptionen

Für das Rendern von PlantUML-Diagrammen gibt es verschiedene Optionen. Eine praktische Möglichkeit ist die Nutzung von VSCode mit der PlantUML-Extension, die es ermöglicht, Diagramme direkt im Editor zu erstellen und in Echtzeit anzuzeigen.

Alternativ bietet der PlantUML-Server eine schnelle Möglichkeit, Diagramme online zu generieren und zu rendern, ganz ohne lokale Installation. Beide Optionen sind flexibel und bequem, um PlantUML-Diagramme schnell zu visualisieren.

KI-Unterstützung

Dank generativer KIs lässt sich der PlantUML-Code jetzt bequem per Prompt anfordern. Für einen ersten Entwurf funktioniert das hervorragend, auch wenn manchmal Funktionen miteinander vermischt werden. Daher ist eine manuelle Nachbearbeitung meist noch erforderlich, um das Diagramm zu perfektionieren.

Eigener Rendering Server

Ein eigener Rendering Server ist schnell aufgesetzt, falls man schon einen Virtual Private Server mit Docker am Laufen hat. Glücklicherweise hab ich diesen. Dann reicht folgender Befehl, um den Server zu installieren:

# PlantUML-Server mit Docker starten
docker run -d -p 8080:8080 plantuml/plantuml-server:jetty

Möchte man diesen nicht per http, sondern über eine sicher Verbindung laufen lassen, braucht’s dazu noch einen Webserver - in meinem Fall Apache - und ein Zertifikat. Dann steht dem Betrieb des eigenen Rendering-Servers nichts im Wege.

Der Server kann hier ausprobiert werden: https://plantuml.gans-von-trott.de/uml

Verbindung mit HUGO

Damit die Diagramme überhaupt erscheinen, musste ich HUGO - mit dem die Webseite erstellt wurde - erst mal dazu bringen, PlantUML zu verstehen. Dank der folgenden Website ist das gelungen: https://paul.dugas.cc/post/plantuml-shortcode/

Zurück
2024-11-30 06:30