260 likes | 498 Views
Objektorientierte Analyse (OOA) Übersicht. Objektorientierte Analyse (OOA) Übersicht. Objektorientierte Analyse (OOA) Übersicht. Objektorientierte Analyse (OOA) Bedeutung der Aktivitätsdiagramme. Anwendung im Projekt Aktivitätsdiagramme beschreiben den funktionellen Ablauf der Use Cases
E N D
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
Objektorientierte Analyse (OOA) Aktivität(sdiagramm) Ä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) Elemente einer Aktivität:
Objektorientierte Analyse (OOA) Aktivität(sdiagramm) • 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) Schachtelung von Aktivitäten: • Aktionen mit Unteraktivität • Aktionen können durch • eine Unteraktivität näher • beschrieben werden. • Vorteil: Lesbarkeit und Übersichtlichkeit • Kennzeichnung durch Harke rechts unten. Sprungmarken zur Unterbrechung von Kanten, um die Übersichtlichkeit zu erhöhen
Objektorientierte Analyse (OOA) Aktivität(sdiagramm) Neuer Typ von Endknoten: Ablaufendknoten
Objektorientierte Analyse (OOA) Aktivität(sdiagramm) 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) 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) 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) Objektknoten:
Objektorientierte Analyse (OOA) Aktivität(sdiagramm) 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) 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) Ü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.
Objektorientierte Analyse (OOA) Aktivität(sdiagramm) • 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 if then else
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
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.
Objektorientierte Analyse (OOA) Aktivität(sdiagramm) 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) 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) • Beispiel aus der Literatur (.): • “Geldabheben über einen Bankomat.“ • swimlanes Kunde, Automat und Bank, zur Spezifikation der verantwortlichkeiten. • debit account = Konto belasten
Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen Übung Seite 16
Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen Seite 19
Objektorientierte Analyse (OOA) Anhang: Lösungen der Übungen Seite 23