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

Maximilian
Maximilian

Herzlich willkommen! Ich bin Max, ein Informatiker mit über 15 Jahren Berufserfahrung. Hier teile ich meine Leidenschaften, Erlebnisse und Perspektiven. Ich lade dich ein, gemeinsam mit mir auf eine Entdeckungsreise zu gehen.

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.