Allgemeine Bemerkungen
        Wir haben unser Programm bis zum Umfallen getestet. Es läuft für alle unsere 
        getesteten Fälle einwandfrei. Es ist also bereit an den Kunden übergeben zu werden. 
        Dass das bei uns im Praktikum zu diesem Zeitpunkt nicht passiert hat organisatorische Gründe. 
        Wenn man die Abschlusspräsentation (also sowas wie die übergabe) noch vor der Wartungsphase 
        ansetzen würde fänden nur noch sehr wenige Gruppen die nötige Motivation, um auch die 
        Wartungsphase noch richtig anzugehen.
	Die Wartungsphase ist die Phase, die im Softwarepraktikum am meisten simuliert und verkürzt wird. 
	Nach verschiedenen Studien (siehe Balzert, Lehrbuch der Softwaretechnologie I 6.3) macht die Wartung 
	70-80% der gesamten Entwicklungszeit und Ressourcen aus.
	Aufs Praktikum umgerechnet hättet ihr dann ca. 3 Wochen zum Analysieren, Entwerfen und 
	Implementieren und dafür dann 10 Wochen Wartungszeit.
	Dies mag zwar der Realität entsprechen, erweist sich jedoch für das Praktikum schwierig 
	umzusetzen.Daher wird die Wartungsphase vor die Abschlusspräsentation verschoben.
	
Aktivitäten in der Wartung
    
	Was machen wir nun also in der Wartungsphase?
	Nachdem das Produkt beim Kunden angekommen ist werden drei typische Reaktionen von ihm kommen:
	
- Das Feature "xyz" geht nicht. Das Programm stürzt nach der Befehlsfolge "abc" immer ab.
 - "Jetzt wo ich das Programm ausprobieren kann, fällt mir noch auf, dass ich doch noch das Feature "x" bräuchte".
 - "Ich habe noch ein paar ältere Rechner rumstehen auf denen die Software zwar eigentlich laut Pflichtenheft nicht laufen müsste, sie läuft aber und ist nur ein wenig zu langsam. Lässt sich da nicht noch was machen?"
 
Lientz und Swanson haben dies 1980 in folgende Kategorien aufgeteilt:
- Korrigierende Aktivitäten
 - Anpassende Aktivitäten
 - Perfektionierende Aktivitäten
 
	Der erste Punkt wird euch im Praktikum relativ sicher begegnen. Meist wurden in der 
	Testphase halt doch noch nicht alle Fehler gefunden. Die Wartungsphase ist auch dafür 
	da, die letzten Fehler aus dem Programm zu beseitigen. Jedoch sollte auf eine klare 
	Trennung der Test- und der Wartungsphase geachtet werden. Die Testphase ist erst zu Ende, 
	wenn ihr der Meinung seit, dass ihr wirklich alle Fehler gefunden habt.
	
	Den zweiten Punkt werdet ihr auf jeden Fall erleben. Der Kunde wird auf euch zukommen, und 
	entweder ein im Pflichtenheft aufgeführtes Wunsch-Feature oder ein völlig neues 
	Feature wünschen. Eure Aufgabe ist es, dies in der vorgegebenen Zeit einzufügen 
	und dabei die Fehlerfreiheit des Programms nicht zu gefährden. Es dürfen also nicht 
	auf einmal andere Features wegfallen, nur weil ihr ein neues eingefügt habt. Hier zeigt 
	sich dann wie flexibel euer Entwurf wirklich ist, wie leicht eine Änderung oder Erweiterung 
	realisierbar ist. Viele Studenten haben hier ihr Aha-Erlebnis und lernen den frühzeitig 
	und gut ausgearbeiteten Entwurf zu schätzen.
	Im hier vorgestellten Großmarkt war das Wunschfeature des Kunden das Einbauen von ein 
	paar schön anzusehenden und übersichtlichen Verkaufsstatistiken. Auch hier ist das 
	Gespräch mit dem Kunden/Tutor wieder sehr wichtig. Sehr schnell artet ein solch klein 
	anmutender Wunsch in eine sehr große Änderungsorgie aus. Also lasst euch dabei 
	nicht vom Kunden unter den Tisch reden. Eine konstruktive Diskussion ist hier angesagt. Denkt 
	nur daran, dass der Kunde am Ende das letzte Wort hat.
	
	Der dritte Punkt wird wohl in eher wenigen Praktikumsprojekten zur Anwendung kommen. Meist 
	reicht die Zeit dafür einfach nicht. Auf der Ebene der Leistungsoptimierung geht es 
	darum das Programm bezüglich Prozessorzeit und Speicherbelastung zu optimieren. Viele 
	Algorithmen, die in der Implementierungsphase geschrieben wurden sind noch weit von der 
	Perfektion entfernt. Sie gehen leichtfertig mit Speicher um und berechnen vielleicht mehr 
	als eigentlich nötig. Die Perfektionisten unter euch (oder diejenigen mit einem langsameren 
	Rechner) werden sich vielleicht daran versuchen.
	Neben der Leistungsoptimierung ergibt sich meist noch eine Optimierung der Benutzeroberfläche. 
	Vielen fällt nach der Implementierungsphase auf, wie hässlich doch so manches Formsheet 
	aussieht, und dass ein wenig Farbe dem Programm noch den letzten Schliff geben würde. Hier 
	wird zum ersten mal das Motto "form follows function" ein wenig aufgehoben. Zu einem ansprechenden 
	Produkt gehört auch eine ansprechende Oberfläche.
	
Abschlussbemerkung
	Mit der Wartungsphase endet dann auch das Praktikum. Ihr müsst euer Projekt nun noch 
	verteidigen, aber dazu gibt es hier keine Anleitung mehr. Wir hoffen das Tutorial konnte 
	euch ein wenig dabei helfen die größten Klippen des Softwarepraktikums zu 
	umschiffen. Wir haben jedenfalls unser Bestes gegeben ;-).
	Wenn ihr es bis hierher geschafft habt, war das Praktikum hoffentlich ein großer 
	Erfolg für euer Team - und eine Erweiterung eurer Lebenserfahrung.
	
  Implementierung und Test | 
 Implementierung und Test