1. Pflichtenheft "Was mache ich"

1.1. Ausgangssituation

Die HTL Leonding ist eine HTL im oö. Zentralraum mit ca. 1400 Schülern und den Fachabteilungen Medientechnik, Informatik, Elektronik und Medizintechnik. Im Stoffumfang der Abteilungen Informatik und Medientechnik wird der Gegenstand Datenbanken(DBI/INSY) gelehrt. Ein wesentlicher Bestandteil dieses Unterrichts ist die praktische Ausbildung der Datenbankabfragesprache SQL.

1.2. Istzustand

An der HTL Leonding steht den Schülern eine Oracle Datenbank zur Verfügung, um mit einer Datenbank arbeiten zu können. Der Lehrer stellt Übungen zur Verfügung die die Schüler ausführen.

Es gibt schon verschiedene Übungstool die im Internet zu finden sind. Diese sind jedoch meist statisch und man kann nur die bestehenden Übungen lernen. Außerdem ist der Überblick über den Wissenstand nicht sehr übersichtlich. Außerdem muss man oftmals für diese Tools bezahlen um sie nutzen zu können.

1.3. Problemstellung

Neben den von den Lehrkräften zur Verfügung gestellten Aufgaben ist es für die Schüler vorteilhaft sich mit zusätzlichen Aufgaben auf die Leistungsfeststellungen vorbereiten zu können.

Die Lehrkräfte stellen oft Zusatzbeispiele zur Verfügung, teilweise jedoch ohne Lösungen.

1.4. Aufgabenstellung

Erstellung eines Softwareproduktes für Schüler und Lehrer der HTL Leonding. Das System besteht aus 4 Funktionen:

  • Übungsmodus

  • Lernmodus(nach Lernkartensystem, aus einer Menge von Aufgaben werden die nicht korrekten Beispiele wiederholt)

  • Prüfungsmodus - Schüler (simulierte Prüfung)

  • Prüfungsmodus - Lehrer (bewertete Leistungsfeststellung)

Die Prüfungsaufgaben können von Lehrer/innen mit Hilfe des Systems erstellt werden. Anschließend erfolgt eine Auswertung der Aufgaben.

Die GUI wird grundsätzlich in 3 Bereiche unterteilt:

  • Text/Angabe (grafische Darstellung des Datenmodells)

  • Vom Schüler einzugebendes SQL-Statement

  • Feedback

Der Lernfortschritt soll grafisch dokumentiert werden.

1.4.1. Funktionale Anforderungen

diag 7ce1e5e52a3bd6081fa5648d8c1a65a3
  • Aufgaben üben

  • simulierte Prüfung absolvieren

  • Prüfung absolvieren

  • Wissensstand einsehen

  • Übungen / Tests hochladen

  • Prüfung freigeben

  • Wissensstand der Schüler einsehen

1.5. Use-Case 1: Aufgaben üben

Charakterisierende Informationen Use-Case 1

Übergeordneter elementarer Geschäftsprozess:

Aufgaben üben

Ziel des Use Cases:

Der Schüler lernt durch Übungen mit Datenbankbefehlen umzugehen.

Vorbedingung:

Aufgaben müssen bereits angelegt sein. Der Benutzer benötigt einen eigenen Account.

Beschreibung:

  • Aufgabenstellung wird angezeigt

  • Schüler gibt den Befehl ein

  • Programm überprüft auf Richtigkeit des Befehls

    • Wenn der Befehl korrekt ist → nächste Aufgabe

1.6. Use-Case 2: simulierte Prüfung absolvieren

Charakterisierende Informationen Use-Case 2

Übergeordneter elementarer Geschäftsprozess:

simulierte Prüfung absolvieren

Ziel des Use Cases:

Der Schüler kann seinen Wissensstand überprüfen

Vorbedingung:

Die vorherigen Übungen müssen bereits vom Schüler absolviert worden sein. Die Prüfung muss bereits erstellt worden sein.

Beschreibung:

  • Aufgabenstellung wird angezeigt

  • Schüler gibt den Befehl ein

  • Programm überprüft auf Richtigkeit des Befehls

    • Wenn der Befehl korrekt ist → nächste Aufgabe

  • Während der Prüfung kann er nicht auf vorherige Übungen zugreifen

1.7. Use-Case 3: Prüfung absolvieren

Charakterisierende Informationen Use-Case 3

Übergeordneter elementarer Geschäftsprozess:

Prüfung absolvieren

Ziel des Use Cases:

Der Lehrer kann den Wissensstand des Schülers überprüfen

Vorbedingung:

Eine Prüfung muss bereits erstellt worden sein

Beschreibung:

  • Aufgabenstellung wird angezeigt

  • Schüler gibt den Befehl ein

  • Programm überprüft auf Richtigkeit des Befehls

    • Wenn der Befehl korrekt ist → nächste Aufgabe

    • Wenn der Befehl 3mal falsch ist → Möglichkeit diese Aufgabe zu überspringen (keine Punkte)

  • Während der Prüfung kann er nicht auf vorherige Übungen zugreifen

1.8. Use-Case 4: Wissensstand einsehen

Charakterisierende Informationen Use-Case 4

Übergeordneter elementarer Geschäftsprozess:

Wissensstand einsehen

Ziel des Use Cases:

Schüler haben einen Überblick über den bereits gelernten Stoff.

Vorbedingung:

Der Schüler muss seinen eigenen Account angelegt haben.

Beschreibung:

  • Der aktuelle Wissensstand wird grafisch dargestellt.

1.9. Use-Case 5: Übungen / Tests hochladen

Charakterisierende Informationen Use-Case 5

Übergeordneter elementarer Geschäftsprozess:

Übungen / Tests hochladen

Ziel des Use Cases:

Die Übungen werden in der Datenbank bereitgestellt, damit sie Schüler absolvieren können.

Vorbedingung:

Die Übungen müssen vorerst lokal erstellt worden sein.

Beschreibung:

  • Der Lehrer tippt die Aufgabenstellung sowie den dazu passenden Befehl ein.

  • Dieser Vorgang wird solange wiederholt, bis er die Anzahl der Aufgaben erreicht hat, die der Lehrer in diesem Übungsset zur Verfügung stellen möchte.

1.10. Use-Case 6: Prüfung freigeben

Charakterisierende Informationen Use-Case 6

Übergeordneter elementarer Geschäftsprozess:

Prüfung freigeben

Vorbedingung:

Die Prüfung muss bereits angelegt worden sein.

Beschreibung:

  • Bereits angelegte Prüfungen sind vorerst nicht sichbar für andere Personen außer dem Ersteller. Sie müssen extra freigegeben werden.

1.11. Use-Case 7: Wissensstand der Schüler einsehen

Charakterisierende Informationen Use-Case 7

Übergeordneter elementarer Geschäftsprozess:

Wissensstand der Schüler einsehen

Ziel des Use Cases:

Lehrer können bei den einzelnen Schülern den jeweiligen Wissensstand abrufen, um den Überblick behalten zu können

Vorbedingung:

Dem Lehrer muss der Zugriff auf seine Schüler zugeteilt werden.

Beschreibung:

  • Der Wissensstand der Schüler wird grafisch dargestellt.

1.11.2. Nichtfunktionale Anforderungen (NFA)

  • Robustheit der Anwendung gegenüber Benutzerfehler ( Beispiel: Verweigerung von SQL-Injections des Benutzers)

  • schnelle Rückmeldung des Systems

  • keine Überprüfung für zum Beispiel JDBC also für Projektanbindungen in Java, C++, C#

1.12. Ziele

  • Verbessern des Lernerfolgs, da der Schüler sofort Rückmeldung erhält, ob das Beispiel korrekt ist

  • Den Schülern stehen viele Aufgaben zur Verfügung

    • Die Lehrer brauchen keine extra Beispiele vorbereiten

    • Die Schüler müssen die Lehrer nicht um neue Aufgaben fragen

  • Man kann sich auf das Lernen von SQL konzentrieren, bürokratische Aufgaben fallen weg

  • Übungsbeispiele für den Test sind bereits bekannt

2. Projektphasen

  • Quarkus lernen

  • Angular lernen

  • Backend programmieren → grundlegende Architektur aufbauen

  • Backend programmieren → Daten speichern(Aufgaben/Befehle)

  • Backend programmieren → Befehle überprüfen

  • Backend programmieren → Wissenstand speichern

  • Backend programmieren → Wissenstand abrufen/auswerten

  • Frontend umsetzen

2.1. Mengengerüst

  • Es besuchen derzeit rund 1400 Schüler die HTL Leonding wobei in etwa 450 Schüler aktiv SQL lernen.

  • Um dies umzusetzten brauchen wir xy Datenbanken

2.2. Rahmenbedingungen

  • Alles ist zu dockern

  • Quarkus als Backend

  • Angular als Frontend

3. Systemarchitektur

3.1. Team

  • 15PV

  • 19SM

  • 22TI

3.2. GANTT-Diagramm

gantt protoype