Logo Qualitäts- und UnterstützungsAgentur

Startseite Bildungsportal NRW

Orientierungsbereich (Sprungmarken)

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

  • ermitteln bei der Analyse von Problemstellungen Objekte, ihre Eigenschaften, ihre Operationen und ihre Beziehungen (M),
  • modellieren Klassen mit ihren Attributen, Methoden und Assoziationsbeziehungen unter Angabe von Multiplizitäten (M),
  • ordnen Attributen, Parametern und Rückgaben von Methoden einfache Datentypen, Objekttypen oder lineare und nichtlineare Datensammlungen zu (M),
  • ordnen Klassen, Attributen und Methoden ihre Sichtbarkeitsbereiche zu (M),
  • stellen die Kommunikation zwischen Objekten grafisch dar (D),
  • stellen Klassen und ihre Beziehungen in Diagrammen grafisch dar (D),
  • dokumentieren Klassen (D),
  • analysieren und erläutern objektorientierte Modellierungen (A),
  • implementieren Klassen in einer Programmiersprache auch unter Nutzung dokumentierter Klassenbibliotheken (I),
  • ermitteln für anwendungsbezogene Problemstellungen Entitäten, zugehörige Attribute, Relationen und Kardinalitäten (M),
  • stellen Entitäten mit ihren Attributen und die Beziehungen zwischen Entitäten mit Kardinalitäten in einem Entity-Relationship-Diagramm grafisch dar (D),
  • modellieren zu einem Entity-Relationship-Diagramm ein relationales Datenbankschema (M),
  • bestimmen Primär- und Sekundärschlüssel (M),
  • implementieren ein relationales Datenbankschema als Datenbank (I),
  • analysieren und erläutern eine Datenbankmodellierung (A),
  • erläutern die Eigenschaften normalisierter Datenbankschemata (A),
  • überprüfen Datenbankschemata auf vorgegebene Normalisierungseigenschaften (D),
  • überführen Datenbankschemata in die 1. bis 3. Normalform (M),
  • analysieren und erläutern Algorithmen und Programme (A),
  • modifizieren Algorithmen und Programme (I),
  • testen Programme systematisch anhand von Beispielen und mit Hilfe von Testanwendungen (I),
  • ermitteln Ergebnisse von Datenbankabfragen über mehrere verknüpfte Tabellen (D),
  • nutzen die Syntax und Semantik einer Programmiersprache bei der Implementierung und zur Analyse von Programmen (I),
  • beurteilen die syntaktische Korrektheit und die Funktionalität von Programmen (A),
  • interpretieren Fehlermeldungen und korrigieren den Quellcode (I),
  • analysieren und erläutern die Syntax und Semantik einer Datenbankabfrage (A),
  • verwenden die Syntax und Semantik einer Datenbankabfragesprache, um Informationen aus einem Datenbanksystem zu extrahieren (I),nutzen das verfügbare Informatiksystem zur strukturierten Verwaltung von Daten, zur Organisation von Arbeitsabläufen sowie zur Verteilung und Zusammenführung von Arbeitsanteilen (K),
  • wenden didaktisch orientierte Entwicklungsumgebungen zur Demonstration, zum Entwurf, zur Implementierung und zum Test von Informatiksystemen an (I),
  • entwickeln mit didaktisch orientierten Entwicklungsumgebungen einfache Benutzungsoberflächen zur Kommunikation mit einem Informatiksystem (M),
  • erläutern Eigenschaften und Aufbau von Datenbanksystemen unter dem Aspekt der sicheren Nutzung (A),
  • untersuchen und bewerten anhand von Fallbeispielen Auswirkungen des Einsatzes von Informatiksystemen sowie Aspekte der Sicherheit von Informatiksystemen, des Datenschutzes und des Urheberrechts (A).

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

Materialien:

Ergänzungsmaterialien zum Lehrplannavigator – Dokumentation der Abiturklassen zur Datenbankanbindung

Materialien:

Ergänzungsmaterialien zum Lehrplannavigator – Projekt Navigationssystem

Materialien:

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

Materialien:

Ergänzungsmaterialien zum Lehrplannavigator – Dokumentation der Abiturklassen zur Datenbankanbindung

Materialien:

Ergänzungsmaterialien zum Lehrplannavigator – Projekt Navigationssystem

Materialien:

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

Zum Seitenanfang

© 2024 Qualitäts- und UnterstützungsAgentur - Landesinstitut für Schule