UML-Diagramme mit PlantUML: Übersichtlich und unkompliziert

PlantUML

PlantUML ist ein Open-Source-Tool zur Erstellung von UML-Diagrammen mit einfacher Textsprache  in diesem Fall einer eigenen, domänenspezifischen Sprache. Es wurde 2009 unter der GNU General Public License veröffentlicht und ist sowohl in Form einer Web-Anwendung als auch für Windows, MacOS und Linux verfügbar. Zur Visualisierung der Diagramme nutzt das in Java geschriebene Tool das Programmpaket Graphviz.
Beschäftigt habe ich mich mit dem Tool während meiner zweiten Praxisphase bei der ORDIX AG. Bei der Arbeit mit den UML-Diagrammen verschiedener Projekte boten sich mir dabei folgende Vorteile: Zum einen waren die Diagramme stets übersichtlich, schnell anpassbar und ich konnte sie mit einem einheitlichen Style ausstatten. Zum anderen konnten die Textdateien in die Versionsverwaltung eingebunden werden und standen somit für alle Projektteilnehmer zur Verfügung. Im folgenden Artikel wird das Tool genauer vorgestellt.

Installation von PlantUML

Um PlantUML auf dem eigenen System nutzen zu können, müssen sowohl Java als auch Graphviz installiert sein. Anschließend kann unter https://plantuml.com/de/download die aktuelle Version des Tools heruntergeladen und gestartet werden. Zudem lässt sich PlantUML durch eigene Plugins in viele IDEs, darunter Eclipse, IntelliJ IDEA und Visual Studio, sowie Build-Werkzeuge wie z.B. Gradle integrieren. Dies ermöglicht beispielsweise eine Live-Vorschau der erstellten Diagramme. Wer vorerst auf eine lokale Installation verzichten möchte, kann PlantUML auch über den offiziellen Online-Editor nutzen. Dieser ist unter http://www.plantuml.com/plantuml erreichbar.

Diese Diagrammtypen unterstützt PlantUML

PlantUML unterstützt folgende Typen von UML-Diagrammen:
  • Sequenzdiagramm
  • Anwendungsfalldiagramm (Use-Case-Diagramm)
  • Klassendiagramm
  • Aktivitätsdiagramm
  • Komponentendiagramm
  • Zustandsdiagramm
  • Objektdiagramm
  • Verteilungsdiagramm
  • Zeitverlaufsdiagramm
Der grundlegende Aufbau der Dateien ist dabei immer gleich:
@startuml <Diagramm-Name>
title <Titel>
<Diagrammspezifischer Code>
@enduml 

Den Diagrammtyp erkennt PlantUML anhand des Codes automatisch. Der diagrammspezifische Code und das zugehörige Ergebnis für ein Sequenzdiagramm könnten wie folgt aussehen:

Kunde -> Geldautomat : Karte einschieben
Kunde -> Geldautomat : PIN eingeben
Kunde -> Geldautomat : Betrag wählen
Geldautomat -> Kunde : Bargeld 

Für ein Use-Case-Diagramm sähe es hingegen so aus:

actor Kunde
actor Bankangestellter
package Geldautomat {
    (Geld abheben) as UC1
    (Geld einzahlen) as UC2
    (Geld auffüllen) as UC3
}
Kunde --> UC1
Kunde --> UC2
UC3 <-- Bankangestellter 

Das Layout der Diagramme kann dabei nur bedingt beeinflusst werden. Zwar können die Pfeilrichtungen und damit die Anordnung der Objekte bestimmt werden, die endgültige Positionierung übernimmt jedoch das Tool selbst. Weitere Informationen zum Aufbau der einzelnen Diagramme sind auf der offiziellen Website unter
https://plantuml.com/de/ zu finden.

Anpassungsmöglichkeiten in PLANT 

PlantUML ermöglicht eine detaillierte Anpassung der Diagramme. Es können sowohl für das gesamte Diagramm als auch für einzelne Objekte Schriftart, Schrift- und Hintergrundfarbe sowie weitere spezifische Merkmale festgelegt werden. Dies geschieht entweder direkt in der jeweiligen Textdatei oder in einer eigenen Styles-Datei, welche anschließend inkludiert wird. Das obige Beispiel eines Sequenzdiagrammes ließe sich zum Beispiel durch folgende Zeilen anpassen:

skinparam SequenceLifeLineBorderColor #00405C
skinparam ArrowColor #00405C
skinparam Participant{
    BackgroundColor #00405C
    BorderColor #000000
    FontColor #FFFFFF
} 

So kann sichergestellt werden, dass alle erstellten Diagramme ein einheitliches und zur Corporate Identity passendes Erscheinungsbild vorweisen. Eine Liste mit allen anpassbaren Parametern ist unter https://plantuml-documentation.readthedocs.io/en/latest/formatting/all-skin-params.html vorhanden.

Fazit

Das Open-Source-Tool PlantUML ermöglicht eine einfache und übersichtliche Erstellung von UML-Diagrammen
und zeichnet sich zudem durch viele Integrations- und umfangreiche Anpassungsmöglichkeiten aus. Der große Vorteil gegenüber grafischen Tools ist vor allem die Möglichkeit, die textbasierten Diagramme direkt in die Architekturdokumentation oder ein Wiki einbinden zu können.

By accepting you will be accessing a service provided by a third-party external to https://blog.ordix.de/