UML Diagramm erstellen – Was ist das beste Tool in 2024

UML Diagramme erstellen- Coding Lab Steffen Lippke Tutorial GUIDE

Keinen Plan von einem UML Diagramm? Welches Tool ist gut?

Ich zeige Dir die besten Tools und wie Du richtig mit UML arbeitest!

Auf geht’s!

Was ist UML?

Die Abkürzung UML bedeutet Unified Modelling Language, die mit Grafiken versucht Software darzustellen. Die sogenannten UML-Diagramme unterteilen sich in zwei Typen:

TOP 4 Tools für Dein UML Diagram

Ich stelle Dir die 4 Tools vor, mit denen Du coole UML-Diagramme zeichnen kannst.

Ich empfehle Dir nicht die analoge Methode mit einem Blatt und Papier zu nutzen, weil die Diagramme dynamisch und unregelmäßig im Denkprozess wachsen.

Als stilvoller Informatiker nutze lieber eine der folgenden Optionen:

  1. Du kannst mit Microsoft PowerPoint (in der Office Suite enthalten) schnelle Diagramme erstellen.
  2. Mit OneNote und einem Stylus erstellst Du mit Rechtecken, Lienen und Texteingabe ein UML-Diagramm. Nutze die Lasso-Verschiebe-Funktion von OneNote.
  3. Nutze Gliffy, wenn Du Online Tools bevorzugst. Die Software lässt sich 100 % online ohne Installation bedienen.
  4. Wenn Du als Software-Architekt oder -Engineer professionell mit UML-Diagrammen arbeitest, nutze Microsoft Visio Standard. Die kostenpflichtige Version hilft Dir jeden (UML-)Diagramm-Typ zu erstellen. Die UML-Templates kannst Du Dir im Internet kostenlos downloaden und vermeidest mit diesen Trick den Aufpreis für die Visio Pro Version (Studenten bekommen Visio kostenlos).

Sonstiges

Mit „Annontations“ – Anmerkungen kannst Du einzelne Klassen erklären. Nutze sprechende Namen für die Klassen.

Pattern / Muster

Viele Software-Architekten vor Dir haben sich Gedanken über die gleichen Herausforderungen gemacht. Deshalb haben einige Architekten bei paar Best Practices (Patterns) veröffentlicht:

  1. Sammlung Englisch
  2. Empfehlenswerte Quelle

Beachte: Zwinge nicht jedes Pattern in jedes Projekt. Die Patterns sind nicht keine Universal-Lösung die für alles – verwende diese nur, wenn diese in das Projekt passen!

Steffen Lippke

Was ist ein UML Diagramm?

Die UML-Klassendiagramme modellieren objektorientierte Coding-Klassen. Objektorientierte Programmiersprachen können Klassen in Code umsetzen. Mit einer solchen Modellierung versuchen die Software-Architekten die Realität abstrahiert in Software nachzustellen.

Die Klassendiagramme zeigen alle Klassen eines Software-Moduls…

  • mit den Attributen (Properties, Aussehen)
  • mit den Funktionen (Verhalten, Operationen)
2020-07
2020-07

Die UML-Klassen können hierarchisch angeordnet sein. Höhere Klassen vererben ihre Eigenschaften und Funktionen an niedere Klassen, die von der höheren Klasse abstammen.

Diese Diagramm-Form zeigt die Zusammenhänge der Klassen in einer objektorientierten Software auf.

Warum brauche ich UML Diagramme?

Jedes gutgebaute Haus beginnt mit der Planung!

Selbst, wenn der Architekt die Planung hunderte Mal wegen Bauherausforderungen anpassen muss, hilft der Plan die Maurer anzuweisen.

Beim Software-Engineering überlegt ein guter Programmierer erst wie er die Klassen aufbaut, bevor er mit HIT beginnt (HIT bedeutet Vom Hirn in die Tastatur!).

Eine gute Planung verhindert gravierende Änderungen, während der Entwicklung. Ein Klassendiagramm beugt viele grobe Planungsfehler vor.

Tutorial UML Diagramm [Typ Klassen]

Versuche Schritt für Schritt vorzugehen und halte die zwingend die Reihenfolge ein, weil sonst Dein Klassendiagrammen unlesbar wird!

Sammle die Entitäten

Frage Dich:

  • Welche UML-Klassen möchtest Du in Deinem System abbilden?
  • Kommen in naher Zukunft weitere Klassen hinzu?
  • Wie flexibel ist Dein Aufbau?

Jede Klasse besitzt einen Namen. Diesen schreibst Du in fetter Schrift in ein rechteckiges Kästchen.

Eine Klasse
Eine Klasse

Jede Klasse kannst Du in die 3 Abschnitte Titel, Attribute und Funktionen unterteilen.

Füge Attribute hinzu

Frage Dich:

  • Was zeichnet die Klasse aus?
  • Was sind die Eigenschaften und Merkmale, um die einzelnen Objekte der Klasse voneinander zu trennen?

Neben den Attribut-Namen kannst Du den Speichertyp und einen Beispiel-Wert zum Attribut vermerken. Das Vorzeichen Plus (öffentlich), Minus (privat) oder Raute (geschützt) kennzeichnet die Sichtbarkeit der Attribute nach außen.

und noch eine Attribute - UML Diagramm Steffen Lippke Tutorial GUIDE
und noch eine Attribute

Mitarbetier

+ nachname: String (+ = öffentlich)

– gehalt:Integer (- = privat)

# jobtitel: String (- = protected)

Mit Beispielwerten sieht ein vollständiges Attribut so aus:

+ nachname: String = „Steffen Lippke

– gehalt:Integer = 13452345

# jobtitel: String = “Hacker

Funktionen definieren

Was kann Deine Klasse? Alle CRUD-Funktionen sind implizit immer dabei (CRUD = Create, Read, Update and Delete) und tauchen nicht in einem Klassendiagramm auf.

Funktionen notierst Du wie Attribute. Gebe einen/mehre Eingabeparameter und Rückgabewerte an:

mit Funktionen
mit Funktionen

hacken(ipadress:String)shutdownTime:DateTime

+ blogSchreiben(idee:String)blogtext:String

Über den Titel der Klasse kann ein Klassentyp stehen z. B. Interface (optional).

Erstelle Verbindungen

Wer erbt von wem was? Wie sind die Zusammenhänge zwischen den Klassen?

Pfeil – Generalisierung: Der Pfeilkopf zeigt immer die Superklasse an! Die Klasse Haus erbt alle seine Attribute und Funktionen von der Klasse Gebäude und kann eigene weitere noch hinzufügen.

Generalisierung
Generalisierung

Einfache Verbindung – Assoziation: Mit einer einfachen Verbindung (Linie) zeigst Du eine Verbindung zwischen zwei Klassen auf. Auf den Verbindungslinien kannst Du die Multiplizitäten angeben.

Ausgefüllter Rautenpfeil – Komposition: Ein Unternehmen kann nicht ohne Abteilungen existieren und jede Abteilung muss einem Unternehmen zugeordnet sein.

Komposition
Komposition

Weißer Rautenpfeil – Aggregation: Eine Idee kann ohne ein Startup existieren, aber ein Startup muss keine Idee haben (wäre etwas dämlich).

Aggregation
Aggregation

Füge Multipliztäten hinzu:

Wenn in Deinem System ein Objekt der Klasse X besteht, wieviele Objekte der Klasse Y können / müssen existieren? Schalte Deinen Verstand ein!

Multiplizitäten
Multiplizitäten

Die Multiplizitäten beschreiben die Anzahl der Objekte, die für eine Klasse vorliegen können. Eine Vorlesung braucht mindestens einen Studenten, der diese besucht, damit die Vorlesung stattfinden kann – aber 1 Student kann in die Uni eingeschrieben sein, ohne dass er eine Vorlesung besucht (Urlaubssemester).

Tipps für bessere Klassendiagramme

Für eine gute Darstellung des UML-Diagramms, musst Du die Realität gut kennen und die Zusammenhänge verstehen:

es geht noch mehr
es geht noch mehr

Wenn Du einen Online-Shop mit der UML-Sprache modellierst, musst Du umfassend alle Datenobjekte mit dessen Funktionen und Attributen kennen. Nicht jeder Online-Shop ist gleich – sondern Du musst bei einer Deiner Entwicklung oft besondere Funktionen und andere Attribute implementieren.

Ultimativer Tipp: In der Uni / Schule lernst Du, wie eine 100 % korrekte Notation in UML aussieht. In der freien Wildnis (Echte Software-Entwicklung) siegt der Software-Architekt, der sich bemüht ein verständliches Diagramm zu erstellen.

Notationen, Farben und Struktur (Keep it stupid simple) helfen Dir die Diagramme übersichtlicher zu gestalten.

Steffen Lippke

Weitere Typen von UML-Diagrammen

Neben den Klassendiagrammen kann UML auch Aktivitäten in der Software beschreiben.

Ein Sequenzdiagramm gibt an, wie die einzelnen (vorher gezeichneten Klassen) in logisch sinnvoller Reihenfolge miteinander reagieren. Der Software-Architekt kann mit diesem Diagramm-Typ z.B. Bestellprozesse abbilden.

Mit einem Komponentendiagramm beschreibt UML die Sicht auf eine Software-Architektur als Ganzes.

Während ein Klassendiagramm eine spezifisch und detaillierte Ansicht darstellt, erklärt ein Komponentendiagramm die groben Zusammenhänge der Software-Module. Dieser Typ bildet Schnittstellen, Software-Modulgruppierungen und – Segmentierung ab.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Jeden Monat teile ich mit Mitgliedern
4 neue praxisnahe Tutorials (je 1000+ Wörter).


Trage Deine Mail, damit Du
Deine Coding + Hacking Skills erweitern kannst!

Die Webseite nutzt nur technisch notwendige Cookies.