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.
Neben Publikationen und Personen (als Autoren oder Editoren einer oder mehrerer<br />
Publikationen) enthält die Domäne des PVS im Wesentlichen (Publikations-)Textdateien und<br />
Tags.<br />
Instanzen der Klasse TextFile repräsentieren Publikationstext-Dateien auf Objektebene.<br />
Tag-Objekte dienen zur dynamischen Charakterisierung einer Publikation. Sie werden einem<br />
Publication-Objekt dann hinzugefügt, wenn die Publikation mit Informationen<br />
beschrieben werden soll, für die in der statischen Struktur der Publication-Klasse (bzw.<br />
der entsprechenden Subklasse – siehe Abbildung 9) kein geeignetes Attribut vorhanden ist. So<br />
kann der dynamische Charakter des BibTeX-Formats erfasst werden: Obligatorische und<br />
optionale Tags werden als feste Attribute von Publication bzw. einer ihrer Subklassen<br />
modelliert; zusätzliche BibTeX-Tags einer Publikation, die über die BibTeX-Spezifikation<br />
hinausgehen, werden auf Instanzen der Tag-Klasse abgebildet.<br />
Publikationen und den Objekten der anderen Kernklassen ist gemein, dass sie validiert werden<br />
müssen, bevor sie dauerhaft in die PVS-Datenbank aufgenommen werden können. Diesem<br />
Umstand wird dadurch Rechnung getragen, dass diese Klassen von ValidableObject<br />
erben, einer abstrakten Klasse, welche geeignete Strukturen für die Validierungsfunktionalität<br />
im PVS bereitstellt. Das Attribut validationErrors dient zur Speicherung aller<br />
Validierungsfehler, die bei einer Gültigkeitsüberprüfung festgestellt worden sind. Die<br />
abstrakte Methode validate() wird in konkreten Subklassen von ValidableObject in<br />
Abhängigkeit der jeweils geltenden Validitätsbedingungen implementiert. Im Rahmen ihres<br />
Aufrufs wird die Klasseninstanz einer Validitätsüberprüfung unterzogen und deren<br />
validationErrors aktualisiert.<br />
Die Existenz zahlreicher verschiedener Publikationstypen im BibTeX-Format wird im PVS<br />
durch eine Vererbungshierarchie mit Publication als Basisklasse modelliert. Abbildung 9<br />
skizziert die wesentlichen Aspekte dieser Hierarchie.<br />
Abbildung 9: Publikations-Vererbungshierarchie (stark vereinfacht)<br />
27