08.12.2012 Aufrufe

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

estimmt, die zur Verwaltung des Datenaustausches mit dem Nutzer verwendet wird.<br />

Indem in Abbildung 14 bzw. in analogen Workflow-Aktivitäten für den<br />

EditPublication-Prozess der UserAction DataInput als Prozessklassen-Grundlage<br />

allein PublicationDataInput zugewiesen wird, suggeriert man, dass mit dieser<br />

Prozessklasse die Datengrundlage des <strong>Web</strong>-Formulars ausreichend beschrieben ist. Dies ist<br />

eine grobe Vereinfachung, da damit der Beitrag der Prozessklassen TagDataInput sowie<br />

PersonDataInput unter den Tisch gekehrt wird. Wird bei einer konkreten Ausführung des<br />

Editier-Prozesses z.B. ein Publikationsobjekt an die UserAction herangetragen, welches mit<br />

zwei Personenobjekten in der Autorenrolle, einem Personenobjekt in der Editorenrolle sowie<br />

einem Tag-Objekt verlinkt ist, so genügt es natürlich nicht, dass allein eine Prozessklassen-<br />

Instanz von PublicationDataInput (bzw. einer entsprechenden Subklasse) die<br />

Verwaltung der Prozess-Daten übernimmt. Es werden auch Instanzen der von<br />

PublicationDataInput aggregierten Prozessklassen benötigt – ganz analog zu den<br />

Objekt-Beziehungen der Eingabe-Publikation bedarf es zusätzlich zweier Instanzen von<br />

PersonDataInput in der Rolle authorDataInput, einer Instanz von<br />

PersonDataInput in der editorDataInput-Rolle sowie einer Instanz von<br />

TagDataInput. Diese dynamische Abhängigkeit der Struktur einer konkreten Prozess-<br />

Ausführung vom Eingabeobjekt – die zur Durchführung des Prozesses notwendigen<br />

Prozessklassen-Instanzen werden in Abhängigkeit der konkreten Beschaffenheit des<br />

Eingabeobjekts bestimmt - lässt sich im Moment mit <strong>UWE</strong> nicht gut ausdrücken. Die einzige<br />

Möglichkeit zur Festlegung der zu involvierenden Prozessklasse besteht im aktuellen <strong>UWE</strong>-<br />

Profil im processClass-Tagged Value von «userAction», welcher die Verknüpfung<br />

der UserAction mit genau einer Prozessklasse erlaubt. Selbst wenn man die Multiplizität<br />

dieses Tagged Values auf '1..*' erhöhen würde, um in unserem Falle die beiden aggregierten<br />

Prozess-Klassen ebenfalls angeben zu können, würde man die Erfordernisse für eine<br />

Prozessdurchführung nur unzureichend beschreiben – es fehlte immer noch die Angabe, wie<br />

viele Instanzen dieser Prozessklassen in welcher Rolle benötigt werden.<br />

Bei der Modellierung des PVS behalfen wir uns damit, diese Anforderungen an eine<br />

Prozessdurchführung von CreatePublication oder EditPublication informell in<br />

einem <strong>UML</strong>-Kommentar in den Workflow-Aktivitäten der beiden Prozesse zu beschreiben.<br />

Zum Verständnis des Diagramms sollte dies ausreichend sein, für die Zukunft sollten<br />

allerdings formalere Möglichkeiten zur Spezifikation gefunden werden. Eine Idee, welche<br />

ohne eine Spracherweiterung auskommt, ist es, DataInput als CallBehaviorAction zu<br />

definieren und eine eigene Aktivität als Verhalten zu spezifizieren, welche allein zur<br />

adäquaten Modellierung der Benutzereingabe auf Workflow-Ebene dient – siehe dazu<br />

Diagramm 15 (nächste Seite) 30 .<br />

30 Im Diagramm wurde auf die Modellierung der Tag-Eingabe verzichtet, um das Diagramm kompakt und<br />

übersichtlich zu halten.<br />

36

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!