Entwicklung einer Datenbankanwendung Winter 2019/20
Veranstalter:
Prof. Dr. Wolfgang May,
Lars Runge, M.Sc.,
Sebastian Schrage, M.Sc.
Termin
- Freitag 14ct - 16 Uhr in SR 2.101 (nicht jede Woche,
Terminplan siehe unten - erster Termin am 25.10.).
Zulassungsvoraussetzung:
- Informatiker: Bestehen der Klausur "Datenbanken" sowie
des "Allgemeinen Programmierpraktikums".
- Nebenfach-Studierende: Bestehen der Klausur "Datenbanken",
Grundkenntnisse in Programmierung.
- Studienortwechsler: äquivalente Kenntnisse (nachzuweisen)
in Datenbanken und Programmierung.
Anrechenbarkeit:
BSc Angewandte Informatik: 5 ECTS (Modul Fachpraktikum I/II/III)
MSc Angewandte Informatik: 5 ECTS, nur mit
Studienplan/Votum
des Mentors anrechenbar
BSc Wirtschaftsinformatik: 5 ECTS
BSc/MSc alle anderen (soweit ich weiss - klären Sie das mit Ihrem
Studiendekan/Studienberatung): 5 ECTS
Aufbau des Praktikums:
In dem Praktikum wird eine realistische Datenbankanwendung entwickelt:
Das Thema ist dasselbe wie in der Datenbank-Klausur im WS
2018/19: ein System zur Organisation einer Landtagswahl und
insbesondere zur Erfassung der Ergebnisse am Wahlabend.
An dem Thema lassen sich viele DB-Technologien illustrieren.
Bei der Wahl gab es einige Probleme mit der IT, mit denen man die eigene
Entwicklung auch gleich validieren kann.
Zeitungsartikel dazu (leider sind einige inzwischen im kostenpflichtigen
Archiv verschwunden):
Standardtermin für gemeinsame Treffen ist der Freitag nachmittag;
ggf. kann Mo 16-18 (ungenutzte Termine des Oberseminars) der SR 2.101 auch
genutzt werden. Kleinmeetings sind flexibel.
- Konzeptueller Entwurf: ER-Modell des Datenbestandes, aber auch UML-Modell
der Anwendung insgesamt (z.B. Use Case Diagramme, Sequenzdiagramme, ...)
- Abbildung auf das relationale Modell und Umsetzung im DBMS (Oracle).
- Implementierung des Gesamtsystems:
- Programmlogik/Abläufe: PL/SQL, Java+JDBC?
- Benutzerinterface (HTML Forms mit Web Service)
- Oracle Web Server (official name: Oracle
HTTP Server - Servlets can be programmed in Perl, C and C++,
PHP, Ruby and Python (embedded into HTML, via cgi), and in Oracle PL/SQL.
- mit/ohne Authentifizierung
- Füllen der Datenbank mit historischen Daten aus dem Web (Offizielle
Webseite).
- Eingabe von Wahlergebnissen mit Plausibilitätschecks,
- Belastungstest: Automatisierte Aufrufe, Simulation der realen Belastung
- Auswertung: Statistiken, Visualisierung.
- usw ...
Terminplan
- 25.10. 14ct - 16 Uhr (SR 2.101):
Dieser Termin ist für alle Teilnehmer am Praktikum verbindlich
(Organisatorisches, Oracle-Accountvergabe)
- Mo., 28.10. 16ct (SR 2.101): Vortrag JDBC (dann kann man mit
einfachen Java-Programmen von aussen Inserts und Anfragen
machen).
Vorgesehener nächster Schritt: Die
Wahlergebnisse (Wahlkreise, Gemeinden),
nach Wahlbezirken 2018, Wahlbez 2013, Original
online hier verfügbar.
JDBC Folien
- 1.11.19 vorgezogen auf Montag (s.o. 28.10.)
- 8.11., 14ct (SR 2.101):
- 15.11., 14ct (SR 2.101):
- Fortschrittsbesprechung
- Aufgabenstellung: Datenvergleich, Wahlhochrechnung & Präsentationsvorbereitung der Weboberflächen-Technologien
- 22.11., 14cz (SR 2.101):
- Sichere Passwortspeicherung & grundlegendes Knacken von Passwort-Hashes
- 29.11. Krankheitsbedingter Ausfall
- 06.12. HTTPS und Authentifizierung am Beispiel Tomcat & Allgemeine DB Sicherheitsrisiken
- 13.12. Connection Pooling
Gründe und Verwendung von Connection Pooling auf Applikationsebene und Serverebene am Beispiel von TomCatCP
- 10.01. Prozedurale Erweiterungen
- 17.01. Besprechung der Ergebnisse
- 24.01. Vorstellung der verwendeten Technologien
Weitere Termine:
- Termine, bei denen die Betreuer etwas vortragen (z.B. PL/SQL, JDBC, XML, Web Services),
- Präsentationen der Teilnehmer zum Projektfortschritt, Diskussion,
festlegen der nächsten Schritte,
- Präsentationen der Teilnehmer zu technischen Themen mit Anwendung im Projekt.
- An- und Abmeldung in FlexNow bis 31.1.2020.
|