Diskussion:TestTool/Datenmodell: Unterschied zwischen den Versionen

Aus Foxwiki
Alperer (Diskussion | Beiträge)
Alperer (Diskussion | Beiträge)
Zeile 6: Zeile 6:
== Aktueller Stand ==
== Aktueller Stand ==


=== Fragen (Questions) ===
=== Fragen (questions) ===


Beziehungen:
Beziehungen:
* Mehrere Fragen (Questions) Können zu einem Thema (Topic) gehören, welche zu einem Fachgebiet (Subject) gehören können.
* Mehrere Fragen (questions) Können zu einem Thema (topic) gehören, welche zu einem Fachgebiet (subject) gehören können.
* Eine Frage kann mehrere Aufgaben (Tasks) beinhalten, welche mehrere Antworten (Answers) haben können.
* Eine Frage kann mehrere Aufgaben (tasks) beinhalten, welche mehrere Antworten (answers) haben können.
* Eine Frage wird von einem Benutzer(User) erstellt und von einem Benutzer zuletzt modifiziert.
* Eine Frage ist im Besitz eines Benutzers (user) und wurde zuletzt von einem Benutzer geändert.


Erläuterungen:
Begründungen:
* ...
* Es gibt nur eine Tabelle welches die drei Typen (fill in, multiple choice, match) von Fragen speichert. Dies wird gemacht damit man den Fragetyp (question_type) einer Frage ganz einfach ändern kann.
* Ob eine Aufgabe angezeigt/benotet wird, hängt von dem Fragetyp ab und ob die Antworten richtig oder falsch sind (question_are_answers_correct). Fill-In-Fragen mit falschen Antworten machen kein Sinn.
* Die Reihenfolge der Aufgaben (tasks) muss irgendwie kontrolliert werden. Entweder man sortiert sie nach dem Inhalt (task_text) oder nach einer vorgegebenen Reihenfolge (task_position). Momentan ist es die Letztere der Beiden.


 
=== Benutzer (users) ===
=== Benutzer (Users) ===


Beziehungen:
Beziehungen:

Version vom 21. Januar 2021, 13:17 Uhr

Das Datenmodell bildet die Grundlage für das Erstellen des testTools.

Datenbanklogik

Die Datenbanklogik erklärt, wie Daten in der Datenbank dargestellt werden.

Aktueller Stand

Fragen (questions)

Beziehungen:

  • Mehrere Fragen (questions) Können zu einem Thema (topic) gehören, welche zu einem Fachgebiet (subject) gehören können.
  • Eine Frage kann mehrere Aufgaben (tasks) beinhalten, welche mehrere Antworten (answers) haben können.
  • Eine Frage ist im Besitz eines Benutzers (user) und wurde zuletzt von einem Benutzer geändert.

Begründungen:

  • Es gibt nur eine Tabelle welches die drei Typen (fill in, multiple choice, match) von Fragen speichert. Dies wird gemacht damit man den Fragetyp (question_type) einer Frage ganz einfach ändern kann.
  • Ob eine Aufgabe angezeigt/benotet wird, hängt von dem Fragetyp ab und ob die Antworten richtig oder falsch sind (question_are_answers_correct). Fill-In-Fragen mit falschen Antworten machen kein Sinn.
  • Die Reihenfolge der Aufgaben (tasks) muss irgendwie kontrolliert werden. Entweder man sortiert sie nach dem Inhalt (task_text) oder nach einer vorgegebenen Reihenfolge (task_position). Momentan ist es die Letztere der Beiden.

Benutzer (users)

Beziehungen:

  • Mehrere Benutzer (Users) Können zu einer Gruppe (Group) gehören.
  • Mehrere Benutzer Können eine Rolle (Role) haben.
  • Ein Benutzer kann beliebig viele Fragen erstellen.

Erläuterungen:

  • ...

Noch erforderlich

Prüfungen (Tests)

  • Sollen Möglichkeit haben wiederholbar zu sein.
  • Sollten Dauer und Zeitpunkt haben.
  • Sollten von mehreren Gruppen durchführbar sein.
  • Sollten Noten erstellen.

Änderungspotential

  • Die Tabellenrepräsentation der Reihenfolge der Aufgaben (Tasks) in einer Frage (Question).
  • Wie die große Anzahl an Rechten einer Rolle (Role) aufgeteilt werden soll damit die Tabelle nicht unübersichtlich wird.

PHP-Schnittstelle