German English

3. Java-Anwendung

Aufgabenstellung

Ihre Aufgabe ist die Implementierung einer Java-Anwendung zum Zugriff auf die Datenbank. Ziel ist es, Ihnen die Technik von 3-Ebenen-Anwendungen (Frontend/Datensicht, Mittelschicht, Backend/Datenbank) näher zu bringen, Möglichkeiten des datenbankunabhängigen Zugriffs kennenzulernen sowie erweiterte SQL-Konzepte anzuwenden.

1. Objekt-relationales Mapping mit Hibernate:

Überführen Sie Ihr Datenbankschema in ein objektorientiertes Modell und entsprechende Java-Klassen. Diese sollen dann mittels Hibernate auf die Datenbanktabellen abgebildet werden. Erstellen Sie dazu das entsprechende objekt-relationale Mapping unter Verwendung von Annotationen. Achten Sie auf die korrekte Abbildung von Vererbungshierachien und Beziehungen, insbesondere auf Beziehungen mit zusätzlichen Attributen.

2. Java-Anwendung:

  • Use Case I: Klausurergebnisse eintragen

    1. Liste aller Klausuren anzeigen, geordnet nach Datum
    2. Nutzer wählt Klausur aus
    3. Eingabe Matrikelnummer
    4. DB-Zugriff -> Ist Student in DB vorhanden und für Klausur angemeldet?
    5. Ja: Eingabe der Punkte
    6. Test, ob Eingabe korrekt + Ausgabe Gesamtpunktzahl
    7. Gehe zu 3. bis alle Studenten verarbeitet sind
    8. Anzeige aller abwesenden Studenten
  • Use Case II: Klausurergebnisse (Notenschnitt) einsehen und anpassen

    1. Liste aller Klausuren anzeigen, geordnet nach Datum
    2. Nutzer wählt Klausur aus
    3. Anzeige Noten-Verteilung (Histogram) oder Anzeige Punkte-Noten-Verteilung oder Anzeige geordnete Liste aller Studenten mit Note und Punkte oder Anpassung Punkte-Noten-Verteilung oder Exit
      • Änderung Da die ursprünglichen Daten keine Punkteverteilung enthalten, können Sie die darunter liegende Datei verwenden. Aufgrund der Verfälschung der Daten kann es passieren, dass die Noten bei einigen Studenten nicht konsistent sind. Diese können Sie neu setzen lassen.
      • Wenn Sie bereits andere Strategien implementiert haben, wie z.B. die Verwendung einer Default-Verteilung oder das Berechnen einer approximierten Verteilung basierend auf der Punkte-Noten-Verteilung der Studenten, können Sie diese Lösung ebenfalls verwenden.
      • Punkte-Notenverteilung Datei
    4. Gehe zu 3. solange nicht exit
  • Use Case III: Top-Studenten

    1. Eingabe der Gewichtungen
    2. Anzeige der Liste aller Top-Studenten (Nutzung View)

  • Programm-Teil A: API (Mittelschicht)

    • Regelt den Zugriff auf die Datenbank
    • Stellt notwendige Operationen für die obigen Use Cases bereit
  • Programm-Teil B: GUI / Konsolen-Anwendung (Frontend)

    • Implementierung GUI bzw. Konsolen-Logik zur Abarbeitung/Ausführung der obigen Use Cases

Abgabe vor dem Testat

Bitte setzen Sie sich per E-Mail mit einem Terminvorschlag für Ihr Testat mit Ihrem Betreuer in Verbindung. Bitte geben Sie im Betreff der E-Mail dbprak sowie die Gruppennummer an. Nehmen Sie dabei ihren Gruppenpartner mit ins CC, damit wir mit Reply-All beiden antworten können. Spätestens 24h vor dem 3. Testat müssen Sie Ihrem Betreuer die nachfolgend beschriebenen Dateien zur Verfügung stellen. Melden Sie sich rechtzeitig per Email!

Abzugeben sind:

  • Alle notwendigen Dateien zur Ausführung Ihrer Anwendung mit entsprechender Dokumentation.
  • Die Funktionalitäten der Anwendung werden während des Testats ausgeführt und getestet.

Links