UML in der Version 2.2 veröffentlicht

Im Februar dieses Jahres hat die Object Management Group (OMG) die Version 2.2 der UML veröffentlicht. Für den Modellierer hat dies aber keine große Bedeutung, da sich, wie schon bei der Version 2.1, gegenüber der Version 2.0 nicht viel geändert hat. Trotzdem lohnt es sich, einmal einen Blick darauf zu werfen.
Wenn man sich z. B. die Superstructure-Dokumente (die mit den Änderungsmarkierungen) ansieht, dann hat sich sehr viel getan. Die meisten Änderungen sind jeodch kleine Korrekturen von Ungereimtheiten, oder das Hinzufügen zusätzlicher Erläuterungen. Es gibt auch einige wirkliche Änderungen, von denen aber die Mehrzahl nur auf der Metamodellebene der UML Auswirkungen haben, für den Modellierer (und dem Leser der Diagramme) nichts ändern.

Die einzige für den Modellierer interessante Neuerung finden wir im Aktivitätsdiagramm. Hier kann man bei einem Entscheidungsknoten (dem Diamanten) noch zusätzlich die Prüfparameter modellieren. Das ganze sieht folgendermaßen aus:

Beim Anmelden eines neuen Kunden muss abhängig von dessen Alter entweder eine Einverständniserklärung eingeholt werden oder die Kundendaten können direkt eingegeben werden.
Um dies zu entscheiden muss das Alter geprüft werden. Somit benötigen wir den Parameter „Alter“ als Input für die Entscheidung. Dieser Sachverhalt ist in dem obigen Diagrammausschnitt dargestellt.
Der Inputparameter (Alter) wird mit einem Objektknoten modelliert und die Kante zwischen dem Objektknoten und dem Entscheidungsknoten (Diamantsymbol)  bekommt den Stereotyp <<decisionInputFlow>>.
Dies ist übrigens die einzige Möglichkeit an einem Entscheidungsknoten Kontrollflüsse und Objektflüsse zu haben. Sonst dürfen an den ein- und ausgehenden Kanten eines Entscheidungsknotens entweder nur Objektknoten oder nur Aktivtiäten modelliert werden. Diese Regel gilt in dem aufgezeigten Fall nicht.

Weiterhin viel Erfolg beim Modellieren.

Carsten Pflug

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert