PlantUML

Einführung

PlantUML ist ein Open-Source-Tool, das es ermöglicht, Diagramme aus einfachen Textbeschreibungen zu generieren. Es unterstützt eine Vielzahl von Diagrammtypen, sowohl UML-basierte als auch nicht-UML-basierte Diagramme. PlantUML ist besonders nützlich für Entwickler, Architekten und Projektmanager, da es die Erstellung und Pflege von Diagrammen vereinfacht und in viele Entwicklungsumgebungen integriert werden kann.

Mögliche UML-basierte Diagramme

Sequenz-Diagramm

Beschreibung: Ein Sequenzdiagramm zeigt die Interaktion zwischen Objekten in einer bestimmten Reihenfolge. Es wird häufig verwendet, um den Ablauf von Nachrichten zwischen Objekten in einem System zu visualisieren.

Beispiel in PlantUML:

@startuml
Alice -> Bob: Hallo! 
Bob --> Alice: Hallo zurück!
@enduml

Sequenz-Diagramm

Erklärung:

  • -> zeigt eine Nachricht von einem Objekt zum anderen.
  • --> zeigt eine Antwort.

Ablauf-Diagramme

Beschreibung: Ablaufdiagramme (auch Aktivitätsdiagramme genannt) zeigen den Ablauf von Aktivitäten und Entscheidungen in einem Prozess. Sie sind besonders nützlich, um Geschäftsprozesse oder Algorithmen zu visualisieren.

Beispiel in PlantUML:

@startuml 
start
:Aktivität 1; :Aktivität 2; 
if (Bedingung?) then (Ja)
 :Aktivität 3; 
 else (Nein)
 :Aktivität 4; 
 endif 
 stop 
@enduml

Ablauf-Diagramm

Erklärung:

  • start und stop markieren den Beginn und das Ende des Prozesses.
  • if und else zeigen Entscheidungen.

Klassendiagramm

Beschreibung: Klassendiagramme zeigen die Struktur eines Systems durch Klassen, ihre Attribute, Methoden und die Beziehungen zwischen den Klassen.

Beispiel in PlantUML:

@startuml 
class  Auto {   
            -marke: String 
            -modell: String +fahren() 
            }   
class  Fahrer {   
                -name: String +lenken() 
                }   
Auto "1" *-- "1" Fahrer
@enduml

KlassenDiagramm

Erklärung:

  • - zeigt private Attribute, + zeigt öffentliche Methoden.
  • --> zeigt eine Assoziation zwischen Klassen.

Objektdiagramm

Beschreibung: Objektdiagramme zeigen die Instanzen von Klassen zu einem bestimmten Zeitpunkt und deren Beziehungen zueinander.

Beispiel in PlantUML:

@startuml 
object Auto1 {
             marke = "VW" 
             modell = "Golf" 
             }   
object Fahrer1 {
                name = "Max" 
                }   
Auto1 --> Fahrer1 
@enduml

ObjektDiagramm

Erklärung:

  • object definiert eine Instanz einer Klasse.
  • --> zeigt eine Beziehung zwischen Objekten.

Zustandsdiagramm

Beschreibung: Zustandsdiagramme zeigen die verschiedenen Zustände eines Objekts und die Übergänge zwischen diesen Zuständen.

Beispiel in PlantUML:

@startuml 
[*] --> Aus 
Aus --> An : einschalten 
An --> Aus : ausschalten 
@enduml

Zustandsdiagramm

Erklärung:

  • [*] zeigt den Startzustand.
  • --> zeigt einen Übergang zwischen Zuständen.

Mögliche nicht UML-basierte Diagramme

Visualisierung von JSON-/YAML-Daten

Beschreibung: PlantUML kann JSON- oder YAML-Daten visualisieren, um die Struktur und Hierarchie der Daten besser zu verstehen.

Beispiel in PlantUML:

@startjson 
    {
    "name": "Max", 
    "alter": 30, 
    "adresse": { 
                "straße": "Hauptstraße 1", 
                "stadt": "Berlin" 
                } 
    } 
@endjson

JSON/YAML

Erklärung:

  • @startjson und @endjson umschließen den JSON-Code.

Archimate-Diagramm

Beschreibung: Archimate-Diagramme werden verwendet, um Unternehmensarchitekturen zu modellieren. Sie zeigen die Beziehungen zwischen Geschäftsprozessen, Anwendungen und Technologien.

Beispiel in PlantUML:

@startuml 
archimate #Business "Geschäftsprozess" as bp <<business-process>>
archimate #Application "Anwendung" as app <<application-component>>
bp --> app 
@enduml

Archimate

Erklärung:

  • archimate definiert ein Archimate-Element.
  • --> zeigt eine Beziehung zwischen Elementen.

Gantt-Diagramm

Beschreibung: Gantt-Diagramme zeigen Projektpläne und den zeitlichen Ablauf von Aufgaben.

Beispiel in PlantUML:

@startgantt 
[Aufgabe 1] lasts 5 days 
[Aufgabe 2] starts at [Aufgabe 1]'s end and lasts 3 days
@endgantt

Gantt-Diagramm

Erklärung:

  • lasts definiert die Dauer einer Aufgabe.
  • starts at zeigt den Beginn einer Aufgabe relativ zu einer anderen.

Mindmap-Diagramm

Beschreibung: Mindmaps visualisieren Ideen und Konzepte in einer hierarchischen Struktur.

Beispiel in PlantUML:

@startmindmap 
* Root 
** Zweig 1 
*** Blatt 1 
** Zweig 2 
@endmindmap

Mindmap

Erklärung:

  • * zeigt den Root-Knoten.
  • ** und *** zeigen Unterknoten.

Netzwerkdiagramm

Beschreibung: Netzwerkdiagramme zeigen die Struktur und Verbindungen in einem Netzwerk.

Beispiel in PlantUML:

@startuml 
node "Server" as s node 
"Client" as c 
s -- c 
@enduml

Netzwerkdiagramm

Erklärung:

  • node definiert einen Knoten im Netzwerk.
  • -- zeigt eine Verbindung zwischen Knoten.

Projektstrukturplan

Beschreibung: Ein Projektstrukturplan (PSP) zeigt die Hierarchie und Struktur eines Projekts.

Beispiel in PlantUML:

@startwbs 
* Projekt 
** Phase 1 
*** Aufgabe 1 
*** Aufgabe 2 
** Phase 2 
@endwbs

Projektstrukturplan

Erklärung:

  • * zeigt das Hauptprojekt.
  • ** und *** zeigen Unterelemente.

Weiterführende Informationen