Menu

Seite222

Anonymous Joerg Reichert
Attachments
Nfjs-glenn.png (107995 bytes)
Nfjs-search.png (84488 bytes)
Nfjs-tree.png (116256 bytes)

2.2.2 Funktionale Anforderungen an die zu generierende Anwendung

Vorbemerkungen

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.

Objektexemplare anzeigen und Navigation zwischen Exemplaren verschiedener Objekte

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):

Suche nach Objekten

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):

Eigenschaften von Objekten ändern

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.

Neue Objekte anlegen

Ü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).

Objekte löschen

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]


Related

Documentation: FrontPage
Documentation: Seite000
Documentation: Seite200
Documentation: Seite220
Documentation: Seite221
Documentation: Seite230