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.

Das Diagramm dient in erster Linie dazu, einen groben Überblick über die<br />

Navigationsmöglichkeiten im PVS zu liefern. Es erhebt nicht den Anspruch auf<br />

Vollständigkeit, insbesondere fehlt die Angabe von Navigationseigenschaften,<br />

Selektionsausdrücken, Guards etc. . Wenn im Folgenden einzelne Aspekte der<br />

Systemmodellierung detailliert diskutiert werden, wird jeweils ein geeigneter Ausschnitt des<br />

Diagramms näher beleuchtet und mit zusätzlichen Informationen versehen. Das Diagramm<br />

fungiert also als Referenzpunkt, um nachfolgende Diskussionen in den<br />

Gesamtzusammenhang einordnen zu können.<br />

Navigationsknoten in oranger Farbe können von beliebigen Benutzern angesteuert werden,<br />

weiß-gelbliche Knoten sind nur Nutzern zugänglich, die im System eingeloggt sind. Knoten<br />

in brauner Farbe schließlich können nur von anonymen Usern erreicht werden. Die<br />

besonderen Privilegien dieser Benutzergruppe beschränken sich ausschließlich auf die Login-<br />

Funktionalität des Systems – sinnvollerweise wird bereits eingeloggten Benutzern diese<br />

Möglichkeit nicht geboten.<br />

4.3 Vererbung im Navigationsmodell<br />

Navigationsklassen sind Knoten in der Navigationsstruktur eines <strong>Web</strong>systems, an denen<br />

Informationen für die spätere Darstellung auf der <strong>Web</strong>oberfläche bereitgestellt werden. Ist<br />

eine Navigationsklasse (über den Tagged Value contentClass) mit einer Klasse des<br />

Inhaltsmodells verbunden, so dient die Navigationsklasse zur Repräsentation der Daten dieser<br />

Klasse. In der Navigationsklasse werden üblicherweise mehrere Navigationseigenschaften<br />

definiert, um zu spezifizieren, welche Daten für die spätere Darstellung im<br />

Präsentationsmodell relevant sind. Als Datengrundlage für eine «navigationProperty»<br />

dient wiederum die jeweilige Instanz der Inhaltsklasse, mit der die Navigationsklasse<br />

verbunden ist. Entweder ist eine «navigationProperty» direkt mit einem Attribut der<br />

Inhaltsklasse verbunden, oder ihr Wert wird über eine selectionExpression<br />

festgelegt, d.h. über einen Selektionsausdruck, mit dem durch Bezugnahme auf die aktuelle<br />

Inhaltsklassen-Instanz ein Wert bestimmt wird 24 .<br />

Im PVS z.B. dient die Navigationsklasse Publication zur Bereitstellung von<br />

Detailinformationen über eine einzelne Publikation. Dementsprechend ist sie über den Tagged<br />

Value contentClass mit der gleichnamigen Klasse Publication des Inhaltsmodells<br />

verknüpft und bietet Navigationseigenschaften an, um alle Attribute der Inhaltsklasse für das<br />

Präsentationsmodell verfügbar zu machen.<br />

Bei dieser Konstruktion ist prima facie nicht klar, wie mit Vererbungshierarchien im<br />

Inhaltsmodell umgegangen wird, deren Subklassen jeweils unterschiedliche Attribut-<br />

Strukturen aufweisen. Denn die Inhaltsklassen-Instanzen, die als Eingabe der<br />

Navigationsklasse Publication dienen, können im konkreten Fall - in Übereinstimmung<br />

mit dem Substitutionsprinzip der objektorientierten Modellierung - Instanzen einer Subklasse<br />

von (content::)Publication sein. Und soll navigation::Publication zur<br />

Repräsentation aller dieser Subklassen dienen, so muss sie für alle Attribute aller Subklassen<br />

von content::Publication Navigationseigenschaften bereitstellen. Dies führt jedoch<br />

offensichtlich zu Definitionslücken: Ist z.B. die aktuelle Eingabe von<br />

navigation::Publication vom (dynamischen) Typ content::TechReport, so<br />

wird sich für die Navigationseigenschaft series kein geeigneter Wert finden lassen. Denn<br />

24 Siehe [23], S.8f oder [22], S.27 für detailliertere Ausführungen<br />

29

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!