Profile helfen bei der Arbeit mit UML

01.03.2006
Von Stefan  Queins und Chris Rupp

Praxisbeispiel zum Business

Im Beispiel (siehe Grafik A) wurden der von der UML vorgegebenen Use Case um den Stereo- typen "Business" erweitert, um ihn so vom Stereotypen "System" unterscheiden zu können. Auch sind zusätzlich Multiplizitäten (Ausprägungen) an der Erweiterungsbeziehung erkennbar. Multiplizität bezieht sich in der UML auf ein Intervall nicht-negativer, ganzer Zahlen. Im Beispiel wurden die Multiplizitäten 0..1 verwendet. Sie geben unter anderem an, ob ein Stereotyp zu benutzen ist oder nicht. Somit lässt sich bei einem Use Case einer der angegebenen Stereotypen verwenden. Das ist aber nicht zwingend. Weiterhin ist in Grafik A die mögliche Spezialisierung von Stereotypen dargestellt: Geschäftsprozesse müssen nicht zwangsläufig von einem System unterstützt werden, was hier durch den Stereotyp "Pure Business" modelliert ist.

Verschiedene Beschreibungen

Da die Stereotypen im Metamodell durch spezielle Klassen definiert werden, sind hier noch weitere Beschreibungsmöglichkeiten wie beispielsweise Attribute möglich. Darüber hinaus können Anwender wie bei jeder Definition innerhalb des Metamodells auch hier spezielle Randbedingungen für die Verwendung der Stereotypen mit Hilfe von "Constraints" als Text beschreiben.

Verfügbare Profile (Auswahl)

Für ihre tägliche Arbeit können Anwender Profile selbst erstellen oder auf eine Reihe von weiterführenden Profilen zurückgreifen. Nachfolgend sind einige Beispiele angegeben, die sowohl auf Besonderheiten eines Anwendungsgebiets als auch auf die ein- gesetzten Techniken eingehen.

  • UML Profile for Corba/Corba Component Model (CCM);

  • UML Profile for Enterprise Application Integration (EAI);

  • UML Profile for Enterprise Distributed Object Computing (EDOC);

  • UML Profile for QoS and Fault Tolerance;

  • UML Profile for Schedulability, Performance, and Time;

  • UML Testing Profile;

  • spezielle Typen von Systemen, beispielsweise Profile für eingebettete oder für Hardwaresysteme;

  • spezielle Techniken und Implementierungssprachen wie zum Beispiel UML-Profile für .NET oder Programmiersprachen (C++, Java);

  • spezielle Methoden und Vorgehensmodelle, beispielsweise zur Unterstützung der Model Driven Architecture (MDA) oder zur Abbildung von Vorgehensmodellen (RUP, V-Modell).