|
[Home
| Gymn. Oberstufe | Informatik | Unterrichtsmaterialien | index] |
1. Informatische Ziele 2. Pädagogische Ziele 3. Die Kursteilnehmer 4. Projektverlauf 4.1 Systemanalyse 4.2 Anforderungsdefinition 4.3 Entwurf 4.4 Implementation 5. Dokumentation online im Web 6. Das Produkt 7. Eingesetzte Werkzeuge und Ressourcen 1. Informatische ZieleDas Halbjahr 13/1 ist in Gänze dem Softwareprojekt vorbehalten. Im Projektsemester sollen die Methoden und Probleme des Software Engineering an Beispielen mit realitätsnaher Komplexität vertieft werden. Die Komplexität liegt in drei Ebenen:
Die informatischen Ziele sind
Als Softwareprojekte kommen drei Möglichkeiten in Frage: a) Neues ProjektthemaAlle Phasen von der Analyse bis zum fertigen Produkt werden
erstmalig durchlaufen. b) Fortführung eines früheren ProjektesHier kann es sich um den Ausbau oder die Vervollständigung eines bereits angefangenen oder auch fertigen Systems handeln. c) Wartung eines fertigen SoftwareproduktesDieser als auch der vorige Fall sind in der Praxis wohl die
häufigsten, wenn man an die scheinbar endlose Folge von Versionen
denkt, mit der der Markt überschüttet wird. Beide
Projektformen finden bei Schülern wenig Gegenliebe, weil man ja
nicht Eigenes vorzeigen kann. Obwohl die Phasen des Software Life
Cycles auch hier abgearbeitet werden können, geht der
schöpferische Akt deutlich unter. Außerdem weiß jeder
Praktiker, dass es häufig einfacher ist, ein System neu zu
konzipieren als sich in ein schlecht dokumentiertes und vielleicht
chaotisch zusammengestricktes System einzudenken. Voraussetzung
für diese Projekttypen sind das Vorliegen einer präzisen und
hinreichenden Dokumentation und eine Softwarearchitektur nach dem
Datenabstraktionsprinzip. Nur dann können Module sauber
ausgewechselt, ergänzt und in das System eingehängt werden.
Ein ablauforientierter Entwurf dürfte in der Regel nicht zu
entwirren sein. 2. Pädagogische Ziele
Das Softwareprojekt im Informatikunterricht bietet eine nahezu einmalige Gelegenheit, über einen langen Zeitraum an einem Thema zu arbeiten, traditionelle Unterrichtsformen "außer Betrieb" zu setzen und dafür Lern- und Arbeitsformen aufzunehmen, die sich aus der Aufgabenstellung ergeben und nicht über künstliche Lernarrangements oder angeordnete Projekttage als methodische Volten inszeniert werden müssen. Hier kann handlungsorientierter Unterricht par excellence stattfinden. Es lohnt sich für alle Beteiligten, gemeinsam durch das Spannungsfeld von Motivation und Frustration zu gehen, ohne exakt vorherbestimmen zu können, wo die Probleme und ihre Lösungen auftauchen werden. Obwohl am Ende immer ein fertiges Produkt stehen sollte, hat es bisher noch nie tiefe Enttäuschungen gegeben, wenn einmal das gemeinsame Ziel am Ende doch nicht ganz erreicht wurde, weil das Produkt aus Zeitgründen in der projektierten Version nicht fertig codiert wurde. Um die Teamleistung herauszustellen, wurden mit den Schülern gemeinsam die Ziele abgesteckt und vereinbart, dass die Teamleistung zur Hälfte in die AT-Semesternote eingeht. Die OOA- und OOD-Ergebnisse wurde mit besser als gut, die Codierung als schwächer, das Gesamtgruppenergebnis mit gut bewertet. 3. Die KursteilnehmerSchüler des Grundkurses Informatik, die eher ein distanziertes Interesse an Informatik und teilweise mehr am Nasdaq und Nemax haben, aber im allgemeinen gut mitarbeiten. Es sind keine "Programmierer" darunter. Die reinen Programmierfähigkeiten sind überwiegend eher schwach. Die Kenntnisse in Modellierungsfragen sind durchweg gut. Die Mitarbeit war insgesamt gut und besser, vermutlich deshalb, weil hier zur Unterrichtszeit das übliche Lehrer-Schüler-Scenario für ein halbes Jahr außer Kraft gesetzt war und die Atmosphäre durch eine völlig schul-untypische Arbeitssituation ersetzt ist. 4. ProjektverlaufAlle Phasen des Software Life Cycle wurden mit einem vertiefenden Referat eingeleitet oder begleitet, so dass immer ein Bezug zwischen Theorie und praktischer Umsetzung erzielt wurde 4.1 SystemanalyseWie oben schon erwähnt, hatten Schüler Erfahrungen aus diesen Tätigkeiten, so dass die Analyse zügig erstellt werden konnte. Positiv wirkt sich auch aus, dass Schüler eines Wirtschaftgymnasiums Kenntnisse in Rechungswesen haben. 4.2 EntwurfEs wurden in diesem Halbjahr OOA- und OOD-Phase erstmalig strikt getrennt und zunächst das reine OOA-Modell erstellt, was zu einer deutlichen Verbesserung des Verständnisses des Systems beigetragen hat. Erst danach wurden die notwendigen Erweiterungen des OOD hinzugefügt. Deshalb und aufgrund der vorhandenen guten Kenntnisse
gestaltete sich OOA- und OOD-Phase ohne große Umwege. Hierzu trug
auch der Einsatz eines neuen interaktiven Entwurfstools (GO) bei. Das
OOD-Modell wurde bei den Methoden nicht ganz vollständig
ausgearbeitet, um frühzeitiger in die Implementierung zu gehen. 4.3 ImplementationDas Projekt beschreibt einen Ausschnitt aus einem Warenwirtschaftssystem, der mit Listen- und Dateiverwaltung (1. Kurshalbjahr) realisiert werden kann. Wie immer bei einem guten OOD-Entwurf zeigten sich bei der Implementation keine besonderen Hürden. Insofern bestätigte die Implementation die Qualität des Entwurfs. Als etwas schwierig zeigte sich die Realisierung der Rechnung und der GUI-Klasse wegen der vielfältigen Assoziationen zu anderen Fachklassen. Bis zum Semesterende wurde die Version 1 knapp fertig. Hier zeigte sich wieder deutlich die mangelnde Programmierpraxis, auf die wegen der Zeitknappheit verzichtet werden muss. Die Implementation wurde ausschließlich von den Schülern erstellt. Daneben wurde eine (geheime) Lehrerversion codiert, um unvorhergesehene Klippen zu entdecken und den Zeitaufwand abzuschätzen 5. Dokumentation online im WebBisher wurden Softwareprojekte in herkömmlicher Weise
dokumentiert; d.h. alle erforderlichen Dokumente wurden mit einer
Textverarbeitung oder Editor geschrieben, ausgedruckt und in einem
allgemein zugänglichen Leitzordner abgelegt. In diesem Semester
wurde erstmalig auf jede papierne Dokumentation verzichtet. Da die Erstellung und Einbindung aller Webseiten einen sehr großen Arbeitsaufwand verursacht, hat die Aufgabe des Projektsekretärs der Lehrer übernommen. 6. Das ProduktDas Ergebnis liegt in zwei Versionen vor, einer Schüler- und Lehrerversion. 7. Eingesetzte Werkzeuge und RessourcenFrontpage 2000, Delphi 4, GO (Generating Objects) UML-Designer
, UML Organisationsform: Chefprogrammierer-Team Modulbibliothek |