Unter Softwareentwicklung versteht man allgemein die Entwicklung neuer Software oder die Verbesserung bestehender Softwaresysteme. Alle Apps auf dem Smartphone oder dem Tablet sind Softwarelösungen. Das reicht von der Navigation über die Wetter-App bis hin zur Musik. Die Entwicklung dieser Software ist jedoch ein langfristiger Prozess, der sich in verschiedene Phasen einteilen lässt.
Am Anfang steht eine Idee
Zu Beginn der Softwareentwicklung steht immer eine bestimmte Idee. Im Mittelpunkt steht dabei die Funktionalität. Die Software muss bestimmte Funktionen gewährleisten. Deshalb wird in die Entwicklung vor allem viel Zeit für die Planung investiert. Ein Programm kann eine bestimmte Aufgabe selten in einem einzigen Arbeitsschritt erledigen. Vielmehr erfordert die Umsetzung einer Funktion mehrere einzelne Arbeitsschritte, die sorgfältig geplant und aufeinander abgestimmt werden müssen. Nach der Planung der Funktionen können die Daten ermittelt werden, welche für die Erfüllung der einzelnen Arbeitsschritte notwendig sind. Nach diesem Entwicklungsprozess wird die gesamte Software nochmals eingehend geprüft.
Da die Entwicklung von Software ein sehr umfangreicher Prozess ist, werden die Entwicklungsschritte in einzelne Phasen eingeteilt.
Verschiedene Entwicklungsmodelle – gleiche Phasen
Prinzipiell wird bei der Entwicklung einer Software zwischen zwei Modellen unterschieden. Zum einen gibt es das iterative Modell und zum anderen das Wasserfallmodell. Beide Modelle vereinen jedoch jeweils sechs Phasen im Entwicklungsprozess. Diese Phasen bestehen aus der Anforderungsanalyse, dem Design, der Umsetzung, der Prüfung, der Veröffentlichung sowie der Wartung. Nachdem eine Software entwickelt, geprüft und veröffentlicht wurde, geht der Entwicklungsprozess jedoch weiter. Ein Computerprogramm oder eine App werden ständig weiterentwickelt und verbessert.
Das iterative Modell
Bei einem iterativen Modell wird die Software durch ständige Wiederholungen schrittweise optimiert. Im Zuge dieser Wiederholungen kann sich die Struktur der Software entwickeln. Die Entwicklung der Software wird dabei in viele einzelne Schritte zerlegt, die jeweils einer Kontrolle unterzogen werden. Dadurch können alle auftretenden Mängel sofort und rasch behoben werden. Außerdem können die Softwareentwickler auch rasch auf veränderte Anforderungen reagieren und die Software an die veränderten Bedingungen anpassen.
Das Wasserfallmodell
Dieses Modell zeichnet sich durch seine lineare Struktur aus. Dabei erfolgen die einzelnen Prozessschritte in kurzen aufeinanderfolgenden Phasen. Bei diesem Modell durchläuft man eine Entwicklungsphase im Gegensatz zum iterativen Modell jedoch nur ein einziges Mal. Dieses Modell wird in der Softwareentwicklung am häufigsten eingesetzt.
Das Ziel der Softwareentwicklung ist es, mit möglichst geringem Aufwand eine bestmögliche Softwarelösung für ein bestimmtes Problem zu erreichen. Vor allem der Arbeitsaufwand soll möglichst gering gehalten werden, da dieser enorme Kosten verursacht. Eine Software ist nur dann nützlich, wenn sie alle Funktionen korrekt ausführt und alle zur Verfügung stehenden Ressourcen effizient verwendet. Vor allem die Speicherkapazität und die Prozessorgeschwindigkeit bilden die Rahmenbedingungen für die Nutzung und Arbeitsweise der Software. Die Softwareentwicklung ist so alt wie die Entwicklung der Hardware. Schon die ersten Computer benötigten Software, um Funktionen richtig ausführen zu können.