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 |