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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

entsprechend seinen Wünschen zu modifizieren. Außerdem müsste er noch das Feature dem<br />

Ziel-Element des Präsentationsmodells über den Tagged Value riaFeature zuweisen.<br />

Diese etwas mühsame Arbeit könnte ihm eine Erweiterung des Magic<strong>UWE</strong>-Plugins<br />

abnehmen. Deren Funktionalität würde folgendermaßen aussehen:<br />

Anstatt das Pattern-Template in der RIA-Bibliothek zu suchen und anschließend manuell in<br />

das Zielpaket zu kopieren, öffnet der Modellierer das Kontext-Menü des<br />

Präsentationselements, das mit dem RIA-Feature versehen werden soll. Unter einer Option<br />

'RIA-Pattern-Vorlagen' kann er aus einer Liste der verfügbaren Pattern auswählen. Nachdem<br />

ein Name für das Feature festgelegt worden ist, wird das ausgesuchte Pattern automatisch<br />

unter diesem Namen als ConcreteRIAFeature in das RIA-Paket kopiert, wo es vom<br />

Modellierer weiterverarbeitet werden kann. Der Modellierer kann sich optional dafür<br />

entscheiden, dass die variablen Elemente des Patterns in der Vorlage automatisch durch ihre<br />

Defaultwerte (falls vorhanden) ersetzt bzw. konkretisiert werden. Auch das Setzen des<br />

entsprechenden Tag Values beim Ziel-UI-Element übernimmt das Tool. Außerdem wird im<br />

generierten ConcreteRIAFeature an einer geeigneten Stelle vermerkt, welches RIA-<br />

Pattern als Vorlage dient. Schließlich wird im Diagramm des gerade erzeugten Elements die<br />

Schrift- und Zeichenfarbe verändert. Dadurch werden sich die durchgeführten Veränderungen<br />

vom übrig gebliebenen Gerüst des RIA-Pattern optisch abheben, und der Modellierer kann<br />

stets erkennen, welche Elemente er dem Pattern-Template hinzugefügt hat.<br />

5.3 Ein Hybrid-Vorschlag zur Modellierung von RIA-Features<br />

In den letzten beiden Sektionen wurden zwei Vorschläge diskutiert, die den <strong>UWE</strong>-Ansatz zur<br />

RIA-Modellierung erweitern und ihm eine höhere Ausdruckskraft verleihen. Hinsichtlich<br />

ihrer Stärken und Schwächen sind sie komplementär: Die zweite Modellierungstechnik,<br />

welche auf der Erstellung eigener RIA-Zustandsautomaten basiert, ist sehr generisch: RIA-<br />

Patterns dienen nur als Vorlagen, die beliebig an die Erfordernisse des konkret zu<br />

modellierenden Features angepasst werden können. Allerdings bringt diese Allgemeinheit<br />

einen gewissen 'Overhead' bei der Modellierung mit sich. Für jedes konkrete RIA-Feature, das<br />

modelliert werden soll, muss ein eigener Zustandsautomat angelegt werden, selbst wenn das<br />

zu modellierende Verhalten vollkommen 'standardmäßig' ist, d.h. durch ein RIA-Pattern aus<br />

der Pattern-Bibliothek und seine Defaultwerte schon vollständig beschrieben ist. Zwar würde<br />

durch CASE-Tool-Unterstützung wie oben beschrieben ein entsprechender<br />

«ConcreteRIAFeature» - Automat automatisch generiert werden, so dass der<br />

Modellierer kaum Arbeit zu verrichten hätte. Doch für den Entwickler, der die <strong>UWE</strong>-Modelle<br />

umzusetzen hat, ist es bisweilen umständlich, bei jedem zu realisierenden RIA-Feature, auf<br />

das er durch einen entsprechenden Tagged Value im Präsentationsdiagramm hingewiesen<br />

wird, die genaue und ausführliche Spezifikation im RIA-Feature-Paket abzurufen. Gerade bei<br />

einfachen Features, deren Verhalten durch ein RIA-Pattern inklusive Defaultwerte<br />

ausreichend spezifiziert ist, würde ein kurzer Hinweis im entsprechenden Element des<br />

Präsentationsmodells vollkommen genügen, um einen erfahrenen RIA-Entwickler<br />

ausreichend zu instruieren - insbesondere dann, wenn dieser mit den <strong>UWE</strong>-RIA-Patterns<br />

genügend vertraut ist. Und bei genau diesen Fällen liefert, wie oben dargelegt, der erste<br />

Vorschlag eine knappe und gleichzeitig hinreichend präzise Modellierung.<br />

Zur Auswahl stehen also zwei Modellierungstechniken, die sich hinsichtlich ihrer Stärken<br />

vortrefflich ergänzen würden. In einer solchen Situation empfiehlt es sich, auf eine<br />

Entscheidung für eine der beiden Alternativen und gegen die andere zu verzichten, und sich<br />

stattdessen um eine Lösung zu bemühen, welche die Stärken beider Gegenspieler in sich<br />

57

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!