1    

IT so leicht wie nie. Ein Selbstlernkurs zur Informationstechnologie.

Software Development Life Cycle (7/11)

Das professionelle Programmieren von Software ist ein mehrstufiger Prozess, der auch als „Software Development Life Cycle (SDLC)“ bezeichnet wird. Bei dem Ablauf handelt es sich eigentlich weniger um einen Kreis als um einen Prozess von Rückkopplungen. Dieser Prozess läuft also nicht linear, ein Schritt nach dem anderen, sondern es wird ständig zu vorherigen Schritten zurückgesprungen.

Die Informatikprofessoren Pomberger und Dobler schlagen ein sechsstufiges Modell vor (Pomberger/Dobler, S. 23). Leicht abgewandelt, aber in den wichtigsten Punkten deckungsgleich, findet sich dieses Modell auch bei den  Informatikdidaktiker*innen Prof. Schubert und Prof. Schwill (S. 309ff). Einige Punkte wurden bereits in diesem Kapitel angesprochen – sie sollen nun in eine logische Abfolge gebracht werden:

Das Problem wird in dieser Phase mit allen Aspekten erfasst und beschrieben. Dazu wird zunächst mittels einer Ist-Analyse das bestehende System untersucht. Daraufhin werden in der Sollkonzeptentwicklung die Anforderungen an die Software bestimmt. Erst in der Durchführbarkeitsstudie wird die Entscheidung getroffen, ob das Projekt überhaupt berechenbar ist und ob es sich ökonomisch rentiert. Nach positiver Entscheidung wird in der letzten Teilphase, der Projektplanung, die konkreten weiteren Schritte (Zeitplan, Personen usw.) festgelegt. Die gesamten Ergebnisse der Problemanalyse werden in einer Anforderungsdefinition festgehalten.

In dieser Phase findet die uns bereits bekannte Spezifikation statt. Das Problem wird in seine Einzelteile, sogenannte „Module“, zerlegt. Danach wird für jedes einzelne Modul versucht, eine grobe Lösung zu finden. Dabei ist auch zu bedenken, wie die einzelnen Module zusammenspielen, also wie die Schnittstellen zwischen den Modulen gestaltet sein sollen.

Nun werden die einzelnen Lösungsideen konkretisiert und in Algorithmen überführt. Die Algorithmen können, wie wir bereits gesehen haben, in einer bestimmten grafischen Form dargestellt werden. Bei der Ausformulierung der einzelnen Schritte des Algorithmus kann Bottom-Up oder Top-Down vorgegangen werden – wobei in der Praxis beide Methoden oftmals gemischt werden.

In dieser Phase findet das Codieren bzw. Programmieren statt. Jetzt wird sich für eine Programmiersprache entschieden und der Algorithmus darin überführt, damit er später von Compilern bzw. Interpretern automatisch in Maschinensprache übersetzt werden kann. Am Ende der Implementierung steht ein fertiges, gut dokumentiertes Programm.

Bevor die Software tatsächlich in Betrieb genommen wird, werden verschiedene Tests durchgeführt: Es wird geprüft, ob jedes Modul nach seiner Bestimmung funktioniert und ob die Module korrekt miteinander arbeiten. Danach werden mittels einer Leistungsmessung das Laufzeit- und das Speicherverhalten getestet. Nachdem alle Fehler korrigiert und alle nötigen Anpassungen gemacht wurden, geht es in die letzte Phase.

Nachdem das Programm in Betrieb genommen wurde, wird es in regelmäßigen Abständen an evtl. veränderte Rahmenbedingungen angepasst, verbessert und kleine Fehler (sogenannte „Bugs“) behoben. Dabei können ganze Algorithmen durch leistungsstärkere ausgetauscht werden.