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