Java Reference
In-Depth Information
mit dem Debugger des Hamster-Simulators kann eine Zuordnung der Aktionen zu Funktionen bzw.
Methoden im Programm erfolgen.
Klassisches Beispiel sind Sortieralgorithmen. Beim Sortieren geht es darum, Mengen von Daten
(bspw. Zahlen) in eine bestimmte Reihenfolge zu bringen. In der Literatur existieren Dutzende von
verschiedenen Algorithmen, die diese Aufgabe mehr oder weniger schnell bewältigen. Ein leistungs-
fähiger Algorithmus nennt sich bspw. Quicksort (siehe Kapitel 17.9.8). Dieser arbeitet jedoch rekur-
siv und viele Programmieranfänger tun sich schwer damit, das grundlegende Prinzip dieses Algo-
rithmus zu verstehen. An dieser Stelle greifen nun die Hamster ein. Sie sortieren zwar keine Zahlen,
sondern Körnerhaufen, aber Sie zeigen Ihnen dabei im Territorium durch das entsprechende Umsor-
tieren der Haufen, auf welche Art und Weise der Quicksort-Algorithmus prinzipiell vorgeht. Damit
sollten es Ihnen dann auch nicht weiter schwer fallen, den grundsätzlichen Quicksort-Algorithmus
zu verstehen.
Der vierte Band der Java-Hamster-Bücher wird nicht im Buchhandel erscheinen. Vielmehr steht
die jeweils aktuelle Version des Buches unter dem Titel „Algorithmen und Datenstrukturen spie-
lend gelernt mit dem Java-Hamster-Modell“ in einer Online-Version auf der Java-Hamster-Website
www.java-hamster-modell.de kostenlos zur Verfügung. Das Buch wird auch nie „fertig“ sein,
sondern stetig fortgeschrieben werden. Die erste Version behandelt die wichtigsten Sortieralgorith-
men.
18.4 Objektorientierte Softwareentwicklung
In diesem ersten Band der Java-Hamster-Bücher haben Sie die grundlegenden Konzepte der impe-
rativen Programmierung kennengelernt. Weiterhin wurde in Kapitel 12 (Programmentwurf) mit der
Schrittweisen Verfeinerung ein einfaches Verfahren eingeführt, das vorgibt, wann und wie man die
Konzepte einsetzt, um damit für gegebene kleine Probleme Lösungsprogramme zu entwickeln. In
zweiten Band der Java-Hamster-Bücher werden aufbauend auf dem in Band 1 Gelernten die we-
sentlichen Konzepte der objektorientierten Programmierung vorgestellt. Objektorientierte Program-
miersprachen werden dabei im Allgemeinen eingesetzt, um große Probleme zu lösen. Die Probleme
sind dabei unter Umständen so komplex, dass die Entwicklung der Programme mehrere Jahre dauert
und ein ganzes Team von Fachleuten - nicht nur Informatiker - daran beteiligt ist. Was in diesem
zweiten Band fehlt, ist ein zum Kapitel „Programmentwurf“ des ersten Bandes analoges Kapitel,
in dem beschrieben wird, wie objektorientierte Konzepte eingesetzt werden können, um Probleme
zu lösen. Grund hierfür ist, dass diese Thematik sehr umfangreich ist und daher in einem separaten
fünften Band behandelt wird. Man spricht hier auch von „objektorientierter Softwareentwicklung“,
von der die „objektorientierte Programmierung“ nur ein Teilgebiet darstellt.
Ich möchte jedoch nicht verschweigen, dass das Hamster-Modell bei der Vermittlung der Konzepte
der objektorientierten Softwareentwicklung an seine Grenzen stößt. Hamster-Probleme sind nicht
wirklich komplex genug sind, um die entsprechenden Vorgehensweisen und Konzepte an geeigneten
Beispielen demonstrieren zu können. Nichtsdestotrotz haben wir ein paar Beispiele identitifizieren
können, die helfen, einen kleinen Einblick in die objektorientierte Softwareentwicklung zu geben,
wie bspw. das in Band 2 bereits eingeführte Beispiel der Entwicklung von Spieleprogrammen.
Generelles Ziel der Softwareentwicklung ist die Erstellung eines Softwaresystems zur Lösung eines
gegebenen Problems. Softwareentwicklung kann dabei als ein Prozess angesehen werden, bei dem
die Elemente des Problem- bzw. Anwendungsbereichs in Elemente des Lösungsraumes abgebildet
Search WWH ::




Custom Search