Im Projekt soll sich zunächst auf die Umsetzung einfacher Datenanzeige- und -manipulationsmethoden (CRUD3D create, read, update & delete) beschränkt werden. Die hier angeführten Anforderungen müssen letztlich in den Templates des Generators umgesetzt werden und gehören somit eigentlich auch zu den Anforderungen an den Generator. Im folgenden wird zwischen Objekten und (Objekt-)Exemplaren unterschieden. Objekte entsprechen den Entitäten im Datenmodell bzw. dann den Tabellen in der Datenbank. Exemplare sind konkrete Ausprägungen von Objekten, d.h. die im Objekt definierten Eigenschaften werden mit konkreten Werten belegt. Sie sind repräsentieren demnach die Zeilen in den Tabellen.
Da die Zielanwendung über eine objektorientierte Benutzerfläche verfügen wird (typische Vertreter ist der grafische Desktop von Linux- und Windows-Betriebssystemen), sollen die Tabellen aus der Datenbank (bzw. die Entitäten aus dem Datenmodell) als Symbol-Objekte auf der Oberfläche dargestellt werden. Für die Anzeige konkreter Exemplare eines Objektes sollte über Doppelklick auf das Objekt ein Fenster geöffnet werden. In diesem werden die konkreten Exemplare ebenfalls als Symbol-Objekte dargestellt. Über das Kontextmenü (oder auch Objektmenü) jedes dieser Exemplare lassen sich neben den Funktionen, die alle Objekt-Exemplare besitzen (einfaches CRUD) auch Objekt-spezifische Funktionen aufrufen (Anlegen, Anzeige und Manipulation verbundener Exemplare anderer Objekte). Beispielsweise wäre ein Exemplar eines Objekt "Kunde" denkbar, über dessen Objektmenü der Dialog zum Anlegen neuer "Artikel" aufrufbar wäre. Alternativ zur Symboldarstellung wäre Repräsentation als einfache Liste oder Detailliste (tabellarisch) möglich. Zusätzlich könnte man die Exemplare ihren Objekten untergeordnet in einem Verzeichnisbaum anzeigen, die selbst wieder über Knoten verfügen würden, über die man zu verbunden Exemplaren an andere Stelle des Baumes navigieren könnte.
Beispiel für eine Symboldarstellung (Quelle:JMatter):
Beispiel für eine Baumstruktur (Quelle:JMatter):
Im Fenster der dargestellten Exemplare befindet sich die Möglichkeit unterhalb der Menüleiste die Exemplare durch Vorgaben (entspricht, enthält, enthält nicht) für die Eigenschaften des Objekts zu filtern. Auf kompliziertere Suchfunktionalität soll zunächst verzichtet werden.
Beispiel für eine Filterfunktion (Quelle:JMatter):
Im Fenster der dargestellten Exemplare lässt sich über das Kontextmenü des zu ändernden Exemplars ein Dialog zum Ändern der Eigenschaften des Exemplars aufrufen. Im Dialog können neben den direkten Eigenschaften auch verbundene Objekte angelegt oder geändert werden.
Über das Objektmenü eines Objekts als auch im Fenster der bereits vorhandenen Exemplare entweder über das Menü oder das Kontextmenü, das sich auf der freien Fläche des Fensters öffnet, lässt sich ein Anlegen-Dialog aufrufen. In diesem kann man die erforderlichen Daten eingeben (je nach Relationsdefinition des Datenmodells müssen auch noch Daten der verbundenen Entitäten
eingeben werden). Bevor die Daten in der Datenbank gespeichert werden, überprüfen Validatoren weitest gehend die Korrektheit der eingegebenen Daten (Konformität zum Datentyp, Einhalten von Wertebereichen, Einhalten von Regeln, die die semantische Korrektheit sicher stellen sollen).
Im Fenster der dargestellten Exemplare lässt sich über das Kontextmenü des zu löschenden Exemplars ein Löschen-Dialog aufrufen. Das Löschen verbundener Exemplare anderer Objekte, die gemäß der Löschregeln, ebenfalls gelöscht werden müssen, muss einzeln bestätigt werden. Falls für eines dieser Exemplare die Bestätigung verweigert wird, wird die gesamte Löschtransaktion abgebrochen.
weiter zu 2.3 Nicht-funktionale Anforderungen
zurück zu 2.2.1 Funktionale Anforderungen an den Generator
zurück zu 2.2 Funktionale Anforderungen
zurück zu 2 Anforderungen
zurück zu [FrontPage]
Documentation: FrontPage
Documentation: Seite000
Documentation: Seite200
Documentation: Seite220
Documentation: Seite221
Documentation: Seite230