Titel Zeile 1 Zeile 2 Zeile 3

Werbung
Erstellung einer
Anwenderoberfläche für
eine Klausurverwaltung mit
Python
Michael Morosow
Seminararbeit
Scientific Programming
836940
23.02.2012
© FH AAC HEN UNIVERSITY OF APPLIED SCIENCES | FACHBEREICH ELEKTROTECHNIK UND INFORMATIONSTECHNIK | WWW.FH-AACHEN.DE
Agenda
Problemstellung
●
Ziele
●
Grundlagen
●
Python
●
Web.py
●
JavaScript
●
Jquery
●
Model-View-Controller-Prinzip
●
Realisierung
●
Kern
●
Aufbau der Oberfläche
●
Demonstration
●
Problemstellung
1. Klausurenverwaltung
2. Viele Beteiligte
3. Redundante Daten
4. Keine zentrale Sammelstelle
5. Aufwändige Webapplikation
6. Direkte Manipulation der Datenbank
> Jeder Datensatz wird manuell angepasst
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 3
Ziele
1. Erleichterung der Arbeitsabläufe
2. Entwicklung einer Webapplikation
–
Benutzerfreundlich
–
Intuitive Bedienung
–
Interaktion mit der Datenbank
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 4
Grundlagen
Python
●
●
Entwickelt in den 1990er Jahren
Namensgebung durch eine Komikergruppe
– „Monty Python“
●
Besonderheit
– Interpretierte Skriptsprache
– Compilierte Programmiersprache
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 5
Grundlagen
Python
●
Besonderheit
– Quellcode besonders gut lesbar
> Zeilenumbrüche
> Einrückungen
●
Dynamische Datentypen
● Datentyp nicht definierbar
● Bestimmung des Typs nach Duck-Typing-Prinzip
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 6
Grundlagen
Python
●
●
●
●
Webframework für Python
Sehr schlank
Keine neue Syntax notwendig
Funktionalität
– URL-Struktur dient als Navigation
– Pythonquellcode in HTML-Dateien
– Notwendigen Interaktionen mit dem Client
> Session
> Cookies
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 7
Grundlagen
JavaScript
Veröffentlicht 1995 unter dem Namen Livescript
●
Durch Sun Mycrosystems in JavaScript umbenannt
●
Client-seitig ausgeführte Skriptsprache
●
Syntax an C angelehnt
●
Hauptaufgaben
– Manipulation von DOM-Elementen
– Dynamische Änderungen in einer Webseite
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 8
Grundlagen
JavaScript
Hauptaufgaben
– Validieren von Formularen
– Echtzeit Markierungen von Textfeldern
– Hinweistexte einblenden
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 9
Grundlagen
JavaScript
●
Basiert auf dem Sandbox-Prinzip
●
Keine fensterübergreifenden Aktionen
●
Schutz vor permanenter Überwachung
●
Kein Datenträger zugriff
●
Keine automatische Fenstermanipulation
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 10
Grundlagen
jQuery
●
●
JavaScript-Framework
>Motto „Write less, do more“
Besonderheit
– schnellen Zugriff auf beliebige DOM Elemente
– Anpassung von Animationen an alle Browser
– Viele Plugins von Dritt-Anbietern
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 11
Grundlagen
Model-View-Controller
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 12
Realisierung
Kern
●
Zwei Komponenten
– Ansichten und Interaktionsverarbeitung
– Datenbankanbindung
> Interaktionen durch ein Interface
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 13
Realisierung
Kern
Ansichen und Interaktionsverarbeitung
Drei wesentliche Dateien
> settings.py
> handler.py
> dbHandler.py
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 14
Realisierung
Kern
settings.py
–
Verarbeitet einkommende Anfragen
urls = ('/termine/', 'dates',
'/admin/interface/overview/' ,'adminOverview',
'/admin/interface/edit/(\w+)[_](\w+)','adminEdit',
'/admin/interface/create/(\w+)','adminEdit' ,
'/ajax/autoSuggestion/','autoSuggestion')
–
Leitet Anfragen an die jeweilige Klasse weiter
–
Klassen übergeben handler.py die notwendigen
Parameter
–
Gibt Inhalte zurück an den Client
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 15
Realisierung - Kern
handler.py
–
Verarbeitet Paramater
–
fordert Datenbankdaten von dbHandler.py
–
generiert die HTML-Dokumente
–
fertige Dokumente zurück an settings.py
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 16
Realisierung
Kern
dbHandler.py
–
stellt Verbindung zur Datenbank her
–
verarbeitet Anfragen
–
gibt Daten zurück an handler.py
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 17
Realisierung
Aufbau der Oberfläche
●
Model-View-Controller-Prinzip
– Wartung und Erweiterbarkeit
●
Wichtigsten Kritikpunkte
– Keine Informationsflut
– Klar strukturierte Darstellung
– Intuitive benutzerfreundliche Bedienbarkeit
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 18
Realisierung
Aufbau der Oberfläche
Aufbau
●
●
Leicht erweiterbar
Drei flexible Grundansichten
> Terminansicht
> Übersicht über alle Datensätze
> Bearbeitungs- und Erstellungsansicht
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 19
Ende
Vielen Dank für Ihre
Aufmerksamkeit!
© FH A AC HEN UNIVERSITY OF APPLIED SCIENCES
23. Februar 2012 | 20
Herunterladen