Universität Essen
Institut für Experimentelle Mathematik
Thomas Dreibholz
übergeordnetes Verzeichnis

Analyse-Modell


Unser Analyse-Modell

Erläuterung des Analyse-Modells

Angelehnt an die Use Cases entstand das obige Analyse-Modell. Es weist durch die Interface-Objekte eine klar definierte Benutzerschnittstelle (durch die GUIs ausgeführt und näher beschrieben) auf. Durch diese Interface-Objekte wird die nachgelagerte Schicht von Control-Objekten mit den benötigten Inputs versorgt. Die Control-Objekte operieren ihrerseits auf der durch das Domain-Modell definierten Menge von Entity-Objekten, die die Datenbasis verkörpern.
Aufbauend auf diesem "Drei-Schichten-Modell" nachfolgend eine genauere Erläuterung der Analyse-Objekte sowie der damit assoziierten (und auf dem Use Case Model basierenden) Abläufe:
 

Die Suche als zentraler Ausgangspunkt

Die meisten Aktionen des Benutzers bauen mehr oder weniger direkt auf einer Datensuche mit nachgeschalteter Selektionsmöglichkeit auf. Der Ablauf einer Suche ist im linksstehenden Diagramm veranschaulicht.
Die Verwendungsmöglichkeit (und in vielen Fällen sogar die Rolle als Basisfunktion) von Suchresultaten für weiterführende Benutzeraktionen ist im Analyse-Modell durch verschiedene "extends"-Beziehungen zwischen den Selektions-Objekten und den zentralen Control-Objekten angedeutet:
Selektion einer Instanz mündet in "Instanz-Status Ändern", der Materialisierung einer gewünschten Änderung des Ausleihstatus einer Publikations-Instanz oder - für den Bibliothekar - auch in die Bestandsverwaltung, wo entsprechende Datensätze manipuliert werden können. Selektion (einer Publikation) kann auch wieder Basis für eine weitergehende Suche (nach Instanzen) sein! Dieser im allgemeinen zweistufige Prozeß des Suchens und Selektierens wird durch das folgende Ablaufdiagramm zum Ausdruck gebracht:

Dem Benutzer wird die Suchmaske (als Bestandteil der deshalb als "virtuell" bezeichneten Ausleih-Maske), ergänzt um einige Schaltflächen o.ä. als Ausgangspunkt dargeboten. Über eine Suchanfrage wird das Publikationen Suchen gestartet, welches ein Suchergebnis generiert, auf das die Ergebnismaske zugreift, dieses darstellt und die Selektionsmöglichkeit bietet.

Nach dem gleichen Schema funktioniert die letztendliche Selektion von Instanz-Objekten, wobei Instanz Suchen in zweierlei Zusammenhang auftreten kann: Wie oben gesehen, versorgt von einer Publikations-Selektion, oder aber eine Ausleihliste bereitstellend im Zusammenhang mit dem Use Case Weitergabe/Rückgabe:

Authentifizierung

Der Übersicht halber ist die deshalb nicht minder wichtige Authentifizierung bzw. ihre Beziehung mit anderen Objekten im Diagramm nur angedeutet. Tatsächlich greifen  jedoch mehrere Control-Objekte auf diesen Dienst zu (sobald Aktionen durchgeführt werden sollen, die gewisse Zugriffsrechte erfordern). Im Rahmen der Authentifizierung läuft die login-Prozedur immer dann ab, wenn der Benutzer noch nicht (hinreichend) authentifiziert ist (Verdeutlicht durch die "extends"-Beziehung).

Verantwortlich: Uwe Weddige


Unsere GUI-Entwürfe

Erläuterungen den Graphical User Interfaces (GUIs)

Die derzeitige Version unserer GUIs umfaßt 10+3 Entwürfe für Masken, die den Benutzer durch unser Bibliotheksverwaltungs-Programmsystem führen sollen. Unter 'Implementierung' befinden sich html-Versionen der hier dargestellten Fenster.

Auf den meisten Fenstern wird im Fensterkopf die aktuelle Benutzer-ID angezeigt. Diese ist anfangs 'unbekannt' und wird im Laufe der Benutzung (wenn nicht nur gesucht wird) auf eine bekannte 'uid' gesetzt. Authentifizierungen (über die login-Maske 4) sind nur notwendig, wenn eine Aktion für den derzeit aktuellen Benutzer nicht erlaubt ist. Das Umgehen von Logins (durch vorherige Authentifizierung) ist in den Grafiken durch gestrichelte Linien dargestellt. Schraffierte logins erfordern Bibliothekarsrechte.

  • 1. Hauptmenü
    Beim Starten unseres Programmsystems soll der Benutzer zunächst mit dem Hauptmenu begrüßt werden. Von hier aus geht es
    • ohne Authentifizierung über den 'suchen/ausleihen'-Button zur Suchmaske (2), auf der nach Publikationen (und Instanzen) gesucht werden kann.
    • mit Mitarbeiter-Authentifizierung zur persönlichen Ausleihliste (5), um geliehene Instanzen an die Bibliothek oder andere Mitarbeiter weiterzugeben.
    • mit Bibliothekar-Authentifizierung zur Bestandsverwaltung, wo der Bestand von Publikationen und Instanzen verwaltet werden kann und Ausleihlisten von anderen Mitarbeitern eingesehen werden können.

    Darüber hinaus kann man sich hier eine noch nicht näher behandelte Hilfe (nicht) ansehen, sich ausloggen (nur falls man bereits eingeloggt war und zum Hauptmenu zurückgekehrt ist, z.B. um sich beim nächsten Anlauf als Bibliothekar und nicht mehr als Mitarbeiter einzuloggen) und das Programm beenden.

  • 2/2b. Suchmaske
    Maske 2 und Maske 2b sind äußerlich identisch. Der einzige Unterschied liegt darin, dass man bei der Suche von Maske 2 auf Maske 6 oder Maske 7 kommt (als unbekannter Benutzer oder Mitarbeiter) und bei der Suche von Maske 2b auf Maske 6b oder Maske 7b (als Bibliothekar üeber die Bestandsverwaltung, vgl. Maske 3). Beim Suchen nach Publikationen können beliebig viele der vorhanden Textfelder ausgefüllt werden. Ein intelligenter Suchmechanismus soll dann alle Publikationen liefern, die auf die eingegebenen Merkmale passen. Im 'Autoren'-Feld sollen mehrere Autoren angegeben werden können, z.B. durch Kommata getrennt. Unter 'Publikationsart' kann man wählen, ob man nach Büchern, Publikationen oder Reports suchen möchte, oder auch nach mehreren dieser Kategorien. Wird im Feld 'Inventarnummer' eine gültige Inventarnummer angegeben, werden die anderen Textfelder ignoriert und als Ergebnis der Suche wird die Instanzen-Ergebnismaske (7 bzw. 7b) mit der bereits selektierten Instanz (mit der gew. Inv.-Nr.) angezeigt. Als Ergebnis der Suche ohne gültige Inventarnummer wird die Publikationen-Ergebnismaske (6 bzw. 6b) mit allen Publikationen (Signaturen), die von der Suche "getroffen" wurden angezeigt.

  • 3. Bestandsverwaltung
    Auf diese Maske können nur Bibliothekare (Mitarbeiter mit Bibliothekarsrechten, oder gute Passwortknacker) gelangen. Über die Suchmaske 2b (s.o.) kommt man zu Masken, auf denen Signaturen und Instanzen hinzugefügt, geändert oder gelöscht werden können. Man kann sich auch die Ausleihlisten anderer Benutzer ansehen, etwa wenn ein Mitarbeiter ausscheidet und man wissen möchte, welche Instanzen er ausgeliehen hatte.

  • 4. Login
    Hier erfolgt die Authentifizierung von Benutzern, wenn nicht vor der (selbstverständlich geschützten) Eingabe eines gültigen Passwort für eine gültige uid der Abbruch-Button betätigt wird (=> mit dem kommt man zur letzten bearbeiteten Maske).

  • 5. Ausleihliste
    Hier kann ein (nicht mehr unbekannter) Benutzer eine Liste der von ihm ausgeliehenen Instanzen bewundern. Ein Bibliothekar kann auch die Ausleihliste anderer Benutzer bewundern. Ist die in dieser Maske dargestellte Liste ausgeliehener Instanzen nicht leer, kann man Instanzen (auch mehrere) selektieren und an die Bibliothek zurückgeben oder an einen anderen Mitarbeiter weitergeben.

  • 6/6b. Publikationen Ergebnismaske
    Maske 6 ist die Publikationen Ergebnismaske für einen Mitarbeiter oder unbekannten Benutzer. Administrationsbuttons (ändern/löschen/hinzufügen von Signaturen) würden einen solchen Benutzer nur stören; sie sind deshalb auf einer separaten Maske 6b plaziert, die nur für Bibliothekare von der Bestandsverwaltung (3) aus über (2b) zugänglich ist. In der Tabelle werden alle Signaturen von Publikationen angezeigt, die bei der vorangegangenen Suche gefunden wurden. Neben Attributen wie Autor, Titel, usw. wird auch die Art der Publikation (Buch/Zeitschrift/Report) und die anzahl der existierenden Instanzen (und wieviele davon in der Bibliothek verfügbar sind) angezeigt. Der Benutzer kann nun eine Publikation selektieren und über den 'Details/ausleihen'-Button die Instanzen dieser Publikation auf Maske 7 anschauen. Auf Maske 6b kann ein Bibliothekar zusätzlich Signaturen
    • ändern: durch Editieren einer selektierte Zeile
    • löschen: die selektierte Publikation (und alle ihre Instanzen) wird (werden)
    • gelöscht, vorher wird der Bibliothekar aber nochmal auf Maske 9 gefragt, ober auch weiss, was er da tut
    • hinzufügen: eine leere Zeile wird erschaffen, in der die Attribute einer neuen Publikation eingegeben werden können. Nach dem Hinzufügen einer Signatur wird Maske 7b aufgerufen, in der sofort neue Instanzen aufgenommen werden können.

  • 7/7b. Instanzen Ergebnismaske
    Hier werden alle Instanzen einer Publikation mit Inventarnummer und aktuellem Standort (Bibliothek, uid des Mitarbeiters, der die Instanz gerade hat oder verschollen) tabellarisch aufgelistet. Im unteren Teil der Maske sind die Attribute der zugehörigen Publikation (nicht editierbar) aufgeführt. Wieder gibt es zwei Versionen dieser Maske, um normale Benutzer (7) vor Reizüberflutung durch zu viele Buttons zu bewahren und bei der Bestandsverwaltung (7b) nicht die dort unnötigen Buttons mitzuschleppen.
    Zu 7:
    Wenn der Standort einer Instanz die Bibliothek ist, kann der Benutzer diese Instanz ausleihen (natürlich nur, wenn er sich authentifiziert hat). Wenn die uid des aktuellen Benutzers (evtl. erst durch login) dem Standort entspricht, kann (können) die selektierte(n) Instanz(en) weiter- oder zurückgegeben werden.
    Zu 7b:
    Ein Bibliothekar kann hier Instanzen
    • hinzufügen: durch Einfügen einer neuen Tabellzeile
    • ändern: durch Ändern von Tabellenzeilen
    • löschen: durch Löschen von Tabellenzeilen
    • als verschollen markieren: Standort der selektierten Zeilen wird auf 'verschollen' gesetzt.

    Außerdem kann die Ausleihhistorie einer selektierten Instanz abgerufen werden.

  • 8. Benutzersuche
    In einem kombinierten Textfeld/pulldown-menu kann der Benutzer hier einen anderen Mitarbeiter eingeben/selektieren, um ihm z.B. ein Buch weiterzugeben.

  • 9. Kontrollabfrage für das Löschen von Publikationen
    Diese Maske soll nur unüberlegtes Löschen von Publikationen und Instanzen verhindern. In der tatsächlichen Implementation müssen wahrscheinlich mehrere dieser wirklich?-Abfragen integriert werden.

  • 10. Ausleihhistorie
    Zeigt die Ausleihhistorie einer speziellen Instanz an (nur für Bibliothekare). Eine solche history sollte nicht beliebig lang werden dürfen, vielleicht sollte nur nur die history seit dem letzten Bibliotheksaufenthalt anzeigen.

Verantwortlich: Okan Gür



Universität Essen / Institut für Experimentelle Mathematik / Thomas Dreibholz / Softwaretechnologie, Gruppe 2

20.06.1999 Thomas Dreibholz