Skip to content
IRC-Coding IRC-Coding
Klassendiagramm UML Vererbung Assoziation Aggregation Komposition Attribute Methoden

Klassendiagramm (UML) einfach erklärt

Klassendiagramm visualisiert statische Struktur objektorientierter Systeme. Mit Klassen, Attributen, Methoden, Sichtbarkeiten, Beziehungen (Vererbung, Assoziation, Aggregation, Komposition)

S

schutzgeist

2 min read

Klassendiagramm (UML) – Klassen, Attribute, Methoden, Vererbung, Assoziation, Aggregation & Komposition

Dieser Beitrag ist eine Begriffserklärung zum Klassendiagramm – inklusive Prüfungsfragen und Tags.

In a Nutshell

Klassendiagramme zeigen die Struktur eines Softwaresystems durch Klassen, ihre Attribute, Methoden und die Beziehungen untereinander – zentraler Bestandteil der objektorientierten Modellierung mit UML.

Kompakte Fachbeschreibung

Ein Klassendiagramm visualisiert die statische Struktur eines objektorientierten Systems. Es zeigt Klassen mit ihren Attributen und Methoden sowie Beziehungen wie Assoziation, Vererbung, Aggregation und Komposition. Jede Klasse wird als Rechteck mit drei Bereichen dargestellt: Name, Attribute, Methoden. Sichtbarkeiten (+ public, - private, # protected) und Datentypen werden explizit angegeben. UML-Klassendiagramme sind wichtig für die Entwurfsphase, da sie das spätere objektorientierte Design abbilden und frühzeitig potenzielle Probleme aufdecken.

Prüfungsrelevante Stichpunkte

  • Bestandteil der UML zur Modellierung der Systemstruktur
  • Enthält Klassen mit Attributen und Methoden
  • Stellt Beziehungen wie Vererbung, Assoziation, Aggregation, Komposition dar
  • Erlaubt Sichtbarkeiten und Datentypen (IHK-relevant)
  • Unterstützt objektorientiertes Denken
  • Fördert frühzeitige Fehlererkennung durch statische Struktur
  • Erleichtert Aufwandsschätzung durch Komplexitätsanalyse
  • Muss dokumentiert und versioniert abgelegt werden

Kernkomponenten

  1. Klassenname
  2. Attribute mit Datentyp und Sichtbarkeit
  3. Methoden mit Rückgabetyp und Parametern
  4. Vererbung
  5. Assoziation
  6. Komposition
  7. Aggregation
  8. Schnittstelle (Interface)
  9. Abhängigkeit (Dependency)
  10. Multiplizität an Beziehungen

Praxisbeispiel

// Beispiel: Kunden und Bestellungen
class Kunde {
  -name: String
  -email: String
  +bestellen(): void
}

class Bestellung {
  -datum: Date
  +berechnenGesamtpreis(): float
}

Kunde --> Bestellung

Erklärung: Ein Kunde kann Bestellungen aufgeben. Die Pfeilrichtung zeigt eine Assoziation von Kunde zu Bestellung.

Vorteile und Nachteile

Vorteile

  • Hohe Verständlichkeit durch Standardnotation
  • Frühzeitige Visualisierung der Softwarestruktur
  • Unterstützung objektorientierter Prinzipien
  • Hilfreich bei Teamkommunikation

Nachteile

  • Keine Darstellung des Zeitverhaltens
  • Nicht geeignet für dynamische Abläufe
  • Gefahr der Überkomplexität bei großen Systemen

Typische Prüfungsfragen (mit Kurzantwort)

  1. Klassendiagramm stellt dar? Struktur eines objektorientierten Systems mit Klassen, Attributen, Methoden und Beziehungen.
  2. Sichtbarkeiten in UML-Klassen?
    • public, - private, # protected
  3. Komposition vs. Aggregation? Komposition bedeutet strenge Lebensdauerabhängigkeit, Aggregation ist lockerere Teil-Ganzes-Beziehung.
  4. Schnittstellen dargestellt? Interface mit Stereotyp «interface» und gestrichelte Linien zu implementierenden Klassen.
  5. Beziehungsarten zeigt? Vererbung, Assoziation, Aggregation, Komposition, Abhängigkeit
  6. Vorteile bei der Entwicklung? Strukturiertes Design und verbesserte Wartbarkeit.
  7. Test unterstützen? Klare Abgrenzung von Verantwortlichkeiten ermöglicht gezieltere Tests.
  8. Interface im Klassendiagramm? Sammlung abstrakter Methoden, die von Klassen implementiert werden müssen.

Wichtigste Quellen

  1. https://plantuml.com/class-diagram
  2. https://www.omg.org/spec/UML/
  3. https://www.ihk-aka.de/
Zurück zum Blog
Share:

Ähnliche Beiträge