Definition: Was ist Softwareentwicklung?

Softwareentwicklung oder Softwaretechnik ist die Herstellung sowie Entwicklung von Software. Häufig wird dafür auch der englische Begriff „Software Engineering“ verwendet. Mit der Entwicklung sind viele Prozesse verbunden: Nicht nur die Programme sowie Daten werden einmalig aufgesetzt. Auch die Wartung und Aktualisierung, sowie die Distribution gehören dazu. Laut ISO 9126 gibt es sechs Qualitätsmerkmale für ein gutes Software Engineering:

  • Die Funktionalität muss den allgemeinen Anforderungen der Software entsprechen.
  • Das Leistungsniveau des Programms muss zuverlässig aufrechterhalten werden.
  • Die Benutzbarkeit der Software sollte anwenderfreundlich sein.
  • Eine Effizienz zwischen Leistungsniveau und Aufwand sollte vorhanden sein.
  • Wartungsfreundlichkeit ist essentiell für ein eine lange Nutzungsdauer der Software.
  • Die Übertragbarkeit auf andere Hardware ist ein wichtiger Faktor für die Verbreitung von Software.

Oft werden Programme Offshore entwickelt. Bei der Offshore-Entwicklung werden externe Programmierer in weit entfernten Ländern beauftragt, ein Programm aufzusetzen. Diese sind oft deutlich günstiger.

Zudem wird häufig eine weit verbreitete Programmiersprache verwendet, da diese leicht übertragbar ist. Bekannte Programmiersprachen sind C, C+ oder Java. Die bekannte HTML-Programmierung hingegen ist keine Programmiersprache. Sie dient als Auszeichnungssprache in Dokumenten.

Phasen in der Softwareentwicklung

Eine qualitativ hochwertige Entwicklung ist ein sehr langer Prozess. Es wurde ein Wasserfallmodell entwickelt, um den Prozess übersichtlicher zu gestalten. Das Modell gliedert sich in fünf Phasen:

  1. Bei der Anforderungsanalyse werden die Anforderungen des Unternehmens analysiert. Diese werden dokumentiert und in einem Lastenheft festgehalten.
  2. Bei der Softwarearchitektur wird das System entworfen. Sie dient als Zwischenschritt zwischen der Theorie und der Produktentwicklung.
  3. In der Programmierung und in Modultests wird die eigentliche Entwicklung des Programms durchgeführt.
  4. Bei Integrations- und Systemtests wird die Software auf Fehler überprüft. Anhand vieler Testläufe sollen alle Probleme gefunden und eliminiert werden. Auch das Zusammenspiel einzelner Komponenten soll optimiert werden.
  5. Der letzte Schritt umfasst die Auslieferung, den Einsatz und die Wartung der Software. Sie muss auf den Zielgeräten installiert werden. Bei zukünftigen Problemen oder Aktualisierungen müssen sich die Programmierer weiter um die Software kümmern.

Das Wasserfallmodell ist nur eine bestimmte Methode, den Entwicklungsprozess darzustellen.

Vorgehensmodelle in der Softwareentwicklung

Die agile Softwareentwicklung ist darauf ausgelegt, schnell auf geänderte Bedingungen zu reagieren. Das Projekt wird in enger Kommunikation mit dem Auftraggeber durchgeführt. Dadurch können alle Spezifikationen genau angepasst werden. Jeder Schritt wird mit diesem abgesprochen und erst dann ausgeführt.

Das Extreme Programming (XP) ist eine extreme Variante des agilen Modells. Es versucht, möglichst einfache Lösungen zu finden. Die Kommunikation sollte umgehend stattfinden. Der Kunde gibt im Laufe des Prozesses stets Feedback. Trotzdem sollen alle Anforderungen so einfach wie möglich erfüllt werden.

Das V-Modell ist eine Erweiterung des Wasserfallmodells. Jede Stufe der Spezifikation hat eine eigene Teststufe. Die graphische Abbildung sieht aus wie ein V. Das V-Modell gilt als Grundlage deutscher Entwicklungsstandards.