Zum Inhalt springen

Operation (UML)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. August 2005 um 19:41 Uhr durch Gubaer (Diskussion | Beiträge) (Beschreibung). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Eine Operation (operation) ist ein Modellelement in der Unified Modeling Language 2.0 (UML2), einer Modellierungssprache für Software und andere Systeme.

Beschreibung

Eine Operation ist ein Verhaltensmerkmal, mit der die Art und Weise modelliert wird, wie ein Verhalten aufgerufen wird. Sie spezifiziert den Einstiegspunkt in ein Verhalten in Form einer Signatur. Das Verhalten selbst kann unabhängig von der Operation und auf unterschiedliche Arten modelliert werden, zum Beispiel als Aktivität, als Interaktion oder als Zustandsautomat. Als Verhaltensmerkmal gehört sie entweder zu einer Klasse oder zu einer Schnittstelle.

Die Spezifikation einer Operation besteht grundsätzlich aus dem Namen der Operation und aus einer Liste von Parametern. Wie jedes Merkmal kann eine Operation zusätzlich auch Details zur Sichtbarkeit, zur Multiplizität und zum Typ der Operation spezifizieren. Die Sichtbarkeit einer Operation ist entweder public, private, protected oder package. Die Multiplizität und der Typ der Operation wird indirekt spezifiziert. Falls die Operation über einen Parameter mit der Richtung return verfügt, dann entspricht die Multiplizität und der Typ der Operation der Multiplizität und dem Typ dieses Parameters. Auch die Tatsache, ob die Rückgabewerte der Operation geordnet bzw. eindeutig sind, wird aus diesem Parameter abgeleitet. Die UML2 gibt vor, dass höchstens ein Parameter mit der Richtung return existieren darf.

Analog zu Klassenattributen gibt es auch Klassenoperationen. Sie unterscheiden sich von den anderen Operationen dadurch, dass sie nicht den Aufruf von Verhalten auf einzelnen Instanzen der Klasse, sondern auf der Klasse selbst modellieren. Klassenoperationen werden wie Klassenattribute in der graphischen Darstellung unterstrichen, um sie von den normalen Operationen abzugrenzen.

Der generische Aufbau einer Operations-Signatur sieht wie folgt aus:

sichtbarkeit name(parameterliste): rückgabetyp {eigenschaft=wert}

sichtbarkeit, rückgabetyp und eigenschaft/wert-Paare sind optional. Wenn diese Details in einer visuellen Darstellung nicht interessieren, können sie ausgeblendet werden.

parameterliste ist entweder leer oder besteht aus einer Liste von mit Komma (,) getrennten Parameterdeklarationen mit folgendem generischen Aufbau:

  richtung parametername: parametertyp [multiplizität]{eigenschaft=wert}

Auch hier sind richtung, parametertyp, multiplizität und eigenschaft/wert-Paare optional.

In der folgenden Tabelle sind drei Beispiele für Operations-Signaturen aufgeführt.

Signatur Beschreibung
+buchen(betrag: Betrag) Eine öffentliche Methode buchen mit einem Parameter betrag. Die Operation hat keinen Rückgabetyp.
-prüfeKontostand(in betrag: Betrag, in datum: Datum[0..1]):Boolean Eine private Methode prüfeKontostand. Der zweite Parameter datum ist optional, weil er die Multiplizität 0..1 hat.
listeBuchungen(von, bis): Buchung[*]{ordered}
Eine Methode listeBuchungen mit zwei Parametern. Der Rückgabetyp ist Buchung und die Operation gibt 0..* Buchungen in einer geordneten Liste zurück.

Notation

Siehe auch