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.

Der Übergang vom Startzustand in Invalid (anstatt Valid) ist willkürlich gewählt. Bei<br />

einer Instantiierung des Patterns hängt es von der dann geltenden Validitätsbedingung und<br />

dem Anfangswert des Eingabefeldes ab, welcher Zustand zu Beginn eingenommen werden<br />

soll. Falls die diesbezügliche Vorgabe des Patterns nicht den Erfordernissen der konkreten<br />

Situation entspricht, muss bei Verwendung eines «concreteRIAFeature»s die Struktur<br />

der Patternvorlage entsprechend modifiziert werden; wird ein patternspezifischer Tagged<br />

Value verwendet, so kann eine informelle Spezifikation erfolgen (z.B. 'start – valid'), falls der<br />

'richtige' Zustand nicht aus dem Kontext hervorgeht.<br />

Erweiterung des <strong>UWE</strong>-Profils:<br />

Keine; der bereits existierende Tagged Value liveValidation genügt.<br />

5.5.4 Gruppen-Livevalidierung (Group Live-Validation)<br />

Ziel:<br />

Mehrere Live-Validierungen sollen auf einen Schlag ausgelöst werden können.<br />

Motivation und Anwendungsszenario:<br />

Ein Formular kann unter Umständen mit ungültigen Daten abgeschickt werden, ohne dass<br />

sich der Benutzer darüber im Klaren ist, und obwohl alle Eingabefelder mit einer Live-<br />

Validierung versehen sind. So könnte es z.B. ein Feld mit einem leeren Anfangswert<br />

enthalten, dessen Gültigkeit einen nicht-leeren Wert voraussetzt. Wenn der Benutzer dieses<br />

Eingabefeld übersieht und nicht bearbeitet, wird seine Live-Validierung niemals ausgelöst,<br />

also auch keine Fehlermeldung angezeigt. Wird das Formular abgeschickt, so muss der<br />

Benutzer erst die serverseitige Validierung abwarten, bis er auf seinen Eingabefehler<br />

aufmerksam gemacht wird. Für den Benutzer angenehmer wäre es, wenn sein Klick auf den<br />

'Submit'-Button zunächst eine vollständige (Live-)Validierung des Formulars auf Clientseite<br />

auslöst.<br />

Lösung: (siehe Diagramm 37 auf der nächsten Seite)<br />

Zwischen die Betätigung des Submit-Schalters (userAction) und das tatsächliche<br />

Absenden der Formulardaten (systemOperation) wird eine clientseitige Überprüfung<br />

aller Eingabefelder eingeschoben, die mit einer LiveValidation ausgestattet sind<br />

(checkOverallValidity). Enthält mindestens eines einen ungültigen Wert, so wird der<br />

natürliche Weitergang der Ereignisse unterbrochen: Das Formular wird nicht abgeschickt,<br />

stattdessen werden geeignete Fehlermeldungen angezeigt. Der zusammengesetzte Zustand im<br />

Zustandsautomaten (LiveValidations) enthält die LiveValidation-Automaten aller<br />

Eingabefelder des Formulars als Regionen. Ergibt die Validierung einen oder mehrere Fehler,<br />

so wird wieder in diesen Zustand übergangen. Die LiveValidation-Regionen nehmen jeweils<br />

den Zustand ein, in dem sie sich befanden, bevor der Benutzer den submit-Button gedrückt<br />

hat 53 .<br />

53 Bemerkung zum Zustandsautomaten: Die von der Gabelung ausgehenden Transitionen sollen eigentlich in die<br />

Historienzustände führen, nicht in den orthogonalen Zustand. Das verwendete CASE-Tool MagicDraw<br />

erlaubt allerdings keinen Übergang zwischen einer Gabelung und einem Historienzustand, obwohl sich in der<br />

<strong>UML</strong>-Superstructure [26] gegen eine solche Konstruktion keine Einwände finden lassen. Im Diagramm<br />

wurde ein solcher Übergang so gut es geht 'angedeutet'.<br />

66

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!