Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Grundlagen der Programmierung: Objektorientiertes Design

Sequenzdiagramme

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Ein Sequenzdiagramm beschreibt die Veränderungen eines Objekts über dessen Lebensdauer. Zusätzlich beinhaltet das Diagramm Informationen über sämtliche Interaktionen mit anderen Objekten.

Transkript

Schauen wir uns mal bisschen näher in UML, also der Unified Modeling Language, um. Ich habe hier verschiedene Klassen A, B, C und D mit einer Verbindung. Hier gibt es eine Vererbung, also die Klasse D, die erbt von der Klasse B. Diese ausgefüllte Raute vorne, das ist eine sogenannte Komposition. Das bedeutet, ein Objekt der Klasse B, das kann nicht existieren, ohne dass es auch ein Objekt der Klasse A gibt. Ich habe eine Applikation hier, eine Wissensdatenbank, da kann ich Artikel suchen, ansehen, ich kann User anlegen, Artikel schreiben usw. Und ich habe hier die verschiedenen Akteure, die werden in UML mit diesem Strichmännchen dargestellt. Und wenn der Akteur kein Mensch ist, sondern eine Maschine, dann kann ich da auch einen Kasten außen rum machen, aber dann muss ich eben Akteur hier auch rein schreiben. Jetzt soll es mal darum gehen, wie denn ein einzelner Vorgang mit einem Anfang und mit einem Ende in UML dargestellt werden kann und das nennt man dann ein Sequenzdiagramm. In meinem Sequenzdiagramm habe ich bisher drei Objekte. Ich habe einen Kunden, einen Warenkorb und eine Bestellung und wir werden jetzt gleich mal versuchen, in UML aufzuzeichnen, wie ich so einen Bestellvorgang als Sequenzdiagramm darstellen kann. Diese drei Objekte, die kennzeichne ich mit einem ganz normalen Kasten. Hier steht der Name des Objektes drin, ein Kunde. Das ist eine Mischform. Ein Warenkorb, das ist der Name des Objektes und Warenkorb hier hinten abgetrennt durch einen Doppelpunkt, das ist der Name der Klasse. Und hier habe ich eine andere Variante gewählt. Wenn Sie nur den Namen einer Klasse angeben wollen, dann schreiben Sie hier einfach, Doppelpunkt Bestellung. Jetzt schauen wir mal an, was passiert, wenn so ein Kunde eine Bestellung auslöst. Dann habe ich hier die Zeitleiste der verschiedenen Objekte, so lange wie diese Projekte "leben", so lange wie sie aktiv sind. Der Vorgang wird ausgelöst vom Kunden, indem er sagt, jawohl, ich möchte zur Kasse gehen und dieses auslösen, diese Kommunikation zwischen zwei Objekten, die wird mit diesem Pfeil dargestellt und dann die normale Spitze vorne dran und oberhalb des Pfeiles schreibe ich einfach, um was ist denn genau geht. Das Objekt Kunde gibt an das Objekt Warenkorb den Befehl eben, hier, fange an mit dem ganzen Abschluss einer Bestellung. Und jetzt sagt das Warenkorb Objekt, ich muss ein neues Bestellobjekt erzeugen. Und das ist dann auch nichts anderes als eben dieser Pfeil, den wir gerade schon hatten. Dann geht's los, es werden die verschiedenen Artikel hinzugefügt. Die werden aus dem Warenkorb in die Bestellung hinüber kopiert und das mache ich, indem ich einfach sage, um welchen Artikel es sich handelt und wie viel ich davon haben möchte. Die Bestellung sagt dann am Ende wie viele Items oder wie viele Artikel denn in der Bestellung vorhanden sind und meldet diese Information zurück an den Warenkorb. Und weil es lediglich eine Information ist, dass man sagt, hey, ich möchte dich über etwas informieren, aber du musst jetzt nichts weiter tun, dann wird das Ganze als gestrichelte Linie dargestellt. Jetzt ist Artikel hinzufügen und die aktuelle Gesamtzahl zurückmelden ja etwas, was man zusammen verbinden kann und dann kann man das Ganze auch mit diesem Kasten darstellen, weil man sagt, Artikel hinzufügen und die Gesamtzahl zurückmelden, das ist etwas, was zusammengehörig ist. Jetzt wird es wahrscheinlich nicht nur einen einzelnen Artikel geben, sondern mehrere in dem Warenkorb. Und dann kann man sagen, dass das Ganze hier sich in einer Schleife befindet. Also mache ich hier einen Kasten außen rum, auch hier abgeschrägte Ecke, schreibe hier rein, das ist eine Schleife und da sollen dann alle Artikel immer mit Artikel hinzufügen und Gesamtzahl zurückmelden hier eben durchlaufen werden, so dass am Ende dieses Prozesses alle Artikel in der Bestellung ist. Als nächstes sagt dann in diesem Beispiel der Warenkorb, ob es noch einen Rabatt gibt, also dieser Rabatt wird berechnet und an das Objekt Bestellung abgegeben. Und wenn das Ganze vorbei ist, dann sag man ok, der Warenkorb, ich schließe jetzt den Verkauf ab. Schauen wir mal, wie es dann weitergeht. Die Bestellung nimmt diesen Verkaufsabschluss entgegen und meldet dann eben gleich die Summe, hat ja den Rabatt hier schon einberechnet, meldet die Summe über den Warenkorb eigentlich direkt an den Kunden zurück und der kann sagen, jawohl, das ist ein fairer Preis, ich löse die Bezahlung aus. Und der Kunde kommuniziert dann eben in dem Fall direkt mit der Bestellung, aber die Bestellung sagt jetzt, Ja, mit der Bezahlung habe ich zwar was zu tun, aber die gebe ich besser weiter an ein eigenes Objekt und das heißt Zahlung. Das heißt, erzeuge eine Zahlung. Hier haben wir ein neues Objekt so wie hier oben auch und wir haben hier dann die Lebenslinie gepunktet. Die Zahlung wird ausgeführt und das Ergebnis wird zurückgemeldet, und weil die Zahlung dann auch schon abgeschlossen ist, können wir hier dann auch ein X schreiben, weil dieses Objekt Zahlung dann auch wieder gelöscht wird, wenn alles funktioniert hat. Die Bestellung hat das Ergebnis der Zahlung entgegengenommen und reicht es mehr oder weniger gerade weiter direkt an den Kunden und sagt, jawohl, die Zahlung ist ausgeführt worden. Sie können sich bald auf Ihre Produkte freuen. Das ist also die Art und Weise, wie man in UML mit Sequenzdiagrammen umgeht. Ein Sequenzdiagramm ist ein Diagramm, das einen Vorgang beschreibt, der einen klaren Anfang hat, hier zur Kasse, und ein klares Ende und hier passiert eben nichts gleichzeitig, sondern von oben nach unten geht das System durch und arbeitet eben diesen Prozess ab.

Grundlagen der Programmierung: Objektorientiertes Design

Lernen Sie alle Grundbegriffe und Methoden von objektorientiertem Design kennen und holen Sie sich das Rüstzeug, um bald Ihre eigene Softwareprojekte zu starten.

2 Std. 43 min (45 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!