Schritt-für-Schritt - Die Wartungsphase

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:

Lientz und Swanson haben dies 1980 in folgende Kategorien aufgeteilt:

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.


previous Implementierung und Test



by Thomas Ryssel