Als nächstes beschäftigen wir uns mit den Verhaltensdiagrammen. Wir fangen an
mit dem Aktivitätsdiagramm der UNL, Activity Diacrim, auf Englisch.
Sie sollten in der Lage sein für dieses Aktivitätsdiagramm die Elemente
darzustellen und die Bezüge zu anderen Diagrammen zum Beispiel zum Use-Case-Diagramm.
Später werden wir auch noch dazu kommen, dass wir
das darstellen mit dem Sequenz- und Kommunikationstieragramm bzw. dem Klassendiagramm.
Das UML-Aktivitätsdiagramm beschreibt zunächst erstmal einen Ablauf. Vielleicht wollte ich
ganz zu Anfang sagen mal, dass dieses Aktivitätsdiagramm,
der Name, umgangssprachlich ist. Eigentlich heißt es Aktivität. Und das,
wo wir sagen würden, hier passiert etwas, ist ein Aktionsknoten,
also eine Aktivität, bezeichnet den Ablauf und hat deswegen Absequenz.
Deswegen ist ein Verhaltenstdiagramm, hat verschiedene Arten von Knoten,
die den Objektfluss, den Kontrollfluss darstellen.
Kontrollfluss ist ein mehr oder weniger schlechte Übersetzung aus dem Englischen.
Man sagt in Deutschland durchaus auch Steuerfluss im Deutschen dazu und
anstatt Objektfluss sagt man durchaus auch Datenfluss.
Also wenn Sie sich für diese Veranstaltung das erlauben wollen,
ich akzeptiere das gerne, dass sie sagen, starken Fluss und Steuerfluss.
Offiziell heißt das Objektfluss und Kontrollfluss. Wir haben drei Typen
von Knoten in diesem Diagramm. Die Flüsse sind die Kanten
und die Knoten gibt es Aktionsobjekt und Kontrollknote.
Wir fangen mal an mit einem Beispiel. Hier geht es
aus einem Kalendersystem. Sie sehen hier, wir haben hier einen Stadtknoten,
dann gibt es hier diese Pfeile, zeichnen den Ablauf.
Das wäre also der Kontrollfluss, der Steuerfluss.
Wir haben hier, die kannten mit den Kästchen,
mit den abgerundeten Ecken ein bisschen sehr willkürlich abgerundet,
aber wir erkennen das trotzdem
Wichtig ist, hier drin stehen Tätigkeiten. Ja, jeweils
stehen die für eine Aktion. So, dann gibt es hier
eine Verzweigung im Ablauf, manchmal hier, manchmal hier.
Und hier sehen wir, ist eine Bedingung dran an diesen Bezeichnungen.
Bedingungen sind der UML immer mit eckigen Klammern angegeben.
Darin kann man eine Bedingung ganz gut erkennen. Hier teilt sich
das nochmal auf, dahin und dahin, hier wird das wieder zusammengeführt.
Und das ist das Ende. Das kann man so darstellen, ist erlaubt. Besser wäre das aber,
wenn man noch Steuerflussknoten, Kontrollknoten dazwischen einfügt,
zum Beispiel hier sehen wir wieder diese Bedingungen bei einer Entscheidung,
Entscheidungen kommt, also von hier und hier gibt es drei mögliche Wege,
gleich nur größer und null kleine Null,
das hätten wir hier auch machen können.
Man sollte da Ordnung heilbar, das auch wieder so zusammenführen,
die meisten Tools akzeptieren das auch,
wenn man es nicht wieder richtig zusammenführt.
Der Stadtknoten und der Endknoten zählen ebenfalls als Kontrollknoten. Nein,
wir hatten hier noch ein Beispiel, das ist jetzt hier nicht da.
Waren es wichtig zu erwähnen, ist dieses Element,
das bezeichnet nämlich,
wenn etwas parallel läuft,
Parallel heisst nicht, oder nebenläufig ist es vielleicht der bessere als bessere Wort dafür.
Heißt nicht, dass es unbedingt wirklich genau gleichzeitig ausgeführt wird.
Hier wird lediglich der Kontrollfürster Steuerfürst aufgespillt.
Es geht rechts, weit und links weiter. Und das,
das wird Synchronisation, sagt das am besten,
das geht erst weiter, wenn die beiden beendet sind.
Das heißt, ob die wirklich gleichzeitig passieren oder nacheinander,
ist erstmal egal. Wichtig ist,
der Balken zeigt an, es geht immer erst weiter,
wenn es, wenn beide beendet sind,
beide Aktionen,
die vielleicht hier davor stehen mögen
Wichtig ist, dass wir diese beiden immer als Paar haben,
damit man immer klar ist, wo geht dieser nebenläufige Bereich,
wo beginnt der an, woher beendet
er, also wenn man das mit Splitten beginnt,
sollte man, muss man das unbedingt mit der Synchronisation auch beenden.
Je unnötig gesagt, dieses Ende, das wird auch toleriert,
dass man das nicht macht.
Hier muss es auf jeden Fall auch nebeneinander sein.
Okay, als weiteres Element haben wir die Partitionen,
die heißen auf Deutsch Verantwortungsverantwortlichkeitsbereiche.
Manche Leute sagen dazu im Slang
auch Swimlaines
Ja, das ist natürlich in keiner Weise offiziell,
aber es sieht ein bisschen so aus wie die Schwimmbahnen in einem Schwimmbad und da möchte man auch nicht,
da ist auch jeder für eine Sache zuständig und wenn das meine Schwimmbahn ist,
wehe, nebenan kommt einer in meine Schwimmbahn,
da gibt es aber Ärger.
Also so ist das hier auch zu sehen,
in den Bahnen, ja, jeweils in diesen Verantwortungsbereichen,
ist einer verantwortlich und zum Beispiel könne das hier sein,
hier ist der Kunde und hier ist das System oder
so etwas,
wir sehen das gleich im nachfolgenden Beispiel
Hier ist ein Kassensystem mal dargestellt. Ja, wir haben,
lassen uns vielleicht zuerst auffällt, sind die ganz dicken Sachen.
Also vielleicht fangen wir an, mal mit den Verantwortungsbereichen.
Wir haben hier drei Beteiligte. Kunde, Kassierer oder Kassiererinnen und Kassensystem.
Und es beginnt mit dem Startknoten. Es endet mit dem Enteknoten.
Dann gibt es hier so Wüste, zickzack hin und her.
Dieses Hin und Her kennzeichnet, wer ist denn zuständig.
Ja, der Kunde soll die Ware zur Kasse geben.
Der Kassiererin soll den Strichpot scannen und das Kassensystem soll den Preis addieren.
Je nachdem, wo wir das hinschieben, sind es also unterschiedliche Verantwortung, Zuständigkeiten.
Hier sehen wir so einen Balken, der die Splittung bezeugt,
bedeutet, und wo die Splittung zu Ende ist,
wird wieder ein Balken gemacht für das Zusammenführen, das Synchronisieren.
Also hier ist dieses zur Kasse geben und Tasche nehmen,
das ist parallel zu, die Kassiererin scannt das ganze Zeug.
Hier ist es, haben wir einen Aufsplitten, ja,
mit, ja, nein, das sieht ein bisschen komisch aus,
als weil es wieder hochgeht.
In der Tat versucht man meistens von oben nach unten das zu machen,
aber es ist nicht Pflicht, es ist nicht verlangt.
Ja, hier geht man von oben nach unten und
dann geht es hier nochmal so eine Aufteilung,
sie sehen zum Zusammenführen,
macht man das nicht,
man führt das einfach
so wieder zusammen
Das lässt man hier einfach, ja, wichtig ist,
ach hier, ein kleiner Fehler, ja, hier sollte tatsächlich immer, ich korrigiere das mal hier, hier sollte immer eine eckige Klammer dranstehen. Ja,
nein, das sind die Bedingungen, ja,
das ist hier in diesem Beispiel falsch und wir wollen ja keine falschen Beispiele haben,
da nehme ich mir mal die Zeit und mal diese eckigen Klammern hier überall dran,
wo sie hingehören, ja, ja, nein,
ist das mal ganz schön so formuliert, hier ist das nein,
hier ist das dazugehörige, ja, das waren alle,
ja, so und abwarten, ob man jetzt die Frage hier reinführt,
ein Salt der Fehlfurst-Uhre 0 oder die Frage, hier dran, eure, hier rein, das ist letztlich inüberlassen.
Wichtig ist, dass das hier pinkkorrekt, ja, nein,
entsprechend klar ist. Man hätte auch hier hinschreiben können,
pink, korrekt und hier bin nicht korrekt und das hätte man weggelassen.
Das wäre auch für die Kommunikation zwischen Menschen, für das Verstehen des Ablaufs gut.
Was wir hier sehen ist, das Ganze wird schnell unübersichtlich,
obwohl wir ja hier eigentlich nur einen Ablauf haben.
Also das Aktivitätsdiagramm ist vor allen Dingen dafür geeignet,
einen Ablauf darzustellen
Zusätzlich zu den Ablaufdingen, die wir hier in diesem Diagramm sehen,
ist es auch möglich, den Objektfluss oder,
wie ich sagen, durchaus sagen würde, den Datenfluss darzustellen.
Und dazu brauchen wir Objektknoten an die Aktionen dieser Objektknoten kann einerseits
so sein, dass wir hier direkt dazwischen ein Kastensymbol machen.
Dieser Kasten ist sonst in der UML meistens für eine Klasse
verwendet oder dass wir hier solche Ports machen,
wie wir sie vom Komponentendiagramm schon gesehen haben.
Hier ist es also, sagt man an, was geht denn hier lang?
In jedem Fall bedeutet hier der Pfeil und hier bedeutet dann
etwas anderes. Das ist dann nicht der Steuerfluss,
sondern das ist dann
der Objektfluss
Ja, oder Datenfluss, wenn sie so möchten. So,
jetzt haben wir hier nochmal ein Beispiel aus unserem Buch.
Ja, wir sehen hier, dass es den Steuerfluss und
den Objektfluss nebeneinander gibt. Also hier möchte man,
der Autor des Diagramms möchte vor allen Dingen hier betonen,
ja, es geht in diese Reihenfolge und ja,
diese Daten werden hier mitgegeben.
Ja, so, hier ist das immer ganz schön parallel
gezeigt und es gibt noch zusätzlich so etwas hier.
Das ist ein Element, was wir hier nicht behandeln.
Überhaupt muss man sagen, es gibt viel,
viel mehr Elemente, als wir hier behandeln.
Wir beschäftigen, wir begnügen uns hier mit den Objekten
Fluss, Datenfluss, den Partitionen,
die sind hier und mit dem Splitten und dem Zusammenfassen Startknoten,
Endknoten und natürlich, das war jetzt hier,
der Aktionsknoten.
Soweit zum Aktionsaktivitätsdiagramm und
wir machen weiter mit weiteren Verhaltensdiagrammen