2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
mittels 'plain HTML' oder durch Ruby-Methoden codiert, die das View-Modul von Ruby on<br />
Rails zur Verfügung stellt und die beim Rendern des jeweiligen Templates zu HTML-Code<br />
ausgewertet werden. Schließlich betrifft die dritte Richtlinie den dynamischen Inhalt, der von<br />
solchen UI-Eigenschaften dargestellt werden soll und der auf Modellebene über den jeweils<br />
zugrunde liegenden Navigationsknoten spezifiziert wird. In Rails werden diese Inhalte durch<br />
Rückgriff auf Instanzvariablen implementiert, die im Controller mit geeigneten<br />
Modellobjekten besetzt wurden und danach in dem zu rendernden Template zur Verfügung<br />
stehen. (Dieser Punkt wurde schon im Abschnitt über die Umsetzung des Navigationsmodells<br />
angesprochen.)<br />
Die Wahl des HTML-Elements, mit Hilfe dessen eine <strong>UWE</strong>-UI-Element implementiert wird,<br />
ist durch die <strong>UWE</strong>-Semantik häufig nicht eindeutig vorgegeben – manchmal kommen<br />
mehrere HTML-Elemente in Frage, welche die Semantik des Modellelements angemessen<br />
realisieren. Dies ist z.B. bei «selection»-Elementen der Fall, mit denen eine<br />
Auswahlmöglichkeit des Benutzers zwischen verschiedenen Werten modelliert wird 72 . Die<br />
Vorkommen dieses Stereotyps in der PVS-Präsentationsmodellierung wurden auf<br />
verschiedene Arten umgesetzt: Bei einer größeren Zahl an Auswahlmöglichkeiten, z.B. bei<br />
der Selektion der Suchparameter im erweiterten Suchmodus, wurde ein (HTML-)-<br />
Element verwendet. Standen nur einige wenige Werte zur Auswahl (wie z.B. bei der Auswahl<br />
der Publikationstext-Option im Publikationsformular: Angabe einer URL, Dateiupload oder<br />
keine der beiden Optionen), so kamen Radiobuttons zum Einsatz. Eine einfache 'Ja-nein'-<br />
Entscheidungsmöglichkeit schließlich wurde mit Hilfe einer Checkbox realisiert. Usability-<br />
Überlegungen gaben in diesen und ähnlichen Situationen den Ausschlag für die Wahl einer<br />
bestimmten Implementierungsvariante.<br />
Im Folgenden soll an zwei kurzen Code-Ausschnitten beispielhaft illustriert werden, wie bei<br />
der Umsetzung des Präsentationsmodells vorgegangen wurde, und welche Rails-Konstrukte<br />
dabei eingesetzt wurden.<br />
Das erste Beispiel betrifft die Implementierung eines Layouts für die <strong>Web</strong>seiten des PVS.<br />
Häufig sollen bestimmte UI-Elemente auf jeder Seite eines <strong>Web</strong>systems angezeigt werden.<br />
Während sich der Inhalt der Hauptregion der <strong>Web</strong>oberfläche in Abhängigkeit von<br />
Benutzeraktivitäten ändert, ist es z.B. sinnvoll, eine Navigationsleiste immer anzuzeigen,<br />
damit der Benutzer stets alle wichtigen Navigationsmöglichkeiten der Anwendung aufrufen<br />
kann. In <strong>UWE</strong> wird ein solches Seitenlayout mit Hilfe eines<br />
«presentationAlternatives»-Elements realisiert, das neben den festen Layout-<br />
Komponenten in eine «presentationPage» eingebettet ist (siehe Abbildung 51 auf der<br />
nächsten Seite).<br />
72 Siehe dazu auch [23], S. 18<br />
86