Objektorientierte Analyse (OOA) Übersicht
description
Transcript of Objektorientierte Analyse (OOA) Übersicht
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
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010
Seite 3
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
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)
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010
Seite 6
Objektorientierte Analyse (OOA) Aktivität(sdiagramm)
Elemente
einer
Aktivität:
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)
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.
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010
Seite 9
Neuer Typ von Endknoten: Ablaufendknoten
Objektorientierte Analyse (OOA) Aktivität(sdiagramm)
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)
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)
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)
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010
Seite 13
Objektorientierte Analyse (OOA) Aktivität(sdiagramm)
Objektknoten:
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)
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)
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.
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
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
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.
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)
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)
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
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.
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010
Seite 24
Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen
Übung Seite 16
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010
Seite 25
Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen
Seite 19
DHBW Stuttgart, Informatik, SW-Engineering, Kapitel 2.5.2 Okt 2010
Seite 26
Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen
Seite 23