Klassendiagramm


  1. Was ist das?
    Mit Hilfe der Klassendiagramme ist der Entwickler in der Lage, den Aufbau sämtlicher Klassen sowie die Zusammenhänge und Hierachien zwischen unterschiedlichen Klassen zu visualisieren.
    Da es anfänglich verschiedene Varianten solcher Klassendiagramme gab, wurde dies mittels UML 1.x spezifiziert, um Missverständnisse zu vermeiden.
  2. Notation
    Klasse
    Klasse
    • Class: Dies ist der Klassennamen
    • Attribute: Dies sind die Klassenattribute
    • Operation: Die Klassenmethoden, die öffnende und schliessende Klammer sind optional, ebenfalls wie der Doppelpunkit mit dem Rückgabewert
    Es gibt bei den  Attributen und Mehoden verschiede Varianten der Zugriffsart. Dieses wird wie folgt dargestellt:
    • - private
    • #protected
    • + public

    abstrakte Klassen: werden durch ein zusätzliches {abstrakt} vor dem Klassennamen gekennzeichnet.

    Assoziation
    Klasse2
    Diese Beschreiben Verknüpfungen zwischen Klassenobjekten.   Man sollte den Assoziationen auch Namen geben, um das Diagramm überschtlicher zu gestalten.
    Bsp.: Person1 kennt Person2

    Aggregation:
    Klasse3
    Dies Bezeichnet eine Beziehung "Teil des Ganzen" oder "ist Teil von". Es ist eine detailiertere Bindung als die Assoziation.
    Bsp.: Schraube ist Teil von Bett

    Komposition:
    Klasse4
    Ist eine Art Aggregation mit noch stärkerer Bindung. Es ist auch eine Existenzbindung. Ein Objekt kann ohne dem anderen nicht existieren.
    Bsp.: Armee besteht aus Soldaten (ohne Soldaten kann keine Armee bestehen)

    Rollen:
    Bei Beziehungen zwischen Objekten können diese je nach Beziehung unterschiedliche Rollen einnehmen.
    Bsp.: Siehe Kardinalitäten?
    Student nimmt Rolle Zuhörer ein

    Kardinalitäten:
    Klasse5
    Darunter versteht man die Mengenmässigen Verhältnisse zwischen den Beziehungen
    Bsp.: 1 Prof liest vor 1...* Studenten

    Vererbung:
    Klasse6
    Es ist die Spezialisierung von Klassen. Dabei werden sämtliche Eigenschaften und Funktionen der Oberklasse "vererbt". 

    Von einer Abstrakten Klasse kann kein Objekt erzeugt werden. Es wird zwischen Einfachvererbung(u.A. Java) und Mehrfachvererbung(u.A. C++) unterschieden
    Bsp.: Frau hat alle Eigenschaften, die Mensch auch hat (z.b. Kopf, Arme)
    Bsp.: Luxusdampfer hat alle Eigenschaften eines Schiffs (z.b. Länge, Gewicht) und die eines Hotels (Suiten, Bars,....)
  3. Tools:
  4. Links