Spelling suggestions: "subject:"faktorisierung"" "subject:"refaktorisering""
1 |
REST-orientierte Refaktorisierung des E-Learning-Systems AutotoolSiegburg, Marcellus 11 July 2024 (has links)
Das in der Lehre eingesetzte E-Learning-System Autotool zeichnet sich durch die Möglichkeit der automatischen Bewertung von Einsendungen aus. Es kann zu eingesendeten Lösungsversuchen Aussagen über deren Korrektheit treffen und damit dem Nutzer Hinweise bei der Lösungssuche geben. Die Architektur des Autotools richtet sich jedoch nicht nach den zugrundeliegenden Technologien des Web.
In der Webprogrammierung ist eine auf REST basierende Architektur empfehlenswert, denn REST ist ein Architekturstil für verteilte Hypermediasysteme, der den Entwurf des HTTP geleitet hat. HTTP ist das Protokoll, das der Kommunikation im Web zugrunde liegt. Durch die URI, der Adresse einer Ressource, werden dabei die Zustände für den Nutzer transparent. Versteckte Zustände werden vermieden. Das erhöht die Benutzerfreundlichkeit und verbessert die Struktur der Webseite. Die bisherige Weboberfläche des Autotool bietet diese Transparenz nicht. Durch den Einsatz von Yesod, einem Framework für Webanwendungsentwicklung, wird dies verbessert. Ein optionaler Bestandteil von Yesod ist Persistent, eine typsichere Datenbankschnittstelle. Persistent soll die bisherige Datenbankanbindung ablösen. Bei der bisherigen Implementierung fallen Datenbankmismatches erst bei der Benutzung durch fehlerhaftes Verhalten der Anwendung auf. Durch die Verwendung von Persistent werden solche Fehler schon zur Compilezeit festgestellt.:1 Einleitung
2 Autotool
2.1 Struktur und Benutzung
2.2 Lösen einer Aufgabe
2.3 Aufbau
3 Anforderungsanalyse
3.1 HTTP-Standard
3.2 Anwendungsfälle
3.2.1 Administrator
3.2.2 Direktor
3.2.3 Tutor
3.2.4 Student
3.2.5 Webseitenbesucher
3.3 Erfolgskriterien
4 Moderne Webprogrammierung
4.1 Representational State Transfer (REST)
4.1.1 Hypertext Transfer Protocol (HTTP)
4.1.2 Ressource-Oriented Architecture (ROA)
4.2 Yesod
4.2.1 Routing
4.2.2 Shakespearean Templates
4.2.3 Persistent
4.2.4 Internationalisierung
4.2.5 Scaffolding
4.3 Haskell
5 Austausch des Webframeworks
5.1 Erstellen der Routen
5.2 Austausch des Webfrontends
5.3 Austausch der Persistenz
5.4 Installation des Autotools
6 Ergebnisse
6.1 REST-Orientierung
6.2 Migration der Datenbank
6.3 Testen der Anwendungsfälle
6.4 Belastungstests
6.5 Weitere Ergebnisse
7 Ausblick
|
Page generated in 0.0468 seconds