Klassendiagramme der UML 2

Klassen und Objekte

Klasse

  • Zusammenfassung gleichartiger Objekte
  • Bauplan für Objekte
  • definieren Attribute
  • definierten Operationen

Objekt

  • bildet Gegenstand der realen oder vorstellbaren Welt ab
  • besitzt eindeutige Identität
  • klare Abgrenzung und klare Bedeutung
  • besitzt ein beobachtbares Verhalten
  • hat einen Zustand

Klassen und Objekte 1

Klassen und Objekte 2

Instanzen einer Klasse

  • Objekte entstehen durch Instanziierung einer Klasse
  • mit der Instanziierung beginnt Lebenszyklus

Instanzen einer Klasse

Attribute von Klassen

  • definieren Daten
  • bilden gemeinsam Zustand des Objekts
  • in jedem Objekt enthalten
  • jeweils durch individuellen Wert repräsentiert
  • besteht mindestens aus Name und Datentyp

Attribute von Methoden und Klassen

  • definieren Verhalten
  • Objekt zeigt Verhalten nur nach Aufforderung per Nachricht durch anderes Objekt
  • Operation für alle Objekte identisch

Domänemodell

Beispiel für Domänemodell

Kategorien von Klassen

Kategorien von Klassen in der Anforderungsdefinition

Klassendiagramm

Sichten für Klassendiagramme

  • konzeptionelle Sicht
    • Definition der relevanten Bestandteile
    • aus Sicht des Anwenders
    • Verwendung von Analysemustern
  • Spezifizierende Sicht
    • Darstellung der internen Struktur
    • Modellierung der Implementierungsphase
    • Erstellung auf Basis der fachlichen Klassen
    • Anreicherung um technische Klassen
    • Verwendung von Entwurfsmustern
  • Implementierende Sicht
    • Umsetzung der Klassen in Code

Beziehungstypen

Beziehungstypen im Klassendiagramm

Generalisierung

  • Zentrales Konzept
  • Klasse A, Basisklasse, Superklasse
  • ist Verallgemeinerung der Klasse B
  • Umkehrung: Spezialisierung
  • Definition von Vererbungshierarchien möglich
  • Subklasse erweitert Attribute der Superklasse

Generalisierung

Assoziation

  • Beziehungstyp auf Instanzniveau
  • Menge aller Verknüpfung mit gleicher Struktur und Semantik
  • Bezeichnung beschreibt inhaltliche Bedeutung
  • Rollennamen geben Rolle einer Klasse aus Sicht der Klasse an
  • Multiplizitäten geben Anzahl der möglichen Referenz an

Assoziation

Multiplizitäten

Attributierte Assoziation

Attributierte Assoziation

Aggregation und Komposition

  • Aggregation
    • Beziehung zwischen Objekten
    • durch Rangordnung gekennzeichnet
    • keine exakte Definition der UML
  • Komposition
    • starke Form der Aggregation
    • jedes Objekt der Teil-Klasse zu einem Zeitpunkt nur Komponente eines einzgen Objekts
    • Löschen des Ganzen führt zu automatischer Löschung der Teile

Aggregation

Schnittstellen

  • Spezifikation des externen Verhaltens von Klassen oder anderen Elementen
  • Schnittstellen werden je nach Sicht bereitgestellt
  • keine Instanziierung möglich
  • zwei alternative Darstellungsformen

Schnittstellen

Muster in der Softwareentwicklung

Analysemuster

  • zur Abbildung häufig vorkommender Strukturen in der Anwendungsdomäne

  • unterstützt Identifikation von Klassen und Modellierung der Beziehungen zwischen Klassen

  • abstrahieren Problemlösungsmodelle eines Einzelfalls

  • Idee:

    • Muster als bewährte ud wiederverwendbare Vorlage
  • darstellen von komplexen Zusammenhängen am Modell

  • nach Fowler:

    • eine Idee die sich in einem praktischen Kontext als nützlich erwiesen hat und wahrscheinlich auch in anderen sein wird
  • nach Coad: .“[..] a template of objects with stereotypical responsibilities ans interactions, the template may be applied again and again, by analogy“

  • eine standardisierte Lösung für bestimme Probleme

  • unterstützt die Kommunikation

Beispiele für Analysemuster

  • Liste
  • Exemplartyp
  • Baugruppe
  • Stückliste
  • Koordinator
  • Rolle
  • Wechselnde Rolle
  • Historie
  • Gruppe
  • Gruppenhistorie

Analysemuster Liste

  • Gruppierung gleichartiger Teile
  • Geltungsbereich von Eigenschaften erstreckt sich üer alle Teile
  • wiederholt auftretende Daten sollen nicht redundant gespeichert werden
  • Test “kann das Ganze ohne die Teile existieren und die Teile ohne das Ganze?”
  • Struktur:
    • Ganzes-Teil-Beziehung als Komposition zwischen zwei Klassen

Analysemuster Liste

Analysemuster Exemplartyp

  • für Sachverhalt/Gegenstand existieren mehrere Exemplare (Ausprägungen)
  • Eigenschaften sind für alle Exemplare gleich
  • Exemplar hat zusätzliche Eigenschaften
  • Struktur:
    • zwei Klassen mit Assoziationsbezeichnungen
    • Exemplartyp kann zeitweilig auch ohne Exemplare existieren (Kardinalität 0…*)

Analysemuster Exemplartyp

Analysemuster Koordinator

  • mehrere Dinge stehen in Sachverhalt zueinander
  • Zusammenhang kann durch weiteres Objekt hergestellt werden
  • Struktur
    • Koordinator Klasse mite wenigen Attributen und Methoden
    • Assoziation der Koordinator Klasse zu Klassen, die in Zusammenhang gebracht werden sollen

Analysemuster Koordinator

Analysemuster Rollen

  • Objekt kann zu Zeitpunk in Bezug auf anderes Objekt verschiedene Rollen einnehmen
  • Struktur:
    • mehrere einfache Assoziationen zwischen zwei Klassen

Analysemuster Rollen

Last modified 2022.05.23