Logo Qualitäts- und UnterstützungsAgentur

Startseite Bildungsportal NRW

Orientierungsbereich (Sprungmarken)

Entwicklung eines Netzwerkspiels mit Durchführung eines vollständigen Softwareentwicklungszyklus

Leitfrage:Wie ist ein Softwareentwicklungszyklus aufgebaut? Welches Protokoll ist für die vorgegebene Funktionalität angemessen bzw. garantiert eine fehlerfreie Kommunikation? Welche Reaktionen auf Kommunikationsereignisse sind server- und clientseitig zu entwickeln? Wie können verwendete Daten mit Hilfe von Graphen verwaltet werden?

Vorhabenbezogene Konkretisierung:

Anwendungskontext ist ein von den Schülerinnen und Schülern zu entwickelndes Zweipersonen-Netzwerkspiel. Anhand des Spiels sollen die grundlegende Prinzipien und Begrifflichkeiten der Kommunikation in Netzwerken, dem Aufbau einer Client-Server-Struktur und der Datenorganisation mit Hilfe von Graphen aus den Unterrichtsvorhaben Q1-V und Q2-II festigend wiederholt werden. Grundlage für das Softwareprojekt sind die Klassen zur Netzwerkkommunikation Connection, Client und Server. Der Begriff des Softwareentwicklungszyklus wird thematisiert und es werden alle Phasen der Entwicklung eines Softwareprojekts über Analyse, Modellierung und Implementierung anhand des Netzwerkspiels vollzogen. Das Projekt läuft in folgenden groben Phasen ab:

  • 1. Projekteinstieg / -planung (Spielauswahl, Zeitmanagement)
  • 2. Projektumsetzung (informatische Analyse, Modellierung, Implementierung, Test -> ggf. in Zyklen)
    • 2.1 Analyse des Spiels mit dem Ziel einer späteren informatischen Umsetzung als Netzwerkspiel
    • 2.2 Modellierung und Implementierung des Spiels als Netzwerkanwendung
    • 2.3 Reflexion des Softwareprodukts
  • 3. Projektreflexion (Reflexion der Projektplanung, Präsentation)

Zeitbedarf: 15 Stunden

Sequenzierung des Unterrichtsvorhabens:

Unterrichtssequenzen

Zu entwickelnde Kompetenzen

Beispiele, Medien, Materialien

1. Projekteinstieg / -planung (Spielauswahl, Zeitmanagement)

2.Projektumsetzung (informatische Analyse, Modellierung, Implementierung, Test ? ggf. in Zyklen)

  • 2.1. Analyse des Spiels mit dem Ziel einer späteren informatischen Umsetzung als Netzwerkspiel
    • (a) Spielen des Spiels in mehreren Kleingruppen in Form eines Rollenspiels nach vereinbarten Regeln:
      • i. Ein Schüler oder eine Schülerin übernehmen die Rolle des Spielleiters oder der Spielleiterin.
      • ii. Ein weiteres Gruppenmitglied protokolliert präzise die Kommunikation zwischen der Spielleiterin bzw. dem Spielleiter und den Spielerinnen und Spielern.
    • (b) Formalisierung des Spielablaufs
  • 2.2. Modellierung und Implementierung des Spiels als Netzwerkanwendung
    • (a) Entwurf eines Protokolls zur Kommunikation zwischen Spielserver und -client basierend auf den erarbeiteten Spielregeln
    • (b) Entwicklung von Entwurfs- und Implementationsdiagrammen für den Spielserver
    • (c) Implementation und Test der Spielserver-Klasse und von dieser benötigter Fachklassen
    • (d) Modellierung, Implementierung und Test des Spielclients
    • (e) Test der Zusammenarbeit von Spielserver und Spielclient
  • 2.3. Reflexion des Softwareprodukts
    • (a) Identifikation der Stufen eines Softwareentwicklungszyklus
    • (b) Wiederholende Darstellung der Entwicklungsschritte zum fertigen Produkt
    • (c) Mögliche Erweiterungen:
      • i. ggf. Implementierung einer grafischen Benutzeroberfläche (GUI) für den Client
      • ii. ggf. Analyse, Modellierung und Implementierung alternativer Spielregeln
      • iii. ggf. Implementierung einer KI für einen Computer-Gegenspieler

3. Projektreflexion (Reflexion der Projektplanung, Präsentation)

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 ihren Assoziationsbeziehungen unter Angabe von Multiplizitäten (M),
  • modellieren abstrakte und nicht abstrakte Klassen unter Verwendung von Vererbung durch Spezialisieren und Generalisieren (M),
  • verwenden bei der Modellierung geeigneter Problemstellungen Möglichkeiten der Polymorphie (M),
  • ordnen Klassen, Attributen und Methoden ihre Sichtbarkeitsbereiche zu (M),
  • stellen Klassen und ihre Beziehungen in Diagrammen grafisch dar (D),
  • analysieren und erläutern objektorientierte Modellierungen (A),
  • implementieren Klassen in einer Programmiersprache auch unter Nutzung dokumentierter Klassenbibliotheken (I),
  • analysieren und erläutern Algorithmen und Programme (A),
  • modifizieren Algorithmen und Programme (I),
  • entwickeln iterative und rekursive Algorithmen unter Nutzung der Strategien „Modularisierung“ und „Teilen und Herrschen“ und „Backtracking“ (M),
  • implementieren iterative und rekursive Algorithmen auch unter Verwendung von dynamischen Datenstrukturen (I),
  • testen Programme systematisch anhand von Beispielen und mit Hilfe von Testanwendungen (I).
  • analysieren und erläutern Algorithmen und Methoden zur Client-Server-Kommunikation (A),
  • entwickeln und implementieren Algorithmen und Methoden zur Client-Server-Kommunikation (I).
  • beschreiben und erläutern Netzwerk-Topologien, die Client-Server-Struktur und Protokolle sowie ein Schichtenmodell in Netzwerken (A),
  • analysieren und erläutern Protokolle zur Kommunikation in einem Client-Server-Netzwerk (A),
  • entwickeln und erweitern Protokolle zur Kommunikation in einem Client-Server-Netzwerk (M).

Beispiele: GraphColoringGame

Zwei-Personen-Spiel, bei dem die beiden Personen abwechselnd am Zug sind. Das Spielfeld ist ein ungerichteter Graph ohne Mehrfachkanten. Die Knoten des Graphen können mit vorgegebenen Farben markiert werden.

Die beiden Spielerinnen bzw. Spieler färben abwechselnd einen noch ungefärbten Knoten. Dabei muss beachtet werden, dass kein adjazenter Knoten mit derselben Farbe markiert wurde.

Es verliert derjenige Spielerinn bzw. derjenige Spieler, die bzw. der unter diesen Bedingungen keinen Zug mehr machen kann. Sind alle Knoten korrekt gefärbt, endet das Spiel unentschieden.

Zum Seitenanfang

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