Software-Entwicklung als Auseinandersetzung mit Mensch und Maschine

Die Entwicklung guter Software steht im Spannungs­feld zwischen Mensch und Maschine. Als Mensch stehen hier vor allem diejenigen im Blickpunkt, die später mit der Software arbeiten werden, Maschine steht stellver­tretend für die aktuellen technischen Möglich­keiten.

bei der Arbeit ...

Auseinander­setzung bedeutet im technischen Bereich das Wissen um die Fähigkeiten und Grenzen der möglichen Programmier­sprachen und -technologien, die für die Lösung der Aufgaben­stellung in Betracht kommen.

Auf zwischen­menschlichem Gebiet geht es um die Abstimmung darüber, was die Software leisten muß und wie sie "bedient" werden soll. Das ist ein Kommuni­kations­prozeß der bei der Konzeption beginnt und gelegentlich auch über die Programm­instal­lation und die Einweisung in das Programm hinaus geführt werden kann.

Im Folgenden werden die einzelnen Etappen kurz skizziert. Arbeiten bei größeren Projekten mehrere Software-Entwickler zusammen, findet die Kommunikation nicht nur mit dem Auftraggeber und späterem Programm-Nutzer statt, sondern umfaßt auch die Abstimmung der Entwickler untereinander.

Programm-Konzeption

top ↑

In der Konzeptionsphase wird zunächst die Zielstellung der zu entwickelnden Software genau festgelegt. In welcher Umgebung (Einzelrechner, Büro-Netzwerk, Internet) soll sie eingesetzt werden, auf welche Ressourcen (z.B. Datenbank-Server) kann sie zurückgreifen. Welche Möglichkeiten zur Ein- und Ausgabe, welche Funktionalität soll die Software beinhalten?

Hier liegt der Schwerpunkt in der Kommunikation zwischen Software-Entwickler(-n) und Auftraggeber, am Ende werden die Ergebnisse in der Regel in einem Fachkonzept oder Pflichtenheft festgehalten.

Analyse, Design, Entwurf

top ↑

Ausgehend von der Zielstellung, zum Teil aber auch bereits parallel zu dessen Konkretisierung, ist der erste Schritt der Software-Entwicklung die Analyse der Problemstellung: welche Daten und Informationen sollen wie verarbeitet werden?

Darauf baut die Entwicklung des Programm-Designs auf. Je konkreter die Zielstellung, desto konkretere Festlegungen können hier bereits getroffen werden.

Es kann unter Umständen aber auch ein sich verfeinernder zyklischer Prozeß erforderlich sein: zunächst wird das Design grob umrissen, gegebenenfalls auch in einer alternativen Variante. Erst nach einer abschließenden Diskussion und Festlegung wird weiter verfeinert.

Programmierung, Kodierung

top ↑

Erst in dieser Phase erfolgt die Arbeit an den späteren Programmteilen. Am Anfang dieser Etappe steht ihre genaue Spezifikation: welche Funktionalität wird von den einzelnen Teilen erfüllt und wie arbeiten sie zusammen.

An dieser Stelle ist vor allem die Kommunikation der Software-Entwickler untereinander gefragt. Je sorgfältiger hier gearbeitet wird, desto unkomplizierter wird die nachfolgende Codierungsphase ablaufen. In dieser Phase wird dann im Allgemeinen parallel an den einzelnen Programmteilen gearbeitet.

Test, Installation, Dokumentation

top ↑

Bereits während der Kodierung werden die einzelnen Programmteile getestet, soweit als möglich auch ihr Zusammenwirken. In regelmäßigen Abständen, zu festgelegten Etappen und am Ende der Codierung erfolgen ausführliche Gesamttests.

Danach wird die Dokumentation (Handbuch, Bedienungsanleitung) für das Programm erstellt und am Ende die Software dem Auftraggeber übergeben bzw. bei ihm installiert.

Alternativ zu dieser Vorgehensweise kann es auch sinnvoll sein, das Programm zunächst testweise bei den zukünftigen Nutzern zu installieren - und während der "Vor-Ort-Testphase" parallel an der Dokumentation zu arbeiten.

Weitere Schritte

top ↑

Mit der Übergabe muß die Arbeit an dem Programm nicht zwangsläufig abgeschlossen sein. Es kann an einer weiteren Version gearbeitet werden, die neue Funktionen und Merkmale realisiert, das Programm kann aufgrund der Nutzer-Erfahrungen weiter verbessert und optimiert werden, ...