| Name | _________________________________________________ |
| Abgegeben am | _________________________________________________ |
| Aufwand (in h) | _________________________________________________ |
| Punkte (max. 24) | _________________________________________________ |
| Elektronische Abgabe | ___________________________________________Ja/Nein |
Unser Auftraggeber wünscht eine Webanwendung zur Archivierung von Dokumenten beliebiger Art. Diese Dokumente sind möglicherweise PDF, Bilder (PNG, GIF, JPG, ...), Dokumente (DOC, XLS, ODP, ...) aber nicht genau festgelegt, sondern variabel in der Anwendung zu definieren. Zur Klassifikation dieser Dokumententypen gelangt üblicherweise der MIME-Type zur Anwendung. MIME-Typen können im System eingepflegt werden, entsprechende Funktionen (Erzeugen, Ändern und Löschen) sind vorzusehen. Wird ein neues Dokument angelegt, wählt der Benutzer aus einer Liste einen MIME Type aus.
Aus Sicherheitsgründen dürfen nur authentifizierte Benutzer das System nutzen, bei Archivierung eines neuen Dokumentes ist darüberhinaus die Benutzeridentifikation des authentifizierten Benutzers mit dem Dokument abzuspeichern.
Weiters sind mit einem Dokument auch die Attribute Archivierungsdatum, Dokumententitel und ein Kommentar hinterlegt. Darüberhinaus sind mit einem Dokument beliebig viele freie Schlagwörter verknüpft.
Das System erlaubt es, neue Dokumente hochzuladen, zu löschen und zu ändern. Beim Ändern eines Dokumentes sind alle Attribute sowie die Schlagwörter modifizierbar, das damit verbundene Dokument kann allerdings nicht mehr neu hochgeladen und der MIME Type nicht geändert werden. Grundsätzlich sind Formulardaten zu validieren und Eingabefehler anzuzeigen.
Zur Ansicht von Dokumenten ist das Dokumentenarchiv mit 2 Suchfunktionen ausgestattet. Diese Suche ermöglicht die Abfrage aller Dokumentattribute bzw. einer beliebigen Anzahl von Schlagwörtern. Bei Auswahl eines Dokumentes aus der Ergebnisliste wird das Dokument in einem neuen Browserfenster dargestellt oder in der zugeordneten Anwendung (z.B PDF im Browser, DOC in Microsoft Word o.ä.). Da ein großes Datenvolumen zu erwarten ist, sind alle Datensatzlisten (Tabellen) mit einer Funktion zum Blättern bzw. Sortieren auszustatten.
Die Anwendung muß Fehler abfangen und gegebenenfalls dem Benutzer in einer Art präsentieren so daß nach dem Auftreten eines Fehlers ein weiterarbeiten möglich/zumutbar ist.
Definieren Sie ein Objektmodell. Dokumentieren Sie dieses Objektmodell mit Hilfe eines UML Klassendiagramms.
| Punkte | ? |
Definieren Sie für Ihr Objektmodell ein passendes relationales Modell und dokumentieren Sie es (z.B. Welche Attribute sind auf welche Spalten abgebildet, welche Klassen entsprechen welchen Tabellen, etc.).
Legen Sie passende Constraints für die Tabellenspalten fest (z.B. NOT NULL, max. Länge, min. Länge, etc.), diese Constraints sind auch im Web Interface zu überprüfen!
| Punkte | ? |
Implementieren Sie Komponenten welche die Persistierung der einzelnen Objektklassen realisieren. Alle Komponenten sind mittels JUnit zu testen!
| Punkte | ?? |
Wählen Sie eine für die Anforderungen passende UI Komponentenbibliothek und begründen Sie Ihre Auswahl. Achten Sie auf eine optisch gefällige und benutzerfreundliche Implementation der Web Oberfläche! Alle Java Komponenten dieses Bereichs sind mittels JUnit zu testen!
| Punkte | ?? |
Benutzen Sie JUnit um die gesamte Anwendung ausführlich zu testen und halten Sie die Testergebnisse in der Projektdokumentation fest. Für funktionale Tests/Integrationstests stellen Sie ein Skript/eine Funktion zur Verfügung das/die einfach ausgeführt werden kann und ausreichende Daten produziert um die Gesamtanwendung zu testen.
| Punkte | ? |
Es gelten sofern nicht hier anders vereinbart die allgemeinen Festlegungen .
Erläutern sie detailliert ihren Lösungsansatz! Sollten Sie während der Implementation auf Uneindeutigkeiten stoßen so treffen Sie eine sinnvolle Entscheidung zur Beseitigung der Uneindeutigkeit und dokumentieren/begründen Sie Ihre Entscheidung.