Inhaltsverzeichnis

GeoFaSC-Konzept

Kernanliegen

Das Kernanliegen des GeoFaSC-Konzeptes ist es, ein Werkzeug zur Einführung in die objektorientierte Programmierung mit Java unter Berücksichtigung der objektorientierten Modellierung zu sein. Dabei sollen die unter Motivation erläuterten Problematiken möglichst vermieden werden.

Auch ist eine Zielsetzung des Konzeptes, dass es mächtig genug sein muss, um die Bandbreite der einführenden, objektorientierten Inhalte und Konzepte abdecken zu können. Zu den weiteren Zielsetzungen gehören die vordergründigen, erfolgsversprechenden Vorzüge der Stift-basierten Ansätze, wie die Grafikorientierung zur Unterstützung grafischer Lösungen und die Bereitstellung eines geeigneten Programmierwerkzeugs zur Implementierung von Problemlösungen.

Beobachtung 1: Grafische Lösungen erfordern (komplexe) geometrische Figuren

Für die Lösungen von grafikorientierten Aufgaben fällt ins Auge, dass diese im Grunde immer wieder die Implementierung geometrischer Figuren, die Komposition dieser zu komplexen Figuren und die Handhabung dieser Figuren erfordern. Die simple visuelle Repräsentation der Ampel, bestehend aus einem Rechteck als Ampelgehäuse und drei darin positionierten Kreisen als Lampen, hat dies schon angedeutet. Weitere treffende Beispiele verdeutlichen dies:

Beobachtung 2: Swing als objektorientierte, komponentenbasierte Grafikbibliothek

Es ist leicht einzusehen, dass die beschriebenen Problematiken beim grafikorientierten Programmieren, wie der Realisierung grafischer Benutzeroberflächen, in realen, möglicherweise komplexen Software-Projekten tunlichst nicht anfallen dürfen.

Java bietet mit Swing eine modular aufgebaute, mächtige, objektorientierte und komponentenbasierte Grafikbibliothek, die sich für die Entwicklung komplexer Benutzeroberflächen eignet. Ein Vorzeigebeispiel für eine funktionstüchtige und mächtige Anwendung basierend auf Swing ist die Netbeans-Entwicklungsumgebung. Swings Attribute objektorientiert und komponentenbasiert sind hier von konzeptuellem Interesse: Zwar stellt Swing grafische Elemente zur Benutzerinteraktion zur Verfügung, diese werden aber objektorientiert erzeugt, behandelt und können einfach zu Komponenten zusammengesetzt werden. Swing muss also Mechanismen implementieren, die zumindest Problematik 2 zu vermeiden vermag.

Folgerung

Diese wesentlichen Beobachtungen führten, unter der Berücksichtigung der gesteckten Zielsetzungen und des Kernanliegens, zur Entwicklung des GeoFaSC-Konzeptes mit dem Leitgedanken:

„Geometrische Figuren sind keine Artefakte eines (Zeichen)Werkzeugs
(z.B. eines Stiftes oder einer Turtle), sondern selbst Werkzeuge.“

Die genauen Anforderungen, die das Konzept an eine Figur stellt, sind:

  1. Eine Figur ist ein Objekt.
  2. Eine Figur ist ohne Zeichenaufwand erzeugbar und verwaltbar.
  3. Eine Figur besitzt Attribute (z.B. Größe und Position), die die Figur eindeutig in einem Bezugssystem beschreiben.
  4. Eine Figur besitzt Abfrage- und Änderungsdienste, mit denen man den Zustand der Figur lesen und schreiben kann.
  5. Eine Figur ist eine (Swing) Komponente, d.h. sie kann andere Figuren inkludieren, andere Komponenten inkludieren und auch selbst inkludiert werden.

Der genannte Leitgedanke stellt eine Maßnahme gegen Problematik 1 dar. Zum einen besteht beim Modellieren grafikorientierter Lösungen mit GeoFaSC nicht der Aufforderungscharakter, ständig nur ein Zeichenwerkzeug zu verwenden. Dies ist durch das Fehlen eines universalen Zeichenwerkzeuges ausgeschlossen. Zum anderen ermutigt der GeoFaSC-Ansatz eher, problemspezifische Klassen, z.B. durch Assoziation zu oder Ableitung aus den gegebenen Figurenklassen, für wirklichkeitsnähere Modelle vorzusehen und auch einfacher zu implementieren.