CMI Perspektive Kurse: Lerntagebuch

Aus THM-Wiki
Wechseln zu: Navigation, Suche
Kurs
Kursname Web-Engineering
Kurstyp Projektkurs
Dozent KQC
Semester WS 10/11
Studiengang Master


Aufgabe

Die Aufgabe der Gruppe "CMI Perspektive Kurse" besteht darin, im Hinblick auf eine Refaktorisierung des eStudy Moduls "Lerntagebuch", eine Analyse des derzeitigen Softwarestands im Bezug auf verschiedene Softwarekriterien durchzuführen.

Nach der durchgeführten Analyse des aktuellen Stands des "Lerntagebuchs", wird anschließend das Modul in Anlehnung an die in der Vorlesung "Web-Engineering" angesprochenen Themen untersucht und refaktorisiert, um somit eine Optimierung bzw. Verbesserung zu erzielen.

Cptr07 14:18, 6. Dez. 2010 (CET)

Mitglieder

  • Alexander Ahrendt
  • James Antrim
  • Fabian Becker
  • Alexander Becker
  • Robert Gödicke
  • Daniel Legner
  • Antoine Longang Wette
  • Christian Peter
  • Wolf Normann Gordian Rost
  • Dennis Sack
  • Alexander Schumskich

Cptr07 14:18, 6. Dez. 2010 (CET)

Autoren des Moduls

  • N. Meyer
  • J. Vitt
  • D. Wewerka
  • M. Grüttner
  • H. Buske
  • R. Gerlach
  • P. Ryba

Cptr07 14:27, 6. Dez. 2010 (CET)

Aktuelle Situation

Paketdiagramm

Klassendiagramm

Classes.jpg

Tests.jpg

Use-Case Diagramm

Use Case Model.jpg
Asms47

Datenbankschema

Das Lerntagebuch benutzt nur eine Tabelle user_diary.
In der Tabelle sind alle Tagebucheinträge der Benutzer enthalten.
Die Felder userID, courseID, dateEntry sind indiziert.

WE WS10 Lerntagebuch DBSchema.png
diaryID ist der Primärschlüssel
userID enthält die ID des Benutzers der den Eintrag erstellt hat
courseID enthält die ID zum Kurs in dem der Eintrag erstellt wurde
dateEntry enthält das Datum an dem Der Eintrag verfasst wurde
topic enthält eine Überschrift zu dem Eintrag
prereqs enthält den Text zu "Mein Arbeitsauftrag"
resumee enthält den Text zu "Was habe ich erledigt?"
deficits enthält den Text zu "Offene Probleme und Reflexion"
todo enthält den Text zu "Meine nächsten Schritte"
readAccess enthält die BenutzerIDs (semikolon separiert) die lesenden Zugriff auf den Eintrag haben
writeAccess enthält die BenutzesIDs (semikolon separiert) die schreibenden zugriff auf den Eintrag haben
readAccessLG
writeAccessLG

Wngr74 14:12, 6. Dez. 2010 (CET)

Software-Metriken

Die aktuellen Metriken finden sie hier: Lerntagebuch PMD Warnings

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

class.editdiary.inc.php

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

deletediary.php

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

DiaryDatabaseTest.php

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

editdiary.php

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

Wngr74 09:48, 7. Dez. 2010 (CET)

Bad Smells

Da fast das komplette Modul von uns umgeschrieben wurde, und wir hierbei darauf geachtet haben, Bad Smells zu unterlassen, sind diese so gut wie nicht vorhanden. Dsck50

Refactoring

Beim Refactoring sind die Programmiervorgaben von eStudy einzuhalten. Zudem muss überprüft werden, ob diese bis jetzt eingehalten worden sind. Gegebenenfalls muss der Quellcode an die Vorgaben angepasst werden. Diese finden sich hier: Programmiervorgaben. Dsck50

I18N & L10N

Realisiert wurde die Internationalisierung des Arbeitsjournals wie im Artikel Internationalisierung von eStudy beschrieben.
$this->translate = getTranslate("arbeitsjournal");
//Hier wird die Sprachdatei geladen
$this->translate->_("String");
//Jede Ausgabe wird von translate_("String") übersetzt

Zur Zeit gibt es nur die Deutschesprachdatei.
.\lang\learning\de\arbeitsjournal.mo
.\lang\learning\de\arbeitsjournal.po

.\lang\learning\de_DE\arbeitsjournal.po
.\lang\learning\de_DE\arbeitsjournal.po
Wngr74 15:11, 21. Feb. 2011 (CET)

Barrierefreiheit

Datenschutz

Sicherheit

Mit Hilfe der DATA-Klasse von eStudy wurde das Arbeitsjournal gegen mögliche Angriffe gesichert.
Die Klasse bietet Funktionen um die Ein- und Ausgaben zu Validieren und Maskieren.
Für die Ausgabe wird Data::toHTML() benutzt.
Für die Eingabe wird Data::toMysql() benutzt.
Wngr74 15:11, 21. Feb. 2011 (CET)

Um einen sicheren Dateiupload für die Anhänge eins Arbeitsjournaleintrags zu gewährleisten, wurde die Sicherheitsklasse SecureUpload verwendet. Die zulässigen Dateiformate sind derzeit noch *.pdf, *.jpeg, *.gif, *.tiff, *.gif, *.css, *.html und auch *.zip. Die maximale Dateigröße beträgt aktuell 5 MB, kann aber noch beliebig verändert werden.

Cptr07 16:50, 21. Feb. 2011 (CET)

Performance

Ergebnis

ToDo

Hier die Ergebnisse aus der Besprechung vom 08.03.2011 sowie neue Arbeitsaufgaben.

  • Alte Lerntagebuch-Skripte in Administration -> Systemwartung -> Module rausschmeißen.
  • Brauchen wir diary_ajax.php und saveentry.php? Nach Installation des Moduls (Makefile in Administration) bleiben diese Dateien stehen. eStudy erlaubt damit nicht die Ausführung dieser Files.
  • Lerntagebuch aus Modulgruppen entfernen.
  • Arbeitsjournal im rechten Menü (standard style) einordnen.
  • Makefile anpassen sodass Einträge korrekt angezeigt werden.
  • PHP4 WTF? (fbkr47 - ich kümmere mich drum)
  • Datenauszugsmodul muss Daten anzeigen aus Arbeitsjournal (!)
  • filePath muss in DB-Tabelle aufgenommen werden für den Dateiupload (Migration)
  • ...