18.01.2014 Aufrufe

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!