Für Modellelemente können Sie die Eigenschaften 'Gemeinsamer Zugriff', 'Multiplizität', 'Typ' und 'Sichtbarkeit' festlegen.
Die Eigenschaft 'Gemeinsamer Zugriff' einer Operation in einem aktiven Objekt gibt an, wie ein System reagiert, wenn ein anderes aktives Objekt die Operation aufruft.
Wert für gemeinsamer Zugriff | Beschreibung |
---|---|
Sequenziell | Dies ist der Standardwert für die Eigenschaft 'Gemeinsamer Zugriff' einer Operation. Zwischen gleichzeitig ablaufenden Prozessen können Konflikte auftreten. Aufrufende Objekte sollten sich miteinander abstimmen, so dass jeweils nur ein Aufruf an eine Operation erfolgt. |
Überwacht | Es können gleichzeitig mehrere Aufrufe an eine Operation erfolgen, von denen nur einer zur Verarbeitung zugelassen wird. Nachfolgende Aufrufe werden blockiert, bis der erste Aufruf abgeschlossen ist. Systementwickler sollten sicherstellen, dass Anwendungen gleichzeitige Aufrufe an Operationen blockieren können. |
Gleichzeitig | Es können mehrere Aufrufe an eine Operation auftreten und gleichzeitig ausgeführt werden. |
Die Eigenschaft 'Multiplizität' gilt für verschiedene Modellelemente, jedoch speziell für Attribute, die zu Klassifikationsmerkmalen, Bestandteilen von Kombinationsstrukturdiagrammen und Assoziationen zwischen Klassifikationsmerkmalen gehören. Die Multiplizität eines Attributs gibt an, wie viele Werte diesem Modellelement zugeordnet werden können. Beispielsweise können Sie ein Attribut namens 'Attribute1' mit dem Datentyp 'Integer' definieren, dessen Wertebereich ganze Zahlen von 0 bis 3 umfasst, zum Beispiel Attribute1 : Integer [0..3]. Ein Multiplizitätswert oder -wertebereich an einem Assoziationsende gibt an, wie viele Objekte an der Beziehung partizipieren können. Eine Multiplizitätsspezifikation kann eine einzelne positive ganze Zahl sein, ein Bereich positiver ganzer Zahlen (durch Ober- und Untergrenze angegeben) oder eine durch Kommata getrennte Liste positiver ganzer Zahlen. Ein Stern gibt eine uneingeschränkte Obergrenze an. Beispielsweise zeigt die folgende Liste verschiedene Multiplizitätsspezifikationen:
Beispiel | Beschreibung |
---|---|
1 | Genau Eins |
0..1 | Null oder Eins |
* | Beliebige Anzahl, einschließlich null |
1.. | Eins oder mehr |
In einem Kontext mit Parametern (z. B. eine Schablone) können Ober- und Untergrenze einer Multiplizitätsspezifikation aus Ausdrücken bestehen, die in ganzzahlige Werte ausgewertet werden.
Wenn Multiplizitätswerte einem Attribut zugeordnet sind, werden sie in Klammern angegeben, wie im folgenden Beispiel:
Wenn Multiplizitätswerte Bestandteilen von Kombinationsstrukturdiagrammen zugeordnet sind, werden sie in Klammern angegebene wie im folgenden Beispiel:
Wenn Multiplizitätswerte Assoziationsenden zugeordnet sind, werden sie neben den Assoziationsenden angezeigt, zu denen sie gehören, wie im folgenden Beispiel:
Sie können den Typ für ein Attribut, eine Operation, einen Parameter und ein Assoziationsende angeben. Der von Ihnen angegebene Typ kann eine Klasse sein, ein UML-Datentyp (z. B. ganze Zahl, Zeichenfolge, unbegrenzte natürliche Zahl oder Boolesch) oder eine Schnittstelle.
Die Sichtbarkeit legt fest, ob Modellelemente in derselben Klasse, in demselben Paket, in einer Vererbungsstruktur oder von jedem Punkt im gesamten System auf andere Modelllelemente zugreifen können. Sichtbarkeit kann für die folgenden Modellelemente angegeben werden:
Beispielsweise können andere Klassen die Attribute und Operationen einer Klasse mit öffentlicher Sichtbarkeit anzeigen und verwenden. Attribute mit privater Sichtbarkeit können nur von der Klasse angezeigt und verwendet werden, in der sie enthalten sind.
Ebene | Symbole für Attribute | Symbole für Operationen | Textsymbol | Beschreibung |
---|---|---|---|---|
Öffentlich | ![]() |
![]() |
+ | Modellelemente, die den Container anzeigen können, können auch das öffentliche Modellelement anzeigen und verwenden. |
Privat | ![]() |
![]() |
- | Modellelemente in einem Container können ein privates Modellelement in diesem Container anzeigen und verwenden. |
Geschützt | ![]() |
![]() |
# | Modellelemente, die sich in demselben Container oder in einem seiner untergeordneten Container befinden, können ein geschütztes Modellelement in diesem Container anzeigen und verwenden. |
Paket | ![]() |
![]() |
~ | Modellelemente, die sich in demselben Paket befinden wie der Container, können ein Modellelement mit Paketsichtbarkeit anzeigen und verwenden. |