DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse...

26
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht

Transcript of DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse...

Page 1: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 1

Objektorientierte Analyse (OOA) Übersicht

Page 2: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 2

Objektorientierte Analyse (OOA) Übersicht

Page 3: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 3

Objektorientierte Analyse (OOA) Übersicht

Page 4: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 4

Objektorientierte Analyse (OOA) Bedeutung der Aktivitätsdiagramme

Anwendung im Projekt• Aktivitätsdiagramme beschreiben den funktionellen Ablauf der Use Cases• Ist ein Use Case sehr umfangreich, werden alle weiteren Verfeinerungen der Aktionen

wiederum durch Aktivitätsdiagramme beschrieben• Objektflüsse (incl. Ein-/Ausgabeparameter) werden nur mit einem Namen spezifiziert, die

genaue Beschreibung der Objekte/Parameter geschieht im Klassendiagramm

Zu beachten• Die Swimlanes der Aktivitätsdiagramme müssen mit den Aktoren der Use Cases

konsistent sein• Schnittstellen zwischen den einzelnen Aktivitätsdiagrammen werden mithilfe der

Ein-/Ausgabeparameter beschrieben; daraus ergibt sich auch der Kontext für das Use Case Diagramm (Schnittstellen nach außen)

• Für die externen Ein-/Ausgabeparameter der Aktivitätsdiagramme müssen entsprechende Aktoren bei den Use Cases existieren

Page 5: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 5

Änderungen durch UML 2:

• Notation der Aktion und des Zustandes vereinheitlicht, jedoch Aktivitäten unabhängig

von Zustandsautomaten

• Tokenkonzept von den Petri-Netzen übernommen

• Diagramm steht für Aktivität und enthält 3 Arten von Knoten: Aktionsknoten (Aktion),

Kontrollknoten und Objektknoten und 2 Arten von Kanten: Kontrollfluss und Objektfluss

• Schachtelung von Aktivitäten

• Neue Notationselemente: Ein- und Ausgangsparameter, Ablaufendknoten,

strukturierte Knoten, weitere Kontrollelemente, Sprungmarken, ..

• …

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Page 6: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 6

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Elemente

einer

Aktivität:

Page 7: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 7

• Eine Aktivität kann Ein- und Ausgangsparameter besitzen

• Aktionen sind Verhaltensaufrufe

• Summe der Aktionen realisiert die Aktivität

• Beachte:

- Unterschied zwischen Kontroll- und Objektfluss

- Zwei Arten von Startbedingungen: Eingangsparameter und Startknoten

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Page 8: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 8

Schachtelung von Aktivitäten:

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Sprungmarken zur Unterbrechung von Kanten, um die Übersichtlichkeit zu erhöhen

Aktionen mit Unteraktivität• Aktionen können durch • eine Unteraktivität näher • beschrieben werden.• Vorteil: Lesbarkeit und Übersichtlichkeit• Kennzeichnung durch Harke rechts unten.

Page 9: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 9

Neuer Typ von Endknoten: Ablaufendknoten

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Page 10: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 10

Tokenkonzept

• aus den Petri-Netzen übernommen zur Steuerung des Ablaufs einer Aktivität

• Ermöglicht die präzise Beschreibung des Verhaltens (zur Laufzeit)

• müssen an allen eingehenden Kanten eines Knotens angeboten werden,

um dessen Ausführung zu ermöglichen (Kontroll- und Datentoken)

• nur gedankliches Konstrukt (keine explizite Modellierung)

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Page 11: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 11

Kontrollelemente (-knoten)

• steuern den Ablauf der Aktivität

• starten und beenden Abläufe

• Entscheidungsknoten lassen

alternative Abläufe zu; Ankunft von

Token startet Entscheidungsverhalten

und die Überwachungsbedingungen

wählen den Zweig aus

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Page 12: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 12

Kontrollelemente (-knoten)

• steuern den Ablauf der Aktivität

• starten und beenden Abläufe

• bei Parallelisierungsknoten werden die eingehenden Token für alle

ausgehenden Kanten dupliziert

• bei den Synchronisationsknoten werden die Token wieder vereinigt

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Page 13: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 13

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Objektknoten:

Page 14: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 14

Objektfluss:

• ist gekennzeichnet durch Objektknoten (Rechtecke mit Namen und optional Zustand des Objekts), z.B. die Ein- und Ausgabeparameter

• oder durch Pin‘s bei den Verhaltensaufrufen mit derselben Benennung

• Objektflüsse müssen stets bezeichnet sein

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Page 15: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 15

Objektfluss:

• Reihenfolge der Tokenweitergabe über Spezifikation in geschweiften Klammern:

• Kapazitätsobergrenze begrenzt Anzahl der Token, die ein Objektknoten aufnehmen kann

• Gewicht einer Objektflusskante sagt aus, wieviele Token notwendig sind, damit der nachfolgenden

Knoten erreicht werden kann

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Page 16: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 16

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Übung zum Objektfluss:

Der Kunde, der bei mir ein Ticket kaufen will, nennt Flugtermin, sowie Abflughafen und Zielort. Ich schaue in die Flugliste – in der Flugliste stehen die einzelnen Flüge als Datensätze, eindeutig gekennzeichnet durch eine Flugnummer - und ersehe daraus, ob noch ein Platz frei ist.

Wenn ja, sage ich dem Kunden die Flugnummer, den Preis und die Zeiten für Start und Landung.

Wenn der Kunde dieses Ticket haben will, fülle ich die Fahrkarte aus (Name des Kunden, Flugnummer, Termin, Startzeit und -ort, Zielzeit und –ort, Preis) und bitte den Kunden um Bezahlung. Wir akzeptieren nur Bargeld, Ich mache mir einen Vermerk „bezahlt“ auf einer Durchschrift des Tickets, die ich zu den anderen bereits bearbeiteten Ticketkopien hefte und in die Schublade lege. Den Einzahlungsbetrag des Kunden lege ich in die Kasse.

Entwerfen Sie dazu zwei Aktivitätsdiagramme „Flug suchen“ und „Flug buchen“ mit allen notwendigen Ein- und Ausgabeparametern.

Page 17: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 17

Strukturierte Knoten:• Fassen Teile einer Aktivität zu einer in sich abgeschlossenen

und strukturierten Ausführungseinheit zusammen• Es gibt mehrere Arten von strukturierten Knoten

• Unterbrechungsbereich (interrupt activity region), s. Seite 16• Expansionsbereich (expansion region), s. Seite 18• Konditionalknoten (Entscheidungsknoten)

für die Modellierung von if-then-else-Bedingungen• Schleifenknoten für die Modellierung

von for-while-do-Schleifen

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

if

then

else

Page 18: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 18

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Unterbrechungsbereich:

• Beinhaltet eine Menge von Aktionen

• Kann über Unterbrechungskante verlassen werden, alle Aktionen im Bereich werden dann beendet.

• Als Unterbrechungssignale kommen zum Einsatz:• Signal empfangen• Zeitereignis empfangen

Page 19: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 19

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Übung (WebBrokerage):

In einem Anwendungsfalldiagramm zum Thema WebBrokerage ist ein Use case „Auftrag anlegen“ spezifiziert worden. Für den Standardablauf soll ein Aktivitätsdiagramm (Aktivität) modelliert werden, das folgende Aktionen enthält:

„Auftragstyp auswählen“ dient u.a. dazu, zwischen Kauf und Verkauf zu unterscheiden: wenn „Verkauf“ gewählt ist, dann werden die Aktionen „Depotliste anzeigen“ und „Verkaufsobjekt auswählen“ durchgeführt; wenn „Kauf“ ausgewählt ist, dann wird „Kaufobjekt auswählen“ durchgeführt.

Die beiden Kontrollflüsse werden in der Aktion „Stückzahl eingeben“ zusammengeführt.

Wir definieren die eben genannten 5 Aktionen zu einem unterbrechbaren Bereich mit einer Empfangsaktion „Dateneingabe unterbrechen“. Diese dient dazu, den unterbrechbaren Bereich verlassen zu können; dazu muss man einen Kontrollfluss von der Empfangsaktion zum Endknoten „Abbruch“ zeichnen. Der Endknoten liegt außerhalb des unterbrechbaren Bereichs.

Nach der Aktion „Stückzahl eingeben“ folgt die Aktion „Börsenplatz auswählen“, die auf den Endknoten „Auftrag angelegt“ führt. Da auch diese Aktion unterbrechbar sein soll, zeichnen wir einen unterbrechbaren Bereich um diese Aktion mit einer zugehörigen Empfangsaktion „Börsenauswahl abbrechen“, die wie oben auf den Endknoten „Abbruch“ führt.

Abschließend bekommen die zwei unterbrechbaren Bereiche noch einen Namen.

Page 20: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 20

Expansionsbereich zur Mengenverarbeitung (Objektfluss):

• Einzelne Betrachtung der Elemente, welche in der restlichen Aktivität nur als Sammlung

betrachtet werden, z.B. Listen, Vektoren, ..

• Elemente werden als Objektknoten (Pin) übergeben

• Beinhaltet eine Menge von Aktionen

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Page 21: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 21

Aktivitätsbereiche (Swimlanes):

• Teilung des Diagramms in

logisch gruppierte Partitionen

• Hierarchische und

mehrdimensionale

Partitionierung möglich

• Beim Wechsel von einem

in den anderen Bereich

sollten die wesentlichen

Objektflüsse eingetragen

werden.

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Page 22: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 22

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Beispiel aus der Literatur (.):

• “Geldabheben über einen Bankomat.“

• swimlanes Kunde, Automat und Bank, zur Spezifikation der verantwortlichkeiten.

• debit account = Konto belasten

Page 23: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 23

Objektorientierte Analyse (OOA) Aktivität(sdiagramm)

Bestellwesen (mit Swimlanes) Ein Kunde gibt eine Bestellung auf. In der Verkaufsabteilung der angeschriebenen Firma bearbeitet ein Mitarbeiter die Bestellung, d. h. er stellt eine Rechnung aus (incl. Verschicken) und gleichzeitig werden im Lager die Waren zusammen gestellt und durch die Spedition folgendermaßen verschickt: ist auf der Bestellung „eilig“ markiert, wird eine Eillieferung eingeleitet, sonst eine Normale Lieferung. Nach Erhalt von Ware und Rechnung bezahlt der Kunde und danach kann der Verkaufsmitarbeiter die Bestellung abschließen. Entwerfen Sie dazu ein Aktivitätsdiagramm für die vier Verantwortungsbereiche Kunde, Verkauf, Warenlager und Spedition.

Page 24: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 24

Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen

Übung Seite 16

Page 25: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 25

Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen

Seite 19

Page 26: DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010 Seite 1 Objektorientierte Analyse (OOA) Übersicht.

DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010

Seite 26

Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen

Seite 23