Objektorientierte Softwareentwicklung spielend gelernt mit dem Java-Hamster-Modell


Allgemeine Informationen

Zum Vermitteln bzw. Erlernen der wichtigsten Konzepte der imperativen, objektorientierten und parallelen Programmierung ist das Java-Hamster-Modell hervorragend geeignet. Bei der objektorientierten Softwareentwicklung mit den der Programmierung vorgeschalteten Phasen der Analyse und dem Entwurf stößt es jedoch an seine Grenzen. Hauptgrund hierfür ist, dass Hamster-Probleme nicht wirklich komplex genug sind, um die entsprechenden Vorgehensweisen und Konzepte an geeigneten Beispielen demonstrieren zu können.

Nichtsdestotrotz besitzt die objektorientierte Softwareentwicklung bzw. Modellierung heutzutage eine immense Bedeutung und sollte daher bereits frühzeitig neben der eigentlichen Programmierung erlernt werden, um die Gefahr einer Hacker-Mentalität (direkt eintippen, ohne vorher zu konzipieren) bei den Programmieranfängern zu minimieren.

Diesem Aspekt versuchen wir im fünften Teil des Java-Hamster-Modells gerecht zu werden. Wir haben nämlich eine Problemklasse entdeckt, die nicht zu umfangreich, aber komplex genug und sehr motivierend für eine ordentliche objektorientierte Modellierung ist, nämlich die Entwicklung von Spielprogrammen, wie Schach, Reversi oder 4-Gewinnt. Spielfeld ist hierbei jeweils das Hamster-Territorium, Hamster oder Körner repräsentieren die Spielfiguren. Spieler sind entweder Menschen, denen jeweils ein Hamster zugeordnet ist, der für sie Spielzüge ausführt, oder Hamster von speziellen Hamster-Klassen, die intelligente Spielstrategien implementieren. Anhand dieser Problemklasse zeigen wir, wie vor der eigentlichen Programmierung eine ordentliche objektorientierte Analyse und ein objektorientierter Entwurf durchgeführt werden. Dokumentiert werden die Modellierungsergebnisse mit der Unified Modeling Language (UML). Grundlage ist dabei ein allgemein gültiges Framework für 2-Personen/Hamster-Strategiespiele, das bei der Umsetzung der jeweiligen Spiele konkretisiert werden muss.

Ausgesprochen wichtig bei der objektorientierten Softwareentwicklung sind so genannte Entwurfsmuster. Ein Entwurfsmuster beschreibt eine in der Praxis bewährte, generische Lösung für ein häufig wiederkehrendes Entwurfsproblem und stellt damit eine wiederverwendbare Vorlage zur Problemlösung dar. Die gängigsten Entwurfsmuster (Abstrakte Fabrik, Beobachter, ...) lassen sich ganz hervorragend an dem Hamster-Spiele-Beispiel demonstrieren. Zusätzlich zeigen wir ihren Einsatz und ihren Nutzen aber auch noch an weiteren kleineren Hamster-Beispielen.

Das Buch ist als kostenloses Online-Buch über diese Website zugreifbar. Es wird nie fertig sein, sondern stetig fortgeschrieben.


Version 1

Version 1.0 des 5. Bandes des Java-Hamster-Buches mit dem Titel "Objektorientierte Softwareentwicklung spielend gelernt mit dem Java-Hamster-Modell" ist fertig (09.09.2005). Diese erste Version des Buches gibt einen kurzen Überblick über die objektorientierte Softwareentwicklung. Außerdem integriert sie eine Studienarbeit von Florian Marwede (Universität Oldenburg), der sich mit Entwurfsmustern und Frameworks im Umfeld des Hamster-Modells beschäftigt hat. Konkret hat er zu den bedeutensten Entwurfsmustern Hamster-Programme entwickelt, die den Einsatz der Entwurfsmuster demonstrieren und motivieren. Weiterhin hat er mit dem Hamster-Modell ein Framework für die Entwicklung von 2-Spieler-Strategiespielen entwickelt.

Ich stelle das Buch kostenlos zur Verfügung. Bitte beachten Sie jedoch die Lizenzbedingungen.