Menu Close

Objektorientierte Analyse und Design (Vorlesung 11)

Organisatorisches

  • am 30.5. das Praktikum findet statt, aber es wird verschoben

Start: Seite 227

Sequenzdiagramme

  • Interaktionen zwischen Akteur und Objekten des Systems
  • Lebenslinien enthalten Ablaufreihenfolge
  • „Highlander“-Prinzip, es ist immer nur einer aktiv
  • Beschreibung an den Pfeilen = Name der Methode / Aktivität
  • Nachricht = Offener Pfeil
  • Aufruf = Geschlossener Pfeil
  • Sequenzdiagramme beschreiben einen Ausschnitt und kein komplettes Verhaltensdiagramm mehr.
  • Es wird von Links nach Rechts gelesen und von oben nach unten
  • Je Fall ein eigenes Sequenzdiagramm → Exmatrikulation klappt oder klappt nicht
  • Rückgabe der Aktivität nur mittels return möglich!
  • Zwischen Aufruf und Rückgabe, kann das Objekt nichts ausführen ( bei Synchron! )

Beispiel: Exmatrikulation

  • Sachbearbeiter gibt Matrikelnr. ein
  • Maske prüft, ob der Student existiert
  • Studentenverwalter liefert den Student zurück
  • Lösch-Bestätigung fehlt im Diagramm

Die beiden Sequenzdiagramme beschreiben nur erfolgreiche Anwendungsfälle. Um Fehlerfälle zu beschreiben müssten jeweils ein neues Diagramm erstellt werden.

  • Die Aktivität eines Objekts beginnt immer mit dem Aufruf und endet mit einem Return
  • Methodenaufrufe können nur von aktiven Objekten erfolgen
  • Returns müssen zwar nicht eingezeichnet werden, sollten sie jedoch, damit das Ende einer Methode eindeutiger wird

Beispiel: Essen zahlen

  • Notizen
    • Schreiben auf das Display ist eine Print-Funktion, somit ist auch nach Ende der Aktivität der Text noch zu lesen
    • Es werden nur Akteure und nötige Objekte beschrieben, das Essen und das Herantreten an die Kasse gehören nicht zu dem Anwendungsfall bzw. der Sequenz
    • Verarbeitung und Logik sollte der Kasse als Verantwortung gehören
    • Die Karte hat keine eigenen Methoden (z.B.: lies() )
    • Wenn die Verarbeitung im Lesegerät liegt, wird ein anderes Lese-/Schreibverfahren die Anforderung haben, dass die Methoden redundant implementiert werden.
  •  Welche Aktoren gibt es?
    • Mensakunde
    • Kassenfrau
  •  Wie laufen die Aufrufe?
    • Kunde geht zur Kasse ( Trigger )
    1. Mensafrau gibt Artikelnr. in Kasse ein
    2. Kasse zeigt Betrag auf Display an
    3. Kunde schiebt Karte in Lesegerät
    4. Kasse bucht Betrag von Mensakarte ab
    5. Alternative: Kasse zeigt Fehlermeldung auf Display an
    6. Kunde entnimmt Karte aus dem Lesegerät

Fehler

  • Akteure haben keine Methoden ( Nur Nachricht senden möglich )
  • Kapselungsbruch ( Nicht aufrufen, sondern informieren!)
  • Zuviele Aktivitäten/Verzweigungen in einem Sequenzdiagramm ( Aufteilen! )
  • Verzweigungen asynchron darstellen ( Sollten synchron sein )

Anwendung

  • Alternativen (sparsam einsetzen)
  • Ausgliederung komplexer Aktivitäten in neue Sequenz-Diagramme mittels ref (sparsam verwenden)
  • Schleifen ( Auf Konstruktoren aufpassen )

Ende: Seite 255

Schreiben Sie einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.

Index