TestTool/Dokumentation: Unterschied zwischen den Versionen
Zeile 22: | Zeile 22: | ||
===Datenbank=== | ===Datenbank=== | ||
[[Datei: | [[Datei:tabellenmodell_testtool.png|1000px]] | ||
*Damit keine Redundanzen entstehen bei den Fragen, wird auf fg_fragetext ein UNIQUE KEY gesetzt. | *Damit keine Redundanzen entstehen bei den Fragen, wird auf fg_fragetext ein UNIQUE KEY gesetzt. | ||
*''Hilft nicht 100%, da ähnliche Fragen trotzdem in die Datenbank geschrieben werden können.'' | *''Hilft nicht 100%, da ähnliche Fragen trotzdem in die Datenbank geschrieben werden können.'' |
Version vom 4. November 2020, 14:00 Uhr
Projektdokumentation zur Webanwendung
Einleitung
In dieser Projektdokumentation wird der Ablauf des Abschlussprojektes erläutert, das der Autor im Rahmen seiner Abschlussprüfung zum Fachinformatiker für Anwendungsentwicklung durchführt.
Projektbeschreibung
Für die Dirk Wagner Berlin soll eine Webanwendung mit HTML und PHP entwickelt werden. Diese Webanwendung soll bestimmte Anforderungen erfüllen, die das Erstellen von Prüfungen erleichtern sollen.
Projektziel
Das Ziel dieses Projektes ist die erfolgreiche Umsetzung einer Webanwendung, die alle Prüfungen von Prüfern verwaltet. Die Prüfer sollen Fragen und mögliche Antworten eintragen können. Die Prüfungen sollen von Prüflingen durchgeführt werden und anschließend ein Ergebnis der Prüfung präsentiert.
Phasen des Projekts
Startphase
Ist-Zustand
Wirtschaftlichkeitsanalyse
Anwendungsfälle
Lastenheft
- Beschreibung des Lastenhefts(Nicht das Lastenheft selber! Auszugsweise im Anhang!)
- Soll nach der MoSCoW-Methode(Must, Should, Could, Won´t) formuliert werden.
Entwurf
Datenbank
- Damit keine Redundanzen entstehen bei den Fragen, wird auf fg_fragetext ein UNIQUE KEY gesetzt.
- Hilft nicht 100%, da ähnliche Fragen trotzdem in die Datenbank geschrieben werden können.
- Macht keinen Unterschied, ob die Frage Groß- oder kleingeschrieben ist. Ist die Frage identisch, wird sie verworfen.
- Ebenfalls UNIQUE KEY gesetzt:
- fg_fachgebiet
- pr_titel
- tn_username
- ro_rolle
- gr_gruppe
- sc_level
- fa_frageart
Benutzeroberfläche
Funktionen
Pflichtenheft
Implementierungsphase
Erstellung der Datenbank
CREATE DATABASE c8testtool; USE c8testtool;
Fragentabelle erstellen mit Primärschlüssel und NOT NULL auf Fragetext.
CREATE TABLE fragen (fr_id INT AUTO_INCREMENT PRIMARY KEY, fr_fragetext TEXT NOT NULL, fr_th_id INT, fr_sc_id INT, fr_fa_id INT, fr_delete BOOLEAN);
Antworttabelle erstellen mit Primärschlüssel und UNIQUE-Index auf Antworttext.
CREATE TABLE antworten (an_id INT AUTO_INCREMENT PRIMARY KEY, an_antworttext TEXT UNIQUE, an_fr_id int, an_richtig boolean, an_delete boolean);
Im Nachhinein Beziehung aufsetzen zwischen Antworten und Fragen. Jede Frage hat mehrere Antworten, jede Antwort gehört zu einer Frage. Einsetzen der Lösch- und Änderungsweitergabe.
ALTER TABLE antworten ADD FOREIGN KEY(an_fr_id) REFERENCES fragen(fr_id) ON DELETE CASCADE ON UPDATE CASCADE;
Im Nachhinein einen UNIQUE-KEY aufsetzen auf fr_fragetext in Fragen
ALTER TABLE fragen ADD UNIQUE KEY(fr_fragetext);
Leider führt dies zu einem Fehler:
ERROR 1170:BLOB/TEXT column 'fr_fragetext' used in key specification without a key length
Grund: MySQL indiziert nur eine bestimmte, feste Anzahl an Zeichen
Implementierung der Entitäten
Implementierung der Programmierlogik
Testphase
Abschlussphase
Abnahme
Einführung
Dokumentation
Fazit
Soll/Ist-Vergleich
Ausblick/Verbesserungen
Quellen
Anhang
- Auszug aus dem Lastenheft
- Auszug aus dem Pflichtenheft
- Use-Case-Szenarien
- Use-Case-Diagramm
- Aktivitätsdiagramm
- Auszug aus der Funktion "Bewerten einer Prüfung"
Formalien
Deckblatt
- Projektbezeichnung: Datenbankbasierte Webanwendung zur Verwaltung und Durchführung von Prüfungen
- Namen und Vornamen: Rogers, Alexander
- Prüfungsausschuss
- Ausbildungsberuf: Fachinformatiker Anwendungsentwicklung
- Ausbildungsstätte bzw. Praktikumsbetrieb: itw gGmbH, Groninger Straße 25, 13347 Berlin bzw. Dirk Wagner Berlin, Carstennstraße 6, 12205 Berlin
Eidesstattliche Erklärung
TODO
Abkürzungsverzeichnis
TODO