Entwicklung einer Datenbankanwendung Winter 2018/19
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 19.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:
Eine Universitätsdatenbank, die Teile von UniVZ
und FlexNow beinhaltet (Vorlesungen, Lehrende, Studierende, Prüfungen).
Als Ausgangspunkt dient dazu eine Übungsaufgabe aus der Datenbank-Vorlesung,
in der der Zusammenhang Studierende-Vorlesungen-Lehrende als Beispiel einer
dreistelligen Beziehung diskutiert wurde:
Basis-Modellierung.
Neben den auf jeden Fall zu erledigenden Basisaufgaben (= als Datenbank
realisieren) können bei der weiteren Funktionalität
unterschiedliche Schwerpunkte gesetzt werden.
Ziel ist, eine realistische Anwendungsentwicklung zu simulieren, und dabei
neue Techniken kennenzulernen.
Standardtermin für gemeinsame Treffen ist der Freitag nachmittag;
ggf. kann Mo 14-16 (ungenutzte Termine des Seminars) 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?
- mit/ohne Authentifizierung
- Füllen der Datenbank aus dem Web (oder mit
(JDBC-/XML-)Lesezugriff auf UniVZ??)
- Text-Daten und Semistrukturierte Daten (Modulkatalog, XML/HTML)
- Generieren von Beispieldaten (Studierendendaten), gezielte Testfälle
- Auswertung: Statistiken, Visualisierung?
- Zwei (unterschiedliche?) Systeme, die z.B. Göttingen und Clausthal
repräsentieren, und Daten austauschen.
- usw ...
Terminplan
- 19.10. 14ct - 16 Uhr (SR 2.101):
Dieser Termin ist für alle Teilnehmer am Praktikum verbindlich
(Organisatorisches, Oracle-Accountvergabe)
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.
- 26.10. Discussion of ER and Relational Model
- 2.11. User Interface: JDBC, Web-Services, HTML Forms
- 9.11. Schema-Besprechung & HTML
- 16.11. Servlets, Tomcat & dynamische HTML Seiten
- 23.11. Schema-Besprechung, Trigger & Constraints Implementierung in PL/SQL und Java
-
Script Constraints Seite 80 ff. und PL/SQL und Trigger Seite 184 ff und Zeitgesteuerte Jobs Seite 236 ff.
-
TimeJob Beispiel
- 30.11. Fortschrittbesprechung, Sysdate in Constraints und Triggern und Time Jobs
- 14.12. CSS - Cascading Style Sheets
- 21.12., 28.12., 04.01. Weihnachts- / Neujahrspause
- 11.01. Secure Password Storage
- 17.01. HTTPS and Authentication on the example of Tomcat
- 25.01. Database security risks (mostly SQL injection attacks)
|