Projektorientierte Softwareentwicklung am Beispiel einer Anwendung mit Datenbankanbindung
Leitfrage:Wie kann ein komplexeres Java-Projekt unter Verwendung einer Datenbank realisiert werden?
Vorhabenbezogene Konkretisierung:
Der Schwerpunkt des vorliegenden Unterrichtsvorhabens liegt in der schülerorientierten Erarbeitung eines Java-Projekts, das einer Verknüpfung zwischen der Modellierung und Abfrage von Datenbanken sowie der Entwicklung von Problemlösungen mit Hilfe dynamischer Datenstrukturen wie zum Beispiel der linearen Liste oder dem Graphen herstellt. Dabei soll ein möglichst vollständiger Softwareentwicklungszyklus durchlaufen und sowohl die Arbeit mit Datenbanken als auch mit dynamischen Datenstrukturen vertieft bzw. geübt werden.
Dazu wird zunächst durch die Schülerinnen und Schüler eine lebensweltnahe Problemstellung entwickelt, die sich auch direkt aus den Anforderungen des Schulalltags ergeben und zu einem real einsetzbaren Softwareprodukt führen kann. Dabei könnte es sich zum Beispiel um ein Ausleihsystem für die Schülerbibliothek, eine Datenbank für Fehlstunden oder die Verwaltung von Ergebnissen vom Sportfest handeln. Da es nicht immer einfach ist, eine so praxisorientierte Problemstellung zu finden, sind aber auch andere Projekte denkbar. Die Wahl der Problemstellung sollte je nach Lerngruppe einen Schwerpunkt auf die Datenbankmodellierung und Abfrage oder aber auf die Arbeit mit dynamischen Datenstrukturen legen. Soll sich das Projekt auf Datenbanken konzentrieren, ist z.B. ein Quizspiel denkbar, das schulweit Fragen aus einer zentralen Datenbank abruft, Ergebnisse und Ranglisten aller Spielerinnen und Spieler verwaltet und ggf. diese auch gegeneinander antreten lässt, indem ihnen die gleichen Fragen gestellt werden und sie somit in einen direkten Vergleich treten. Will man den Schwerpunkt des Projekts auf dynamische Datenstrukturen legen, wäre anknüpfend an das Unterrichtsvorhaben „Q1-V: Graphen“ die Entwicklung eines Routenplaners, zum Beispiel basierend auf einer Datenbank mit echten Daten des deutschen Autobahnnetzes, ein geeignetes Projekt.
Der Aufbau dieses Projekts orientiert sich an einer vereinfachten Version des Wasserfallmodells der Softwareentwicklung, bestehend aus Analyse, Modellierung, Implementierung und Test (und ggf. auch Installation und Schulung). Insbesondere die Modellierung und Implementierung beziehen sich dabei gegebenenfalls auf die Entwicklung einer geeigneten Datenbank und deren Abfrage und Manipulation mit SQL und auf die Entwicklung eines entsprechenden Java-Programms, das die Datenbank nutzt. Bei Projekten, die Datenbanken mit einer großen Anzahl von Datensätzen erfordern, sollten die Datensätze in geeigneter elektronischer Form vorgegeben werden. Zur Abfrage und Manipulation der Daten kommen didaktisch vereinfachte Klassen zur Einbindung einer Datenbank in ein Java-Programm zum Einsatz (siehe Abiturklassen zu Datenbanken).
Um den normalerweise hohen Zeitbedarf für Projektarbeiten möglichst gering zu halten, sollte arbeitsteilig vorgegangen werden und auch auf das Prinzip des Prototypings, d.h. die Vervollständigung eines vom Lehrenden vorgegebenen Teilprogramms, zurückgegriffen werden. So sollte zum Beispiel die zeitaufwändige, aber wenig ergiebige Implementation einer grafischen Benutzungsoberfläche – nicht jedoch deren Design – den Schülerinnen und Schülern abgenommen werden.
Zeitbedarf: 15 Stunden
Sequenzierung des Unterrichtsvorhabens:
Unterrichtssequenzen |
Zu entwickelnde Kompetenzen |
Beispiele, Medien, Materialien |
1. Analyse einer lebensweltnahen Problemstellung im Hinblick auf die Entwicklung eines Java-Programms mit Datenbankanbindung (a) Entwicklung einer Programmidee (b) Analyse des Problembereichs (c) Entwicklung eines Anforderungskatalogs für das zu entwickelnde Programm |
Die Schülerinnen und Schüler
|
Beispiel: Quizspiel Verwaltung von Quizfragen, Antworten und Ranglisten Beispiel: Navigationssystem Ermittlung von kürzesten Wegen im deutschen Autobahnnetz Beispiel: Verwaltung der Schülerbücherei Verwaltungsprogramm für das Einpflegen und Ausleihe von Büchern der Schülerbibliothek Beispiel: Fehlstundenverwaltung Verwaltungsprogramm für die Fehlstunden von Schülerinnen und Schülern Beispiel: Sportfestverwaltung Verwaltung von Aufgaben, Sportereignissen und Ergebnissen des Schulsportfestes Beispiel: Materialverwaltung Materialien für Vertretungsstunden sollen verwaltet werden. |
2. Modellierung einer datenbankgestützten Problemlösung unter Berücksichtigung des MVC-Prinzips (a) Strukturierung nach dem MVC-Prinzip (b) Modellierung der Datenbank (ER-Diagramm, Datenbankschema) (c) Modellierung der Kontrollklassen und Entwicklung von SQL-Anweisungen entsprechend des Anforderungskatalogs (d) Modellierung einer grafischen Benutzungsoberfläche |
Ergänzungsmaterialien zum Lehrplannavigator – Dokumentation der Abiturklassen zur Datenbankanbindung Ergänzungsmaterialien zum Lehrplannavigator – Projekt Navigationssystem Ergänzungsmaterialien zum Lehrplannavigator – Projekt Quizspiel |
|
3. Umsetzung des Softwareprojektes (a) Umsetzung der Datenbank in einem Datenbankmanagementsystem (b) Implementierung der Kontrollklassen mit Anbindung an die Datenbank unter Verwendung didaktischer Klassen (c) Integration in den Prototypen der Benutzeroberfläche |
Ergänzungsmaterialien zum Lehrplannavigator – Dokumentation der Abiturklassen zur Datenbankanbindung Ergänzungsmaterialien zum Lehrplannavigator – Projekt Navigationssystem Ergänzungsmaterialien zum Lehrplannavigator – Projekt Quizspiel |
|
4. Optional: Einführung und Evaluation (a) Installation und Test des Endprodukts im konkreten Anwendungskontext (b) Schulung von Anwendern an der neuen Software (c) Evaluation des Projekts |