2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Modellierungssprache nicht ganz so intuitiv ist, wie man sich das wünschen würde, sei<br />
dahingestellt. Allerdings müssen wir, um eine dritte mögliche Ursache ins Spiel zu bringen,<br />
kritisch anmerken, dass die Dokumentation der Sprache in einigen Punkten ausführlicher sein<br />
könnte. Insbesondere für die neuen Modellelemente, die im Profil 1.8 hinzugekommen sind,<br />
fehlt bis jetzt eine offizielle Dokumentation ihrer Verwendungsweise noch vollständig.<br />
4.7.3 Praktische Durchführbarkeit der Modellierarbeit<br />
<strong>UWE</strong> bietet für verschiedene CASE-Tools Plugins an, die den Modellierer bei der Erstellung<br />
von <strong>UWE</strong>-Modellen unterstützen 40 . Zur Modellierung des PVS wurde Magic<strong>UWE</strong> verwendet,<br />
ein Plugin für MagicDraw, welches aktuell in der Version 1.3.1 verfügbar ist. Mit ihm können<br />
auf einfache Weise <strong>UWE</strong>-Projekte, -Modelle und -Diagramme erzeugt werden. Von großem<br />
Wert ist vor allem, dass viele <strong>UWE</strong>-Modellelemente nicht per Hand aus einem reinen <strong>UML</strong>-<br />
Element und dem entsprechenden Stereotyp zusammengesetzt werden müssen, da das Plugin<br />
für jedes <strong>UWE</strong>-Modell eine Liste von 'fertigen' <strong>UWE</strong>-Elementen anbietet. Weiterhin lassen<br />
sich einige einfache Modelltransformationen automatisch durchführen und über das<br />
Kontextmenü einzelner Diagrammelemente auf simple Weise Tagged Values setzen. Die<br />
Arbeit mit diesem Plugin war sehr angenehm und hat die Erstellung der Modelle wesentlich<br />
erleichtert. Deswegen kommen wir nicht umhin, die praktische Durchführbarkeit der<br />
Modellierung mit <strong>UWE</strong> als hoch einzustufen.<br />
Trotzdem könnte in unseren Augen die Modellierarbeit mit Magic<strong>UWE</strong> durch einige<br />
zusätzliche Funktionalitäten noch weiter vereinfacht werden. Deshalb wollen wir zur<br />
Verbesserung der Benutzer-Unterstützung drei Vorschläge unterbreiten, welche durch unsere<br />
Erfahrungen mit Magic<strong>UWE</strong> motiviert sind. Deren technische Realisierbarkeit allerdings<br />
steht auf einem anderen Blatt, sie kann hier nicht beurteilt werden.<br />
1. Im Gegensatz zu den meisten anderen Modellelementen müssen Navigations- und<br />
Prozesseigenschaften bis jetzt immer noch aus einem gewöhnlichen Attribut einer Klasse<br />
und dem jeweiligen Stereotypen zusammengesetzt werden, der aus einer Liste aller im<br />
Projekt zur Verfügung stehenden Stereotypen auszuwählen ist. Auch hier wäre ein<br />
Mechanismus wünschenswert, der solche Eigenschaften direkt und 'auf einen Schlag'<br />
erzeugt.<br />
2. Generalisierungsbeziehungen werden bei der automatischen Content-to-Navigation-<br />
Transformation nicht ins Zielmodell übernommen. Die im Rahmen dieser Arbeit<br />
vorgestellten Überlegungen zu Vererbungshierarchien im Navigationsmodell legen nahe,<br />
dass nicht nur Inhalts-Klassen, sondern auch ihre Vererbungsbeziehungen ins<br />
Navigationsmodell übertragen werden sollten.<br />
3. Bei der Erstellung von Prozessklassen hat sich gezeigt, dass deren statische<br />
Attributstruktur häufig eine hohe Übereinstimmung mit der Attributstruktur einer<br />
bestimmten Inhaltsklasse aufweist. Im Moment sieht die Referenz für das <strong>UWE</strong>-Profil<br />
zwar für Navigationsklassen vor, dass alle Attribute der mit ihr verknüpften Inhaltsklasse<br />
implizit als Navigationseigenschaften gegeben sind 41 . Eine solche Konvention wird für<br />
Prozessklassen und Prozesseigenschaften allerdings nicht getroffen (Prozessklassen<br />
verfügen, wie schon an anderer Stelle bemerkt, im aktuellen Profil auch nicht über den<br />
Tagged Value contentClass, über den sie mit einer Inhaltsklasse verknüpft werden<br />
40 Siehe [38]<br />
41 Siehe [23], S. 9<br />
45