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 )
- Mensafrau gibt Artikelnr. in Kasse ein
- Kasse zeigt Betrag auf Display an
- Kunde schiebt Karte in Lesegerät
- Kasse bucht Betrag von Mensakarte ab
- Alternative: Kasse zeigt Fehlermeldung auf Display an
- 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