Basiskonzepte
Transcription
Basiskonzepte
Digitally signed by Mario Jeckle Reason: I am the author of this document Location: www.jeckle.de Date: 2004.06.09 21:07:55 +02'00' Verhaltensdiagramme 3.2 Use-Case-Diagramm 3.3 Aktivitätsdiagramm 3.4 Zustandsautomat Prof. Mario Jeckle Fachhochschule Furtwangen [email protected] http://www.jeckle.de Fachhochschule Furtwangen, Sommersemester 2004 3.2 Use-Case-Diagramm Use-Case-Diagramm Dient • Darstellung von externem Verhalten des Systems • Darstellung aus Nutzersicht • Darstellung von Reaktion des Systems auf Ereignisse in der Umwelt jeckle.de Antwort auf die Frage: Was soll das System leisten? M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 2 3.2 Use-Case-Diagramm Use-Case-Analyse Analysergebnis kann textuell oder graphisch dargestellt werden. jeckle.de UML Use-Case-Diagramm zeigt extern sichtbares Verhalten von: • • • • • Elementen Klassen Schnittstellen Knoten etc. M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 3 3.2 Use-Case-Diagramm Use Case Kapselt in sich geschlossene Sammlung von Aktionen mit spezifischer Reihenfolge: • • • • • Auslöser/Initiator Schritte Sonderfälle Akteure Ergebnis jeckle.de OHNE • Klassen • Operationen M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 4 3.2 Use-Case-Diagramm Use-Case-Diagramm Vorteile: jeckle.de • Übersichtlichkeit, da wenige Notationselemente • Leicht verständlich auch für Laien • Überblick über das System und Einbettung in den Kontext • Klare Systemabgrenzung M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 5 3.2 Use-Case-Diagramm Use-Case-Diagramm – Ein Beispiel Einweihungsfeier Tanzen «Vorbedingung» {Kühlschrank geplündert} extension points Nachschub Trinken «extend» Gast extension points Nachschub «extend» Unterhalten Nachschub ordern Essen Feier auflösen jeckle.de «include» Gastgeber Gäste hinausbegleiten «include» Feier abrupt beenden Polizei M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 6 3.2 Use-Case-Diagramm Notationselemente Das Use-Case-Diagramm verfügt über folgende Notationselemente: jeckle.de • • • • • Use Case System Akteur include-Beziehung extend-Beziehung M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 7 3.2 Use-Case-Diagramm Use Case = Anwendungsfall Darstellung durch eine Ellipse, die entweder den UseCase-Namen enthält oder unter der der Name steht U se-C ase-N am e jeckle.de U se-C ase-N am e M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 8 3.2 Use-Case-Diagramm Use Case • Beschreibt eine Reihe von Aktionen, die nacheinander ein Verhalten formen • Wird immer von einem Akteur ausgelöst • Hat immer ein Ergebnis • Kann gleichzeitig mehrfach instanziiert werden • Spiegelt funktionales Verhalten wieder – interne Abläufe sind irrelevant jeckle.de Anfrage/Trigger Ergebnis Akteur M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 Ausführung der Anfrage Use-Case 9 3.2 Use-Case-Diagramm Use Case Mehrere Use Cases können auch in Beziehung gesetzt werden: 1. Authentifizierung starten Standardauthentifizierung Benutzer Chipkartenauthentifizierung Fingerabdruckauthentifizierung 1. Authentifizierung starten 2. Chipkarte durchziehen 3. Chip ID verifizieren 4. - jeckle.de 2. Benutzername eingeben 2. Identifizierung starten 4. Identifizierung bestätigen 1. Authentifizierung starten 2. Benutzername eingeben 3. Fingerabdruck scannen 4. - • Aus zwei Abläufen wird einer modelliert • Generalisierung und Spezialisierung sind möglich, wenn im Basis Use Case allgemeines Verhalten definiert wird M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 10 3.2 Use-Case-Diagramm System Darstellung erfolgt durch ein Rechteck, dessen Kanten die Systemgrenzen darstellen jeckle.de Systemname M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 11 3.2 Use-Case-Diagramm System jeckle.de • Realisiert und etabliert das im Use Case beschriebene Verhalten • Kann Klasse, Schnittstelle, Komponente, Subsystem sein • Ist im Use-Case-Diagramm nicht zwingend nötig M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 12 3.2 Use-Case-Diagramm System Person Essen & trinken jeckle.de Schlafen «interface» Übertragbar Adressangabe Übertragungskonfiguration Bewegen Klasse Versand Schnittstelle M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 «component» Auftragsabwicklung Auftrag aufgeben Auftragsstatistik erstellen Auftrag anehmen Komponente 13 3.2 Use-Case-Diagramm Akteur Darstellung als „Strichmännchen“ jeckle.de Name des Akteurs M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 14 3.2 Use-Case-Diagramm Akteur • Repräsentiert die Rolle, die von außen mit dem System interagiert • Steht in ständigem Signal- und Datenaustausch mit Use Case • Beteiligung des Akteurs an Use Case wird durch binäre Assoziation dargestellt (gerichtete) Assoziation jeckle.de Testament erstellen Notar Gericht (binäre) Assoziation Use-Case Name des Akteurs M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 Erblasser 15 3.2 Use-Case-Diagramm System Richtungsfunktion der Assoziation, Rollen und Multiplizitäten sind möglich Z ahler 1 Diskothek Eintritt zahlen 1 0..* 1 1 Essen und trinken Musik hören jeckle.de Besucher M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 16 3.2 Use-Case-Diagramm include-Beziehung Darstellung durch Abhängigkeitsbeziehung mit Stereotyp include von abhängigem, importiertem Use Case zu unabhängigem, inkludiertem Use Case jeckle.de « in c lu d e » M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 17 3.2 Use-Case-Diagramm include-Beziehung • Zeigt, daß ein Use Case das Verhalten eines anderen importiert A «include» B jeckle.de • Use Case darf durch mehrere andere Use Cases inkludiert werden • Verhalten wird immer inkludiert – nicht optional Kundendaten ändern «include» «include» Berechtigung prüfen Kundendaten anzeigen M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 18 3.2 Use-Case-Diagramm extend-Beziehung Darstellung durch eine Abhängigkeitsbeziehung mit Stereotyp extend vom erweiternden Use Case zu erweitertem Use Case jeckle.de «extend » M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 19 3.2 Use-Case-Diagramm extend-Beziehung Zeigt, daß Verhalten eines Use Cases durch anderen Use Case erweitert werden kann aber nicht muss extension points: Festnahme Personenkontrolle durchlaufen «extend» Passagier festnehmen jeckle.de Passagier M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 Grenzpolizist 20 3.2 Use-Case-Diagramm extend-Beziehung Erweiterungspunkt: • hier kann Verhalten eines Use Case erweitert werden • Use Case kann mehrere Erweiterungspunkte haben • Darstellung durch eigenen, durch „extension Point“ bezeichneten Abschnitt im Use Case jeckle.de extension points Name [: Freitext] extension points Leibesvisitation Metalldetektion : prüfen auf gefährliche Gegenstände Gepäckprüfung : parallel zur Personenprüfung Use-Case-Name Personenkontrolle durchführen M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 21 3.2 Use-Case-Diagramm extend-Beziehung Die Auswertung einer extend-Beziehung: B «extend» A Condition: {x} extension point: EP1 1. 2. 3. 4. «extend» extension points EP1 EP2 Condition: {y} extension point: EP2 1. } C 2. EP1 {x erfüllt} [ja] [nein] 3. EP2 {y erfüllt} [ja] [nein] M. Jeckle: 3.2 Use-Case-Diagramm. Fachhochschule Furtwangen, Sommersemester 2004 } jeckle.de 4. 1. 2. 3. 22 3.3 Aktivitätsdiagramm jeckle.de 3.3 Das Aktivitätsdiagramm M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 23 3.3 Aktivitätsdiagramm Aktivitätsdiagramm Dient Darstellung von Abläufen im System inklusive Nebenläufigkeiten oder alternativen Entscheidungswegen jeckle.de Antwort auf die Frage: Wie realisiert das System bestimmtes Verhalten? M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 24 3.3 Aktivitätsdiagramm Aktivitätsdiagramm jeckle.de Umfasst • Rahmen und Regeln für Verhaltensabläufe • Start- und Endpunkte • Verzweigungen • Bedingungen M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 25 3.3 Aktivitätsdiagramm Aktivitätsdiagramm Modellieren von Aktivitäten: • Aktivität = Menge an potenziellen Abläufen zur Laufzeit, selten trivial jeckle.de • Abläufe = z.B. Geschäftsprozesse, Methoden von Klassen,Visualisieren von Systemprozessen M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 26 3.3 Aktivitätsdiagramm Aktivitätsdiagramm - Elemente Die Elemente sind jeckle.de • Eine nichtleere Menge von Aktivitäten • Aktionen; Einzelschritt der durchlaufen wird • Objektknoten; repräsentiert beteiligte Daten oder Gegenstände • Kontrollelemente zur Ablaufsteuerung zwischen Aktionen oder Objektknoten • Verbindende Kanten M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 27 3.3 Aktivitätsdiagramm Aktivitätsdiagramm möglicher Ablauf Aktivität Einladung bekommen Aktivitätsname Einladung Datum prüfen Objektknoten Aktion [Zeit vorhanden] Kante Lust auf Feier prüfen [keine Zeit] Bedingung [keine Lust] [Lust vorhanden] Kontrollknoten jeckle.de Feier absagen M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 Zur Feier zusagen 28 3.3 Aktivitätsdiagramm Das Tokenkonzept jeckle.de • Dient der verbesserten Darstellung nebenläufiger Abläufe • Token = • „Marke“, legt Abarbeitungsposition des Ablaufs fest • Tokenwanderung durch Aktivität bedeutet Abarbeitung läuft • in einer Abarbeitung können mehrere Tokens vorkommen • werden im Aktivitätsdiagramm nicht graphisch dargestellt M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 29 3.3 Aktivitätsdiagramm Verwendung Token jeckle.de • • • • • • • Abarbeiten von Aktionen Verzweigung und Vereinigung Parallelabarbeitung und Synchronisation Objektflüsse Verweildauer Bedingte und gewichtete Abarbeitung Start und Ende von Abläufen M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 30 jeckle.de 3.3 Aktivitätsdiagramm Notationselemente • • • • • • • • • Die Notationselemente des Aktivitätsdiagramms sind zahlreich: Aktion Strukturierter Knoten Aktivität Mengenverarbeitungsbereich Objektknoten Schleifenknoten Kanten Entscheidungsknoten Kontrollelemente Parametersatz Unterbrechungsbereich Exception-Handler Aktivitätsbereich M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 31 3.3 Aktivitätsdiagramm Aktion Darstellung durch ein Rechteck mit abgerundeten Ecken mit Namen oder Text zur Operation jeckle.de Aktionsname M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 Einladung verschicken 32 3.3 Aktivitätsdiagramm Aktion • • • • • Aufruf von Verhalten oder Bearbeitung von Daten Einzelschritt der Aktivität Zentrales Element des Aktivitätsdiagramms Über Kanten mit anderen Elemente verbunden Um Aktion starten zu können, müssen auf allem eingehenden Kanten Token angeboten sein jeckle.de Cocktail trinken Glas [voll] trinken M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 Glas [leer] 33 3.3 Aktivitätsdiagramm Aktion Vor- und Nachbedingung: «localPrecondition» Vorbedingung sind bei Aktionsstart oder -ende Bedingungen zu beachten, können diese als Notizzettel notiert werden «localPrecondition» unbeliebter Mitarbeiter jeckle.de Aktionsname «localPostcondition» Nachbedingung Mobbing «localPostcondition» Mitarbeiter hat gekündigt M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 34 3.3 Aktivitätsdiagramm Aktion Signale und Ereignisse: Soderformen der Aktion; SendSignalAction und Reparatur ausgeführt sende Signal jeckle.de AcceptEcentAction empfange Ereignis erster Gast trifft ein M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 Bierfass anzapfen 35 3.3 Aktivitätsdiagramm Aktivität • Darstellung durch großes Rechteck mit abgerundeten Ecken • Mögliche Parameter als Objektknoten auf Aktivitätsgrenze Name «precondition» «postcondition» Eingangsparameter 1 Ausgangsparameter jeckle.de Eingangsparameter 2 M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 36 3.3 Aktivitätsdiagramm Aktivität • Besteht aus Folge von Aktionen und Elementen • Schachtelung möglich: • Vorteil für Lesbarkeit und Übersichtlichkeit • Kennzeichnung durch Harke rechts unten Speisen zubereiten Zutaten jeckle.de Speisen zubereiten Kochen Würzen M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 Dekorieren 37 3.3 Aktivitätsdiagramm Objektknoten Darstellung durch ein Rechteck jeckle.de Typ des Objektknotens M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 Getränk 38 3.3 Aktivitätsdiagramm Objektknoten jeckle.de • Repräsentiert Ausprägungen eines bestimmten Typs in der Aktivität • Logisches Gerüst um Daten und Werte zu transportieren • Ist Ergebnis von vorangegangener Aktion • Ist Eingabe für folgende Aktion • Führt ein Pfeil von Aktion zu Objektknoten: Ausprägung von Typ des Objektknoten ist Ergebnis der Aktion Cocktail mixen M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 Cocktail 39 3.3 Aktivitätsdiagramm Objektknoten Objektknoten akzeptier Daten von Token nur, wenn die Daten typkompatibel zum Objektknoten sind C o c k ta il jeckle.de a lk o h o lfre ie r C o c k ta il a lk o h o lh a ltig e r C o c k ta il M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 40 3.3 Aktivitätsdiagramm Kanten • Darstellung durch Pfeil mit Namen • Ist gerichteter Übergang zwischen Knoten jeckle.de N a m e M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 41 3.3 Aktivitätsdiagramm Kanten jeckle.de Es gibt zwei Sorten von Kanten a) Kontrollfluss: Kante zwischen zwei Aktionen oder zwischen Aktion und Kontrollelement. Token tragen hier keine Daten und dienen nur Aktionsausführung Kontrollflüsse M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 42 3.3 Aktivitätsdiagramm Kanten b) Objektfluss: Kante mit mindestens einem Objektknoten. Kante trägt Token, der Daten zu oder von Objektknoten transportiert. jeckle.de O b je k tflü s s e M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 43 3.3 Aktivitätsdiagramm Kanten Möglichkeiten: • Belegung der Kante mit Bedingungen [Bedingung] Bier [Menge > 2 Liter] torkeln • Sortierung von Datentoken um Reihenfolge auf Kante festzulegen jeckle.de «selection» Spezifikation Pin-Name Pin-Name M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 44 3.3 Aktivitätsdiagramm Kanten • Gewichtung der Kanten um zu sehen, wie viele Token für einen Ablauf benötigt werden {weight=n} {weight=2} Person heiraten jeckle.de • Sprungmarken zur Unterbrechung von Kanten um Übersichtlichkeit zu wahren n n M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 45 3.3 Aktivitätsdiagramm Kontrollelemente Zur Ablaufsteuerung gibt es mehrere Kontrollelemente: jeckle.de Startknoten Endknoten Verzweigungsknoten Parallelisierungsknoten Verbindungsknoten Synchronisationsknoten M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 46 jeckle.de 3.3 Aktivitätsdiagramm Kontrollelemente • Startknoten: Startpunkt des Ablaufs bei Aktivierung von Aktivitäten • Endknoten: a) für Aktivitäten; beendet gesamte Aktivität b) für Kontrollflüsse; markiert Ablaufende • Verzweigungsknoten: spaltet Kante in mehrere Alternativen • Verbindungsknoten: führt Kanten unsynchronisiert zusammen M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 47 3.3 Aktivitätsdiagramm Kontrollelemente • Synchronisationsknoten: vereint eingehende Abläufe zu einem gemeinsamen Ablauf jeckle.de • Parallelisierungsknoten: ein eingehender Ablauf wird in mehrere parallele Abläufe geteilt M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 48 3.3 Aktivitätsdiagramm Parametersatz jeckle.de Darstellung: M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 49 3.3 Aktivitätsdiagramm Parametersatz • Dient der typhomogenen Gruppierung von Ein- und Ausgabeparametern von Objektknoten jeckle.de • Kennzeichnung durch einen Rahmen um die zu gruppierenden Pins M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 50 3.3 Aktivitätsdiagramm Parametersatz • Legt fest, daß an allen Pins eines Satzes Datentoken anliegen müssen • Ein Parametersatz bedient eine Aktion pro Aufruf jeckle.de • XOR Beziehung zwischen Parametersätzen M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 51 3.3 Aktivitätsdiagramm Unterbrechungsbereich Darstellung: jeckle.de Unterbrechungsbereich Unterbrechungskante M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 52 3.3 Aktivitätsdiagramm Unterbrechungsbereich • Umschließt eine oder mehrere Aktionen jeckle.de • Verlässt man Bereich über Unterbrechungskante: • Unterbrechen von sämtlichen Aktionen im Bereich, alle vorhandenen Token werden verworfen • Aktivitätsablauf wird an Zielknoten fortgesetzt M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 53 3.3 Aktivitätsdiagramm Unterbrechungsbereich Käufer Zigaretten kaufen Marke wählen Fehlermeldung anzeigen Geld zurückgeben Verfügbarkeit überprüfen Automat [nicht verfügbar] Zigaretten ausgeben Abbruchknopf gedrückt Geld zählen jeckle.de Zigaretten entnehmen Zigarettenmarke Geld einwerfen Geld Wechselgeld entnehmen [verfügbar] [Geld < 3€] Wechselgeld berechnen [Geld >= 3€] M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 54 3.3 Aktivitätsdiagramm Exception-Handler Darstellung: E in g a b e k n o te n A k tio n jeckle.de E x c e p tio n Typ M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 E x c e p tio n H a n d le r 55 3.3 Aktivitätsdiagramm Exception-Handler • Bearbeitungselement für Ausnahmen, die bei Aktionsausführung auftreten • Bei Auftreten von Exception: Prüfung ob ExceptionHandler vorhanden ist • Exception-Handler ist dann für die Exception passend, wenn Datentoken von Aktion kompatibel zu Typ des Eingabeknotens des Exception-Handler ist jeckle.de distance time Durchschnittsgeschwindigkeit berechnen DivisionByZeroException Reaktion auf Exception average speed M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 56 3.3 Aktivitätsdiagramm Aktivitätsbereich jeckle.de Bereichsname Darstellung durch Rechteck, das in zwei Teile unterteilt wird M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 57 3.3 Aktivitätsdiagramm Aktivitätsbereich Aktivität wird in Bereiche mit gemeinsamen Eigenschaften unterteilt, wie z.B.: jeckle.de • • • • • Standort Abteilung Rolle Verantwortlichkeit Subsystem M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 58 3.3 Aktivitätsdiagramm Aktivitätsbereich Es gibt verschiedene Aktivitätsbereiche: a) Mehrdimensionale Aktivitätsbereiche Dimensionsname Entwicklung Marketing Mitarbeiter Manager Partition 4 Person Partition 2 Partition 1 Dimensionsname jeckle.de Partition 3 Abteilung M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 59 3.3 Aktivitätsdiagramm Aktivitätsbereiche b) Hierarchische Aktivitätsbereiche Person Dimensionsname Partitionsname jeckle.de Unterpartition Manager Unterpartition M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 Mitarbeiter Entwicklung Vertrieb 60 3.3 Aktivitätsdiagramm Aktivitätsbereiche jeckle.de Partitionsname «external» c) Aktivitätsbereiche für externe Aktionen M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 «external» (Partitionsname) Aktion 61 3.3 Aktivitätsdiagramm Strukturierter Knoten Darstellung durch Rechteck mit abgerundeten Ecken und unterbrochener Linienführung jeckle.de S c h lü s s e lw o rt M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 62 3.3 Aktivitätsdiagramm Strukturierter Knoten • Strukturierung durch Gruppierung der Elemente • Darstellung als speziellen Knoten in Kontrollfluss Schlüsselwort jeckle.de isolated = true • Modellierung von Zugriffskontrollen auf gemeinsam genutzte Elemente bei Nebenläufigkeiten M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 63 3.3 Aktivitätsdiagramm Mengenverarbeitungsbereich Darstellung: jeckle.de Schlüsselw ort M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 64 jeckle.de 3.3 Aktivitätsdiagramm Mengenverarbeitungsbereich • Übergang von Aktionssammlung in Einzelelemente und wieder zurück • Interne Weitergabe von Elementen oder Positionen der Sammlung • Mengenverarbeitung iteriert über alle enthaltenen Elemente • Kennzeichnung der Elemente, in welcher Reihenfolge sie abgearbeitet werden: • Iterativ = Sequenzielle Abarbeitung • Parallel = Abarbeitung findet nebenläufig statt • Stream = Elemente werden der Mengenverarbeitung kontinuierlich zur Verfügung gestellt M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 65 3.3 Aktivitätsdiagramm Mengenverarbeitungsbereich V e k to r 1 7 1 5 V e k to r 2 1 10 4 ( ) ( ) 7 p a r a ll e l V e k to r 3 3 0 -5 1 1 5 .51 .7 ( ) 10 4 3 4 . .1 0 1 . K o m p o n e n te n a d d ie r e n . 8 8 0 . . -5 -5 0 3 K o m p o n e n te n s u b t r a h ie r e n 5 jeckle.de 5 . . E r g e b n is v e k to r 5 ( .. ) M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 66 3.3 Aktivitätsdiagramm Schleifenknoten • Darstellung: fo r w h ile jeckle.de do • Stellt Schleifen in Aktion dar • Ist spezieller, strukturierter Knoten M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 67 3.3 Aktivitätsdiagramm Schleifenknoten jeckle.de Wird in drei Bereiche unterteilt: a) for-Bereich: erster Knotenbereich, wird genau einmal durchlaufen. Enthält Aktionen, Kanten, Kontrollelemente. b) while-Bereich: auch Testbereich; prüft ob und wie oft Schleifenrumpf durchlaufen wird. Hat Boolesche Variable als Ergebnis. c) do-Bereich: Schleifenrumpf, optional. Bei Ausführung müssen Tokenvorschriften beachtet werden. M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 68 3.3 Aktivitätsdiagramm Entscheidungsknoten Darstellung: if then else if jeckle.de else Bereich mit Bedingungsprüfung Bereich mit den auszuführenden Aktionen Bereich mit Bedingungsprüfung, wird nur ausgeführt, falls davorliegende Bedingungsprüfung scheitert Bereich mit auszuführenden Aktionen, der aktiviert wird, wenn kein anderer Bereich die geprüften Bedingungen erfüllt hat M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 69 3.3 Aktivitätsdiagramm Entscheidungsknoten • jeckle.de • Darstellung von Entscheidungen mit Einfach- oder Mehrfachauswahl Wird in vier Bereiche unterteilt: a) if-Bereich: erster Knotenbereich. Enthält Aktivitätselemente für Bedingungsprüfung Ergebnis ist Boolesche Variable. b) Then-Bereich: Elemente hängen von Bedingungsprüfung ab. Wenn aktiviert, endet Entscheidungsknoten und Token werden vernichtet. M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 70 jeckle.de 3.3 Aktivitätsdiagramm Entscheidungsknoten c) else-if-Bereich: wie if-Bereich. Möglichkeit Prüfung in Reihenfolge zu schalten und zu schachteln. d) else-Bereich: wird ausgeführt, wenn if- und elseif-Bereich mit „false“ enden. Ist immer der letzte Bereich im Entscheidungsknoten. M. Jeckle: 3.3 Aktivitätsdiagramm. Fachhochschule Furtwangen, Sommersemester 2004 71 3.4 Zustandsautomat jeckle.de 3.4 Der Zustandsautomat M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 72 3.4 Zustandsautomat Zustandsautomat Dient Modellierung von Verhalten von Classifiern durch Zustände und Übergängen zwischen Zuständen jeckle.de Antwort auf die Frage: „Wie verhält sich das System in einem bestimmten Zustand bei gewissen Ereignissen?“ M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 73 3.4 Zustandsautomat Zustandsautomat B a n k a u to m a t (v e r e in fa c h t) 0 ..* 1 K o n to s ta n d ü b e rp rü fe n 1 1 0 ..1 G e ld a b h e b e n B ankkunde 1 A u t h e n t if iz ie r e n [ K a r t e = k e in e B a n k k a r t e ] / K a rte a u s g e b e n K a rte e in g e f ü h r t s m A u t h e n t if iz ie r e n [K a rte = B a n k k a rte ] k o rre k te B a n k k a rte jeckle.de e n try / K a rte p rü fe n [ P in = r ic h t ig ] P in e in g e g e b e n [ G ü lt ig k e it = g ü lt ig ] P in c o d e - E in g a b e [ P in = f a ls c h ] / #++ [ G ü lt ig k e it = a b g e la u f e n ] / B a n k k a r t e e in z ie h e n A b b ru c h a b g e b ro c h e n / B a n k k a rte ausgeben [# < 3 ] [# > = 3 ] / B a n k k a r t e e in z ie h e n M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 74 3.4 Zustandsautomat Zustandsautomat • Mit dem Zustandsautomat wird die Darstellung gut lesund nachvollziehbar. • Beschreibungsmöglichkeiten: jeckle.de • Natürlichsprachlich • Aktivitätsdiagramme • Zustandsautomaten M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 75 3.4 Zustandsautomat Notationselemente jeckle.de • • • • • • • • Einfacher Zustand Transition Start- und Endzustand Zustandsautomat Pseudozustände Region Spezialisierung Protokollzustandsautomat M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 76 3.4 Zustandsautomat Einfacher Zustand Darstellung: alternativ Z u s ta n d jeckle.de Z u s ta n d e n try / A k tiv itä t e x it / A k tiv itä t d o / A k tiv itä t T rig g e r [G u a rd ] / A k tiv itä t T rig g e r [G u a rd ] / d e fe r M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 e n try / A k tiv itä t e x it / A k tiv itä t d o / A k tiv itä t T rig g e r [G u a rd ] / A k tiv itä t T rig g e r [G u a rd ] / d e fe r 77 3.4 Zustandsautomat Einfacher Zustand • Bildet Situation ab, in deren Verlauf spezielle Bedingungen gelten jeckle.de • Auch Situationen mit lang andauernder Aufgabe können als Zustände modelliert werden M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 78 3.4 Zustandsautomat Einfacher Zustand jeckle.de Regeln für Zustände: • Wenn Zustand Endpunkt einer durchlaufenen Transition ist, wird er betreten • Wenn Transition durchlaufen ist, die von ihm weg führt, wird Zustand verlassen • Wird aktiv bei Betreten (Eintrittsaktivität) und inaktiv bei Verlassen (Austrittsaktiviät) • Andauernde Aktivität folgt auf Eintrittsaktivität • Kann Menge an verzögerbaren Triggern enthalten M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 79 3.4 Zustandsautomat Transition • Darstellung durch gerichtete, beschriftete Kante jeckle.de Trigger [Guard] / Aktivität • Beschriftung enthält: • Trigger als Auslösung der Transition • Guard als Ducrhlaufbedingung der Transition • Aktivität die beim Durchlauf ausgeführt wird M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 80 3.4 Zustandsautomat Transition • Schafft Übergang von Ausgangs- zu Zielzustand • Wenn Ausgangs- und Zielzustand gleich erfolgt die Selbsttransition eingeschaltet jeckle.de aus eingeschaltet Selbsttransition an M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 81 3.4 Zustandsautomat Startzustand • Darstellung durch einen ausgefüllten Kreis Trigger / Aktivität jeckle.de Zustand • Ist Startpunkt für Betreten des Zustandsautomats • Von ihm aus wird der erste Zustand erreicht, da • Transitionstrigger nicht vorhanden oder gleich dem Trigger des Classifiers • Bedingung der Transition leer • Maximal eine abgehende Transition vorhanden sein darf M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 82 3.4 Zustandsautomat Endzustand • Darstellung durch zwei Kreise, wobei der innere ausgefüllt ist jeckle.de • Ende der Abarbeitung des Zustandsautomats • Keine Ausführung von Aktivitäten mehr • Keine ausgehenden Transitionen M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 83 3.4 Zustandsautomat Zustandsautomat • Darstellung durch Rechteck, in dem ein Fünfeck in der linken oberen Ecke platziert ist jeckle.de sm Bezeichnung • Beschreiben das Verhalten von Classifiern • Graph mit Knoten und Kanten M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 84 3.4 Zustandsautomat Zustandsautomat • Knoten des Zustandsautomats: • Einfache Zustände, Start- und Endzustand jeckle.de • Als Kantentyp kommen hier nur Transitionen vor M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 85 3.4 Zustandsautomat Pseudozustände Hiervon gibt es zehn, die folgendermaßen dargestellt werden: jeckle.de Startzustand Gabelung Entscheidung Vereinigung Kreuzung Terminator H H* flache Historie tiefe Historie M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 Austrittspunkt Eintrittspunkt 86 jeckle.de 3.4 Zustandsautomat Pseudozustände Startzustand: Festlegung des ersten Zustands der im Zustandsautomat aktiviert werden soll Kreuzung: Zusammenfassung mehrerer Transitionen oder Aufteilung von einer auf mehrere Transitionen Entscheidung: siehe Kreuzung. Erfolgt aber dynamisch. Terminator: Unterscheidung ob Durchlaufen des Zustandsautomats erfolgreich oder ob Abbruch der Ausführung M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 87 3.4 Zustandsautomat Pseudozustände Gabelung und Vereinigung: Aufteilung einer eingehenden Transition auf mehrere, parallele Verhaltensbeschreibungen jeckle.de Ein- und Austrittspunkt: Betreten oder Verlassen von Zustandsautomat und Zustandshierarchien Flache und tiefe Hierarchie: Speichern des letzten aktiven Zustands eines Zustandsautomats M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 88 3.4 Zustandsautomat Region • Darstellung durch eine senkrechte gestrichelte Linie • Beschreibt parallele Abläufe Zustand jeckle.de Region1 M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 Region2 89 3.4 Zustandsautomat Spezialisierung Darstellung: jeckle.de {extended} M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 90 jeckle.de 3.4 Zustandsautomat Spezialisierung • Strukturelle Spezialisierung eines Classifiers durch Hinzufügen von Operationen oder Attributen • Abbildung des Verhaltens des spezialisierten Classifiers durch Zustandsautomat • Keine Modellierung neuer Zustandsautomaten; nur Darstellung der benötigten Änderungen des Verhaltens • Änderungen bei • Regionen • Zuständen • Transitionen M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 91 3.4 Zustandsautomat Protokollzustandsautomat Darstellung wie Zustandsautomat mit zusätzlichem Schlüsselwort protocol jeckle.de sm Zustandsautomat {protocol} M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 92 3.4 Zustandsautomat Protokollzustandsautomat jeckle.de • Protokolltransition ist eine Transition im Protokollzustandsautomat • Unterscheidet sich durch Elemente von „normalem“ Zustandsautomat: • Vorbedingung = wie Guard bei Transition • Operation = Auslösen von Zustandsübergängen • Nachbedingung = Erfüllung des Zielzustandes [Vorbedingung] Operation / [Nachbedingung] M. Jeckle: 3.4 Zustandsautomat. Fachhochschule Furtwangen, Sommersemester 2004 93