Skip to content
IRC-Coding IRC-Coding
UML Unified Modeling Language Klassendiagramm Sequenzdiagramm Aktivitätsdiagramm OCL Modellierung

UML Grundlagen einfach erklärt: Diagrammtypen, Klassendiagramm, Sequenzdiagramm & OCL

UML ist standardisierte visuelle Sprache zur Modellierung von Software.Mit Strukturdiagrammen,Verhaltensdiagrammen (Aktivität, Sequenz, Zustände), Beziehungen (Assoziation, Aggregation, Komposition)

S

schutzgeist

2 min read

UML Grundlagen – Diagrammtypen, Klassendiagramm, Sequenzdiagramm & OCL

Dieser Beitrag ist eine Begriffserklärung zu UML – inklusive Prüfungsfragen und Tags.

In a Nutshell

UML ist eine standardisierte visuelle Sprache zur Modellierung von Software und Systemen, die strukturierte und verhaltensorientierte Diagramme bietet, um Anforderungen, Entwurf und Kommunikation konsistent zu dokumentieren.

Kompakte Fachbeschreibung

UML trennt Struktur und Verhalten. Strukturelle Diagramme wie Klassendiagramm und Paketdiagramm beschreiben statische Elemente, verhaltensorientierte Diagramme wie Aktivitätsdiagramm, Sequenzdiagramm und Zustandsdiagramm zeigen Abläufe und Reaktionen. Zentrale Beziehungen sind Assoziation, Aggregation, Komposition und Generalisierung, ergänzt durch Abhängigkeiten und Realisierung. Sichtbarkeiten steuern Zugriff, Multiplikitäten beschreiben Kardinalitäten, Stereotype und Profile erlauben Anpassung an Domänen. Textuelle Nebenbedingungen formuliert man mit OCL, etwa Invarianten, Vorbedingungen und Nachbedingungen.

Prüfungsrelevante Stichpunkte

  • Strukturdiagramme wie Klassen, Objekte, Pakete, Komponenten, Verteilung
  • Verhaltensdiagramme wie Aktivität, Sequenz, Kommunikation, Zustände, Anwendungsfälle
  • Beziehungen verstehen: Assoziation, Aggregation, Komposition, Generalisierung, Realisierung, Abhängigkeit
  • Kardinalitäten korrekt notieren und mit Geschäftsregeln abgleichen
  • OCL nutzen für präzise Bedingungen, daraus Akzeptanzkriterien und Tests ableiten
  • Zustände mit Guard-Bedingungen und Aktionen modellieren, sicherheitsrelevante Übergänge prüfen
  • Wirtschaftlichkeit durch frühzeitige Fehlerentdeckung, bessere Kommunikation
  • Modelle versionieren, reviewen, abnehmen, Bezug zu Anforderungen und Testfällen dokumentieren

Kernkomponenten

  1. Notationselemente: Klasse, Attribut, Operation mit Sichtbarkeit
  2. Beziehungen: Assoziation, Aggregation, Komposition, Generalisierung
  3. Multiplikitäten und Rollenbezeichnungen an Kanten
  4. Pakete, Namenräume, Import und Sichtbarkeitsregeln
  5. Komponenten und Schnittstellen mit Realisierung
  6. Aktivitätselemente: Aktion, Entscheidung, Zusammenführung, Verzweigung, Synchronisation
  7. Interaktionselemente: Lifeline, Nachricht, Aktivierung im Sequenzmodell
  8. Zustandsautomat mit Zuständen, Übergängen, Guard, Entry und Exit
  9. Profile, Stereotype, Tagged Values für domänenspezifische Anpassungen
  10. OCL für Invarianten, Vorbedingungen, Nachbedingungen und darauf aufbauende Testfälle

Praxisbeispiel

Domäne: Bibliothek Ausleihe

Klassendiagramm:
Klassen: Leser, Medium, Ausleihe
Beziehungen: Leser zu Ausleihe (1 zu *), Medium zu Ausleihe (1 zu *)
Ausleihe hat Attribute: startdatum, enddatum, istVerlaengert
Operation: verlaengern() mit Regel: enddatum = enddatum + 14 Tage wenn Medium verlängerbar

Sequenz: "Medium ausleihen"
Akteure: Leser, System, Katalog, Ausleihservice
Ablauf:
1. Leser sendet "Medium ausleihen" an System
2. System fragt Katalog nach Verfügbarkeit
3. Katalog antwortet "verfügbar"
4. System ruft Ausleihservice: Ausleihe anlegen mit Leser und Medium
5. Ausleihservice erstellt Ausleihe und bestätigt, System meldet Erfolg

OCL Beispiel:
Context Ausleihe::inv RueckgabedatumGueltig: self.enddatum > self.startdatum

Vorteile und Nachteile

Vorteile

  • Gemeinsame Sprache für Fachbereich und Technik
  • Bessere Analyse und Entwurfsqualität
  • Schnellere Testableitung
  • Klare Dokumentation, bessere Wartbarkeit

Nachteile

  • Einarbeitungsaufwand
  • Gefahr überbordender Modelle
  • Fehlende Verbindlichkeit ohne Prozess und Pflege
  • Mögliche Missverständnisse bei uneinheitlicher Notation

Typische Prüfungsfragen (mit Kurzantwort)

  1. Hauptkategorien UML Diagramme? Strukturdiagramme (Klassen, Pakete, Komponenten) und Verhaltensdiagramme (Aktivität, Sequenz, Zustände, Anwendungsfälle).
  2. Unterschied Aggregation vs. Komposition? Aggregation = schwache Ganzes-Teil-Beziehung ohne Lebenszyklusbindung, Komposition = starke Beziehung mit gemeinsamer Lebensdauer.
  3. OCL in UML nutzen? Für präzise formale Nebenbedingungen wie Invarianten, Vor- und Nachbedingungen, die sich gut in Tests überführen lassen.
  4. *Kardinalitäten 1, , 0..1? 1 = genau ein Element, * = null bis beliebig viele, 0..1 = optionales einzelnes Element.
  5. Systeme in UML abgrenzen? Über Systemgrenzen im Anwendungsfalldiagramm und Paket-/Komponentenschnittstellen.
  6. Testfälle aus UML ableiten? Aus Szenarien in Sequenz/Aktivitätsdiagrammen und OCL-Bedingungen.
  7. Generalisierung nutzen? Wenn gemeinsame Eigenschaften in Basisklasse ausgelagert werden, Spezialisierungen erweitern/überschreiben.
  8. Korrektes Klassendiagramm für IHK? Klassen mit sinnvollen Namen, Attribute mit Typen/Sichtbarkeit, Operationen, Beziehungen mit Kardinalitäten, Rollen.

Wichtigste Quellen

  1. https://www.omg.org/spec/UML
  2. https://martinfowler.com/books/uml.html
  3. https://de.wikipedia.org/wiki/Unified_Modeling_Language
Zurück zum Blog
Share:

Ähnliche Beiträge