In Ablaufdiagrammen ist eine Nachricht ein Modellelement, das eine bestimmte Art von Kommunikation zwischen den Teilnehmern einer Interaktion definiert. Eine Nachricht übermittelt Informationen von einem Teilnehmer, dargestellt durch eine Lebenslinie, an einen anderen Teilnehmer einer Interaktion.
Eine Nachricht enthält Angaben über Absender und Empfänger sowie eine Definition der Kommunikationsart, durch die das Ausführungsvorkommen zwischen Lebenslinien versendet wird. Eine Kommunikation kann beispielsweise durch 'synchCall' oder 'asynchCall' eine Operation aufrufen, durch 'asynchSignal' ein Signal auslösen und einen Teilnehmer erstellen oder vernichten.
In Ablaufdiagrammen können folgende drei Arten von Nachrichten vorkommen:
Eine Nachricht besteht entweder aus dem Aufrufen einer Operation oder aus dem Senden und Empfangen eines Signals. Wenn eine Nachricht eine Operation repräsentiert, entsprechen die Argumente der Nachricht den Argumenten für 'CallAction' der sendenden Lebenslinie und den Argumenten für 'CallEvent' der empfangenden Lebenslinie. Wenn eine Nachricht ein Signal repräsentiert, entsprechen die Argumente der Nachricht den Argumenten für 'SendAction' der sendenden Lebenslinie und den verfügbaren Argumenten für 'SignalEvent' der empfangenden Lebenslinie. Ist die Nachricht ein synchroner Aufruf, erfolgt in der Regel eine Antwortnachricht von der gerufenen Lebenslinie an die rufende Lebenslinie, bevor die rufende Lebenslinie fortgesetzt werden kann.
Wie die folgende Abbildung zeigt, wird eine Nachricht in einem Interaktionsrahmen als Linie mit einem Pfeil dargestellt, der in die Richtung zeigt, in der die Nachricht gesendet wird, d. h. vom Absender der Nachricht zum Empfänger der Nachricht.
Die von der Quellenlebenslinie an die Ziellebenslinie gesendete Nachricht repräsentiert eine Operation, die von der Ziellebenslinie implementiert wird. Sie können Nachrichten sortieren und ihnen Namen zuordnen. Die Darstellung der Linie bzw. Pfeilspitze entspricht den Eigenschaften der Nachricht.
Abbildung | Beschreibung | Darstellung |
---|---|---|
![]() |
Eine Linie mit gefüllter Pfeilspitze, die zur empfangenden Lebenslinie zeigt | Eine synchrone Aufrufoperation, bei der das System die Beendigung des Steuerungsablaufs abwartet, bevor der äußere Ablauf fortgesetzt wird |
![]() |
Eine Linie mit offener Pfeilspitze | Ein asynchrones Signal oder ein asynchroner Aufruf, in dem das Quellenobjekt die Nachricht sendet und sofort mit dem nächsten Schritt fortfährt |
![]() |
Eine gestrichelte Linie mit gefüllter Pfeilspitze, die zur sendenden Lebenslinie zeigt | Eine Antwortnachricht für einen Prozeduraufruf. Wenn Sie eine synchrone Nachricht erstellen, wird standardmäßig eine Antwortnachricht erzeugt. Diese Standardeinstellung kann im Fenster Benutzervorgaben geändert werden. |
Sie können Nachrichten durch Namen oder durch Operationssignaturen identifizieren.
Typ | Beispiel | Beschreibung |
---|---|---|
Name | \Kennwort abfragen\ | Ein Name gibt ausschließlich die Benennung der Nachricht an. In Diagrammen, die in der Analysephase entstehen, werden häufig einfache Namen verwendet, weil die Nachrichten durch ihre Aufgaben identifiziert werden und nicht durch die aufgerufenen Operationen. In einer der möglichen Schreibweise wird der Name zwischen Schrägstrichen (\\) angegeben, um anzuzeigen, dass dem Namen der Nachricht keine Operation zugeordnet ist. Sobald der Nachricht eine Operation zugeordnet wird, ersetzt der Name der Operation den Namen der Nachricht. |
Signatur | KennwortAbfragen | Wenn einer Nachricht eine Operation zugeordnet ist, können Sie die Operationssignatur anzeigen, um den Namen der Operation zu identifizieren. In Diagrammen, die in der Entwurfsphase entstehen, werden häufig Signaturen verwendet, weil sie die Detailangaben enthalten, die Entwickler zum Schreiben des Codes für den Entwurf benötigen. |
Eine asynchrone Nachricht ist der einzige Nachrichtentyp, in dem der Absendepunkt und der Empfangspunkt der Nachricht einzeln verschoben werden können. Sie können diese Punkte einer asynchronen Nachricht zwischen Lebenslinien verschieben, um die Zeitverzögerung zwischen dem Sende- und dem Empfangsereignis zu bearbeiten. Das Ergebnis wird als versetzte Nachricht bezeichnet.
Wie die folgende Abbildung zeigt, wird eine versetzte Nachricht als Linie mit offener Pfeilspitze und mehreren Interaktionen dargestellt, die zwischen der sendenden und der empfangenden Lebenslinie ablaufen.
Das Sendeereignis ist nicht blockiert und es können Interaktionen zwischen dem Punkt auf der Sendelebenslinie und dem Punkt auf der Empfangslebenslinie stattfinden.