20
Spiele im Wirtschaftsinformatik -unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik am RP Karlsruhe

Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Embed Size (px)

Citation preview

Page 1: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Spiele im Wirtschaftsinformatik-

unterricht am WG

Ein Erfahrungsbericht aus der JG 2

StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik am RP Karlsruhe

Page 2: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Spiele im WINF-Unterricht im WG

Warum sind Spiele ein sinnvolles Thema?

• Weil Schüler(innen) auf diese Weise besonders motiviert werden

• Weil gewisse Probleme in den klassischen BWL-Zusammenhängen einfach nicht auftreten

• Weil bei solchen Projekten oft anspruchsvollere Lösungen erreicht werden als bei auf das berufliche Profil bezogenen Themen

Page 3: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Verbindliche Grundlage: Verbindliche Grundlage: PflichtenheftPflichtenheft

Zu Projektbeginn wird ein Pflichtenheft erstellt:

• Genaue Beschreibung der geforderten Funktionalität

• Verbindlicher Zeitplan mit Prozessphasen und Meilensteinen

• Umfang der Abgabemappe• Gewichtung der Einzelbewertung

der einzelnen Teilbereiche.

Page 4: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Das erste Spiel – Ein Würfelspiel

• Die Regeln für dieses Spiel sind folgende:

• Man würfelt und addiert die gewürfelten Augen

• Man kann nach jedem Wurf entscheiden, ob man die bis dahin erreichten Punkte stehen lassen will oder weiter würfeln will

• Wenn man eine 6 würfelt sind die Punkte verfallen und die Spielrunde beendet

StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik am RP Karlsruhe

Page 5: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Projektphasen und Meilensteine:• Spielentwurf (OOA)

Die Teams formulieren besondere Eigenschaften, die ihr Würfelspielprogramm besitzen soll. Diese werden in einem Textentwurf festgehalten.

• UML-Modellierung (OOD)Erstellung eines Aktivitäts- und eines Klassendiagramms (der dabei von einer Entwicklungsumgebung bereits erzeugte Code bleibt unberücksichtigt)

• OOPProgrammierung der Fachklassen und der GUI-Klasse(n)

• Testphase Die Teams lassen ihre Software von den anderen Teams testen und geben sich gegenseitig konstruktives Feedback.

Page 6: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

In die Projektbewertung fließen ein:• Form mit 10 %

Das äußere Erscheinungsbild der Abgabemappe, Elemente wie Deckblatt, Seitenzahlen, Kopf-/Fußzeile, Inhaltsangabe, Anhang

• Einleitender Text mit 10%Eine Beschreibung des Entwurfs, der Motivation bestimmte Funktionalitäten umzusetzen, eine selbstkritische Würdigung der eigenen Arbeit. Außerdem eine Reflexion über Probleme, die bei der Erstellung auftraten und wie diese bewältigt wurden

• UML-Diagramme mit 30 %• GUI-Design mit 20 %• JAVA-Quellcode mit 30%

Page 7: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Vorgabe der Klasse Würfel (optional)Je nach Leistungsfähigkeit des Kurses kann die

Klasse „Würfel“ den SchülerInnen vorgegeben werden.

import java.util.Random;

public class Wuerfel { public int wuerfeln(){ Random r = new Random(); return 1 + r.nextInt(6); }}

Page 8: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Erweiterung um Klasse SpielEine Klasse, die unter Verwendung der Klasse Würfel die Funktionalität des Spieles umsetzt, kann auch genau so heißen.

Page 9: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Erweiterung um Klasse Spielpublic void starteNeuesSpiel(){ this.punktestand = 0;}

public int macheNeuenWurf(){ this.letzterWurf = this.meinWuerfel.wuerfeln(); if (this.letzterWurf == 6){ this.punktestand = 0; } else { this.punktestand += this.letzterWurf; } return this.letzterWurf;}

Page 10: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Erweiterung um Klasse Spiel (Forts.)public String beendeSpiel(){

String antwort = "Sie konnten den Highscore von " + this.highscore + " nicht überbieten."; if (this.punktestand > this.highscore){ antwort = "Herzlichen Glückwunsch, sie konnten den alten Highscore von " + this.highscore + " überbieten! Neuer Highscore: " + this.punktestand; this.highscore = this.punktestand; } return antwort;}

Page 11: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Speichern von HighscoresJe nach Leistungsfähigkeit des Kurses (oder Zeitpunkt der Durchführung) kann das Projekt zunächst als Umsetzung in 2-Schichten-Architektur oder in 3-Schichten-Architektur mit der Option zum Speichern von Highscores ausgeschrieben werden.Die Option erreichte Punktestände zu speichern wird oft auch ohne dass dies eine konkrete Anforderung ist, von Teams realisiert. Manche Gruppen suchen im Internet nach solchen Techniken und kommen dann auf so Lösungen wie das Abspeichern eines .txt-Files, der zu Programmbeginn gelesen wird und somit als der bestehende Highscore dem Spieler angezeigt wird. Auch wenn der Code dazu meist aus dem Netz weitgehend übernommen wird, stellt es eine besondere Leistung da einen solchen erfolgreich in das eigene Projekt einzubinden.

Page 12: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Anbindung an eine relationale DBAuch nach Abschluss des Projektes ohne die

Forderung der Anbindung an eine Datenbank, bietet sich diese funktionale Erweiterung an dieser Stelle an, da die Motivation diese zusätzliche Funktion zu realisieren an dieser Stelle höher ist als beispielsweise beim Abspeichern von Artikelstammdaten.Die Umsetzung der Datenbankanbindung unter Berücksichtigung der Anforderungen der 3-Schichten-Architektur bei gleichzeitiger Wahrung des Fachklassenkonzepts erfordert die Einführung einer weiteren Klasse, die als Dienstklasse die Übergabe der Daten von Fachklasse an Datenbank und zurück organisiert.

Page 13: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Anbindung an eine relationale DBBei dem Design der Datenbank stellt sich das

Problem, was ein geeigneter Primärschlüssel für die Tabelle Highscores wäre. Die Option eine sich automatisch erhöhende Ganzzahl als Primärschlüssel zu wählen, ist möglich.Eleganter ist es jedoch, die Systemzeit zu ermitteln und diese als Schlüsselattribut zu verwenden. Um diese in JAVA zu ermitteln, muss die Klasse Date aus java.util importiert werden. Unter Verwendung dieser lässt sich folgende Methode erstellen:

public String ermittleZeitpunkt(){ Date d = new Date(); return d.toString();}Methode liefert: "Wed Feb 23 09:43:39 CET 2011"

Page 14: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Klasse DB_ZugriffDie Dienstklasse DB_Zugriff, die die Verbindung zu der Datenbank herstellt, hat in diesem Beispielprojekt die folgende Struktur:

Page 15: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Projekt RouletteFür leistungsstarke Kurse bietet sich auch noch ein anderes Spiel-Projekt an: Das Roulettespiel.Bei der Vorgabe der geforderten Funktionalität ist zu überlegen ob man wirklich alle Optionen zum Setzen, die das Roulette beispielsweise in einem Casino vorsieht, umgesetzt werden müssen, oder ob man diesbezüglich eine Reduktion der Komplexität vornimmt, die jedoch den eigentlichen Spielwert nicht allzu negativ beeinflussen sollte.

Page 16: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Projekt RouletteFolgende Fragen haben enorme Auswirkungen auf die Komplexität der Lösung:• 1 oder n Einsätze pro Spiel?• 1 oder n Spieler, die parallel an einem Tisch spielen?

Page 17: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Mögliche Lösung: Aus Eingabefeldern werden Einsatzfelder• Um auf der GUI die Einsätze auf dem Tisch so zu platzieren, dass sie dort liegen, wo auch die Jetons im echten Roulette liegen würden, müssen Eingabefelder auf der GUI vorgehalten werden.

• Damit diese Eingabefelder ihren Inhalt an Objekte der Klasse Einsaetze übergeben können, bilden wir eine Unterklasse von JTextField, die wir Einsatzfeld nennen

• Einsatzfelder unterscheiden sich von Eingabefeldern dadurch, dass sie ein Assoziationsattribut zu einem Objekt der Klasse Einsatz besitzen.

• Diese Objektreferenz wird den Einsatzfeldern über einen parametrisierten Konstruktor bei der Erzeugung übergeben

Page 18: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Von Zahlen zu Gewinnen• Im Zentrum des Spiels steht die Zahl, die bei

einem Roulettespiel geworfen wird. • Jeder Zahl sind Eigenschaften zugewiesen, so wie

ihr Zahlenwert, gerade/ungerade, hoch/tief, schwarz/rot, etc.

• Jeder Eigenschaft ist eine Quote zueigen um die der Einsatz erhöht zurückgegeben wird, der auf diese Eigenschaft gesetzt wurde.

• Die Summe aller durch erfolgreiche Einsätze quotierten Beträge bildet den Gewinn eines Spielers in einem Spiel, der mit der Summe der geleisteten Einsätze saldiert werden muss.

Page 19: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Die Klasse ZahlFolgende Attribute sind in der Klasse Zahl definiert:•Jeder Zahl sind Eigenschaften zugewiesen, so wie ihr Zahlenwert, gerade/ungerade, hoch/tief, schwarz/rot, etc.•Jeder Eigenschaft ist eine Quote zueigen um die der Einsatz erhöht zurückgegeben wird, der auf diese Eigenschaft gesetzt wurde.•Die Summe aller durch erfolgreiche Einsätze quotierten Beträge bildet den Gewinn eines Spielers in einem Spiel, der mit der Summe der geleisteten Einsätze saldiert werden muss.

Page 20: Spiele im Wirtschaftsinformatik- unterricht am WG Ein Erfahrungsbericht aus der JG 2 StD Jan Wölfer - Willy-Hellpach-Schule, Heidelberg - Fachberater Wirtschaftsinformatik

Vielen Dank für Ihr Interesse!