Wie kann man einen statischen Klassen- oder Funktionsaufruf im Sequenzdiagramm darstellen?

8

Wie wird eine statische Klasse oder ein Aufruf einer statischen Funktion im Sequenzdiagramm dargestellt? Nach meinem Verständnis gehört die Lebenslinie zu einer Instanz / Objekt einer Klasse. In diesem Artikel wird der Stereotyp Metaklasse verwendet.

    
bjan 02.02.2012, 07:36
quelle

3 Antworten

5

Schließlich ist es die Verwendung von Stereotypen, um eine statische Klasse / Funktion zu erwähnen. Unterstreichen ist nicht mehr anwendbar in UML 2.4.1 Aug 2011 , Seite 86, unter den Überschriften Schreibweise und Präsentationsoptionen

    
bjan 04.02.2012, 11:49
quelle
8

"Verwenden Sie im Zweifelsfall Kommentare oder Stereotypen ..."

Sequenzdiagramm:

%Vor%

Klassendiagramm:

%Vor%

In diesem Beispiel ist "TurnOn ()" eine statische Methode, die eine Instanz (Objekt) der Klasse "FastFoodTerminal".

    
umlcat 03.02.2012 05:59
quelle
4

Ich denke, dein Kommentar deckt das meiste ab:

  

UML 2 Sequence Diagrams: Beachten Sie, wie Objektbeschriftungen unterstrichen sind, Klassen und Akteure sind nicht Es klingt wie statische Klasse oder Aufruf einer statischen Funktion wird mit dem gleichen Stereotyp dargestellt 1- der Name Teil des Musternamens: ClassName sollte sein leer 2- Es sollte nicht unterstrichen werden.

UML kann dies nicht vollständig abdecken, da static keine UML-Definition ist, jede Sprache hat leichte Abweichungen. Die UML-Spezifikation für "features" [S. 69] (attr / Operationen):

  

isStatic: Boolean - Gibt an, ob dieses Feature einzelne Instanzen charakterisiert, die durch den Klassifizierer (false) oder den Klassifizierer selbst (true) klassifiziert wurden. Der Standardwert ist false.

Beachten Sie, dass sie den Klassifikator selbst sagen. Die Frage ist also, kann ich einen Klassifikator ein Sequenzdiagramm, keine Instanz? Beachten Sie auch, dass das nicht bedeutet, dass Klassifikator statisch sein kann. Seite 27 derselben UML-Spezifikation zeigt in der Meta-Klasse "classifier" (class) kein isStatic. UML stellt also kein formales Modell für statische Klassen zur Verfügung. Sie können Stereotype oder Schlüsselwörter oder ein eigenes UML-Profil verwenden und die Klasse erweitern. Aber die kurze Antwort ist tun, was Sie bereits gepostet haben.

    
Ted Johnson 03.02.2012 05:13
quelle

Tags und Links