6.2 Objektorientierte Analyse (OOA)

6.2.1 Problemanalyse

Die Diplomarbeit bearbeitet zwei verschiedene Problemstellungen. Die erste ist die pädagogische Seite (Lernmethoden), die zweite die Erstellung eines Software-Produktes. In diesem Abschnitt widme ich mich der technische Seite, also der Erstellung des Produktes, allerdings immer in Hinblick auf die pädagogische Problemstellung, die ich im pädagogischen Teil bearbeitet habe. Ich werde allerdings die Anforderungsanalyse nicht so gestalten, wie es der Auftraggeber (vgl. 3.3) getan hätte, denn dieser würde ein fertiges Produkte wollen. Ich werde die Analysen und Anforderungen strikt auf das pädagogische Problem fokussiert bearbeiten. Methodisch werde ich jedoch gleich vorgehen.

6.2.2 Szenario

Es soll eine Software entwickelt werden, die in der Sekundarstufe II als Basis für die Anwendung moderner Lernmethoden dient. Es geht thematisch um informationstechnologische Problemstellungen, aber die pädagogischen Methoden können auch auf andere Schulfächer ausgeweitet werden.

Die Ausgangssituation ist in der Regel die, dass Lehrkräfte oftmals über sehr wenig Wissen zu modernen Techniken der Softwareentwicklung besitzen und wenn überhaupt nur vereinzelt bei den Schülern welches vorhanden ist. Sollte der glückliche Zufall es wollen, dass man motivierte Programmierer unter den Schülern hat, sollten diese gesonderte Aufgaben bekommen und zum Wissenstransfer eingesetzt werden. Im Weiteren gehe ich aber davon aus, dass kein Wissen vorhanden ist, um alle Schulen und Lehrer ansprechen zu können.

Ziel ist es, allen interessierten Schulen eine Anleitung und hochwertiges Material zur Verfügung zu stellen und moderne Lernmethoden einzusetzen, um Methodenwissen und Fähigkeiten der Schüler für das Berufsleben zu steigern. Dies wird am Beispiel einer authentischen informationstechnologisch geprägten Situation vollführt und damit gleichzeitig eine Auswahl an aktuellen Softwaretechniken vermittelt. Mit diesem Wissen können die Schüler zumindest entscheiden, ob sie ein Informatikstudium/eine Fachinformatiker-Ausbildung interessiert oder nicht.

6.2.3 Anforderungsanalyse

Das Softwareprodukt soll die Schüler ansprechen und trotzdem mit zeitgemäßer Technik umgesetzt werden, aber dabei nicht zu kompliziert aufgebaut sein, um dem Anfänger den Zugang zu ermöglichen. Daher halte ich ein Multiplayer-Online-Strategie-Spiel für sehr passend, da diese derzeit sehr beliebt sind und die Nutzer immer Erweiterungen wünschen. Die Spielbeschreibung stellt den Versionsstand dar, der vom Auftraggeber geliefert wird, dann ist das weitere Vorgehen von den Wünschen der Schüler abhängig. Das Spiel hält viele Möglichkeiten bereit, die als Aufgaben seitens des Auftraggebers gefordert werden können. Eine Übersicht, über die Anwendungsmöglichkeiten gebe ich in dem Use Case Diagramm.

Weiterhin analysiere ich die Spielbeschreibung und identifiziere die Objekte und bringe diese in Beziehung zueinander. Dieses Objektdiagramm enthält noch keine Attribute oder Methoden. Ich gehe dabei so vor, dass ich im Text beschriebene Objekte, die später im Spiel vorkommen zunächst unterstreiche und dann in Beziehung zu den anderen Objekten setze. Attribute von Objekten (z.B. Runde ist ein Attribut des Spiels) lasse ich in diesem Schritt aus. Es geht nur um die Identifizierung der Objekte.

Der Programm-Quellcode soll relativ simpel sein, so dass es auch Einsteigern möglich ist, schnell Ergebnisse zu erzielen, weshalb ich die Features des Spiels reduziere und somit nur eine Basisversion zur Verfügung stelle. Es soll nach modernen Entwicklungsmethoden entwickelt werden, was bedeutet, dass keine Mappings oder generierbaren Daten per Hand erzeugt werden müssen. Auch der Editor soll modernsten Ansprüchen genügen, um die authentische Situation nicht durch unrealistische Gegebenheiten zu unterspülen. Somit entscheide ich mir für eine Entwicklungsumgebung, die der meiner beruflichen Situation entspricht. Eclipse als IDE (Integrated Development Environment), Maven (mit Eclipse-Integration Mavenide) und XDoclet als Entwicklungs-Unterstützung im Generatorbereich. Ich zog keine anderen IDEs in die Auswahl, weil eine Evaluierung und ausführliche Tests der IDEs nicht in den Zeitrahmen gepasst hätte. Generell ist die Wahl für oder gegen eine IDE aber Geschmackssache. Die andere kostenlose Alternative ist NetBeans IDE oder die darauf aufbauende IDE Java Studio Creator. Alle von mir benutzten Programme lassen sich dort ebenso integrieren, womit nichts dagegen spricht, diese IDE zu benutzen. Es ist allerdings ratsam, dass alle Schüler die gleiche IDE benutzen.