Objektspiel

 

Kurzbeschreibung

Schülerinnen und Schüler müssen die internen Abläufe objektorientierter Programme verstehen. Dazu spielen sie in einer Art Rollenspiel die Objekte eines Programms.

Problem

Um ein objektorientiertes Programm zu verstehen, müssen statische Beschreibungen (Klassen und Objekte) und dynamische Beschreibungen (Sequenzen) als Einheit betrachtet werden. Die vielen formalen und syntaktischen Einzelheiten der jeweiligen Darstellungen/Notationen erschweren dieses Verständnis jedoch.

Kontext

Schülerinnen und Schüler im Anfangsunterricht benötigen einen Überblick, was Objektorientierung ausmacht. Beim Erstellen kleinerer Modellierungen kann das Objektspiel eine bereits erfolgte Modellierung für den ganzen Kurs anschaulich werden lassen und als Methode zur Überprüfung des Modells benutzt werden. Das Objektspiel kann auch zur Einführung von CRC-Karten benutzt werden. Ebenso kann es genutzt werden, um unterschiedliche Modelle zu vergleichen.

Schwierigkeiten

Das Zusammenspiel der Objekte macht die Funktionalität eines objektorientierten Programms aus. Im Quelltext sieht man jedoch nur die Beschreibungen der Klassen. Und auch Klassendiagramme lassen lediglich eine solche statische Sicht zu.
Um Handlungssequenzen und Sequenzdiagramme zu verstehen, benötigt man Grundwissen über Objekte (hier sind zu nennen die Begriffe 'Identität', ' Zustand'). Anfänger aber kennen viele dieser Konzepte nicht. Zudem kennen sie die Syntax objektorientierter Sprachen nicht.
Um nun aber OO-Konzepte angemessen zu verstehen, benötigt man eine generelle Idee, was Objekte sind und was sie machen.

Lösung

Schülerinnen und Schüler, die die Rolle eines Objektes übernehmen, erhalten eine Klassenkarte (CRC-Karte) mit der Beschreibung der Klasse (Verantwortlichkeiten, Beteiligte) des Objektes sowie zusätzlich eine Objektkarte, auf denen das notwendige Wissen des Objekts zu jedem Zeitpunkt notiert werden kann ('Zustand').
Unter Anleitung des Lehrers spielen die Schüler einzelne Abläufe durch. Jedes Objekt wird von einem Schüler gespielt. Die Schüler dürfen dabei nur die Aufgaben verrichten, die auf ihren Klassenkarten notiert sind. Hierzu dürfen sie die neben den einzelnen Aufgaben notierten Objekte zur Mitarbeit auffordern. Weiterhin dürfen sie nur von dem Wissen Gebrauch machen, das auf ihren Objektkarten festgehalten ist. Die Impulse, die von außen (einem Akteur) gegeben werden müssen, entsprechen den Anwendungsfällen und können als solche thematisiert werden. Die weiteren Regeln des Objektspiels sind:

  • nur verbale Kontaktaufnahmen zu anderen Objekten sind erlaubt,
  • nur mit den Begriffen der Verantwortlichkeiten arbeiten ( "reden" ),
  • nur mit den Beteiligten Kontakt aufnehmen,
  • ausschließlich auf der Objektkarte notwendige Zustände notieren (keine Gedächtnisleistung des Rolleninhabers).

Ergebnis

Je nach Verwendungsart des Objektspiels haben die Schülerinnen und Schüler entweder ihre Modellierung überprüft, oder grundlegende Einsichten über Objekte gesammelt:

  • Objekte haben eine Identität (Peter und Susanne hatten beide dieselben CRC-Karten, waren aber dennoch verschiedene Objekte),
  • einen Zustand (haben sich verschiedene Dinge gemerkt),
  • können nur die Aufgaben erledigen, die auf ihrer Karte vermerkt sind,
  • können ihre Aufgaben durch Zusammenarbeit mit anderen Objekten erledigen;
  • wie sie ihre Aufgaben erledigen, hängt auch von ihrem Zustand ab;
  • verschiedene Objekte können dieselbe CRC-Karte benutzen, sie gehören dann zur selben Klasse (Peter und Susanne gehörten zur Klasse X).

Diskussion/Konsequenzen

Das Objektspiel wird von einigen Schülern als zu wenig ernsthaft angesehen. Bei einfachen Modellen z.B. sind den Schülern die Abläufe so klar, dass sie sich nicht an die Angaben auf den Karten halten. Hier muss ihnen deutlich gemacht werden, wie wichtig es ist, dass beim Objektspiel dennoch die Regeln eingehalten werden: Bei späteren Test von eigenen Modellen mit dem Objektspiel ist dies nämlich Voraussetzung, um Aufschluss über die Gültigkeit bzw. Konsistenz des eigenen Modells zu erhalten.

Bemerkungen

Es gibt in dieser ersten Phase der Modellierung und bei diesem Stand der Softwareentwicklung keine grundsätzlich festzulegende Abfolge von Tätigkeiten, sondern es ist ein Wechselspiel zwischen dem genauen 'Hinsehen', 'Erkunden' der Realität, dem Finden von Objekten und Aktivitäten, dem Finden und Verfeinern von Anwendungsfällen und dem Erstellen von CRC-Karten. In diesem Rahmen bietet das Objektspiel die Möglichkeit, ohne "syntaktischen Aufwand" die Modellierung zu verbessern.

Objektkarten ermöglichen es Objekte zu identifizieren und ihren Zustand festzuhalten:

objektName : Klassenname


Attributname = wert
...
...
...

 

CRC-Karte der Klasse Feld und Objektkarte des Feldes Otto:

Feld

nimmt Einsatz auf
gibt Einsatz ab
behalte Einsatz ein
kennt setzenden Spieler
kennt nächstes Feld
kennt seine Nummer

Feld
Spieler

 


 

otto : Feld

Einsatz = 0
Nummer = 1
setzenderSpieler = ulli
naechstesFeld = marc