Metamodellbasierte und hierarchieorientierte ... - RosDok
Metamodellbasierte und hierarchieorientierte ... - RosDok
Metamodellbasierte und hierarchieorientierte ... - RosDok
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
32 Deklarative UML metamodellbasierte Workflowmodellierung<br />
• Anwendungsfalldiagramm: Diese Modelle werden häufig als erste Modellierungsart in Softwareprojekten<br />
zum Requirements Engineering genutzt. Dort wird dargestellt, welche Akteure wie mit dem<br />
zu entwickelnden System über Anwendungsfälle (Use Cases) interagieren. Im Diagramm können<br />
Anwendungsfälle mit include <strong>und</strong> extend in Beziehung gesetzt werden. Include besagt, dass der inkludierte<br />
Use Case für eine erfolgreiche Ausführung des übergeordneten Anwendungsfalles zwingend<br />
erforderlich ist. Dagegen wird extend verwendet, um Use Cases für Ausnahmefälle zu spezifizieren.<br />
Zur Behandlung des Ausnahmefalls wird dann der über die extend Beziehung definierte Use Case<br />
ausgeführt, um das Ziel des zu erweiternden Use Cases wieder zu erreichen. Über extension points<br />
können die Bedingungen angegeben werden, die zutreffen müssen, damit der Ausnahmefall eintritt.<br />
Es gibt des Weiteren auch textuelle Repräsentationen, die eine strukturierte, formularbasierte Beschreibung<br />
von Anwendungsfällen darstellt [For07]. Dort sind zunächst der Hauptakteur <strong>und</strong> die<br />
Nebenakteure zu benennen. Dann ist das Ziel anzugeben, das der Hauptakteur mit dem von ihm ausgelösten<br />
Anwendungsfall verbindet. Außerdem ist ein Szenario als Interaktionsfolge zwischen Akteur<br />
<strong>und</strong> System zu beschreiben, das das vorher angegebene Ziel erfüllt. Dieses angegebene Szenario<br />
wird als Hauptszenario bezeichenet. Typischer Weise können mehrere Szenarien zum Erfolg eines<br />
Anwendungsfalls führen. Zudem sind die Startereignisse zu benennen, die den beschriebenen Use<br />
Case auslösen. Hier gibt es eine starke Ähnlichkeit zu Geschäftsprozessmodellen. Wie in den Unterabschnitten<br />
2.5.2.1 <strong>und</strong> 2.5.2.3 erwähnt, ist die Spezifikation der Startereignisse ebenfalls Bestandteil<br />
von EPK- <strong>und</strong> BPMN-Geschäftsprozessmodellen.<br />
Use Cases können des Weiteren synonym zu Prozessen bzw. Aktivitäten gesehen werden, so dass<br />
damit eine grobe Geschäftsprozessmodellierung, die noch keine Angaben über Reihenfolgen der<br />
Aktivitäten macht, ermöglicht wird. Die include <strong>und</strong> extend-Beziehungen können in Use Case-Diagrammen<br />
eine Hierarchie bilden, ähnlich zu Funktionsbäumen (s. [OWS + 03, 81]), die z.B. Bestandteil<br />
der Geschäftsprozessmodellierung in ARIS sind [Sch01]. Die Hierarchisierung ist dagegen nicht<br />
Gegenstand der Betrachtung bei DMWM <strong>und</strong> kann in Modellen dieser Sprache nicht ausgedrückt<br />
werden.<br />
• Kommunikationsdiagramm<br />
• Interaktionsübersichtsdiagramm<br />
• Zeitverlaufsdiagramm<br />
3.1.2 Spezifikation von Zusicherungen mit OCL<br />
Da visuelle Modelle häufig nicht ausreichen, um eine Sofwaresysteme genau genug zu beschreiben, wurde<br />
der UML eine textuelle Spezifikationssprache hinzugefügt. Diese Sprache ist seiteneffektfrei <strong>und</strong> wird als<br />
Object Constraint Language (OCL) bezeichnet [OCL10]. Die Spezifikationsmittel sind Invarianten <strong>und</strong><br />
Vor- <strong>und</strong> Nachbedingungen. Diese sind integraler Bestandteil des DMWM-Ansatzes zur Spezifikation des<br />
Metamodells.<br />
Invarianten werden Klassen aus dem UML-Klassendiagramm zugeordnet <strong>und</strong> stellen Zusicherungen dar,<br />
die die Objekte dieser Klassen nicht verletzen dürfen. Zudem gibt es OCL Vor- <strong>und</strong> Nachbedingungen,<br />
die Zustandsänderungen bei Operationsaufrufen spezifizieren können. Dabei wird durch die Vorbedingung<br />
angegeben, wie der Zustand vor der Operationsausführung sein muss. Durch die Nachbedingung wird der<br />
Zustand nach Ausführung der Operation spezifiziert. Eine imperative Angabe, wie die Zustandsänderung<br />
erreicht wird, ist mit OCL nicht möglich. Dafür können UML-Action Languages wie z.B. ALF [OMG10]<br />
oder SOIL [Büt11] genutzt werden.