Die Datenbankentwicklung beschäftigt sich mit der professionellen Planung und Entwicklung einer Datenbankanwendung. Hier kommt nun der Datenbankentwickler ins Spiel.
Der Datenbankentwickler entwirft und konzipiert Datenbanksysteme (Systemsoftware), programmiert sie und bringt sie zur Anwendung. Aufgabe des Datenbankentwicklers ist, das System passgenau auf den betreffenden Kunden und seinen Bedarf abzustimmen. Dazu gehört, dass der Kunde von Anfang bis Ende in ständigem Kontakt mit dem Entwickler steht.
Ein solches Datenbankprojekt wird gewöhnlich in 4 Phasen eingeteilt um komplexe Entwicklungsprozesse abzubilden:
Alle Phasen zusammen in ihrer zeitlichen Abfolge werden auch als Software-Lebenszyklus oder Software Life Cycle bezeichnet. Der Software-Lebenszyklus ist also die Zeitspanne, in der ein Softwareprodukt entwickelt und eingesetzt wird – bis zum Ende seiner Benutzung.
Im 1. Teil (Analyse), gilt es das zu lösende Problem möglichst exakt zu analysieren. Es gilt somit in der 1. Phase, die Frage zu beantworten: „Was soll das Programm machen?“
Im 2. Teil (Entwurf) ist das Gesamtsystem in mehrere übersichtliche Teilprobleme aufzugliedern. Für jedes einzelne Teilproblem werden dann konkrete Lösungsmöglichkeiten (Algorithmen) erarbeitet. Diese Algorithmen werden zunächst in allgemeiner Form beschrieben, zum Beispiel durch umgangssprachliche Darstellungen und Grafiken.
Bei der Entwicklung, auch Implementierung genannt, werden die Algorithmen aus der Entwurfsphase in konkrete Anweisungen einer Programmiersprache umgesetzt. Dafür sind umfangreiche Vorkenntnisse in der Softwareentwicklung erforderlich.
In der folgenden Phase wird das Programm umfangreichen Tests unterzogen, um dabei möglichst viele Fehler aufzuspüren und zu beseitigen. Das Endergebnis ist das fertige auszuliefernde Programm.
Trotz sorgfältiger Programmierung und umfangreicher Tests lassen sich Fehler in Software-Systemen allein schon durch die enorme Komplexität nicht immer vermeiden. Solche Fehler können unter ungünstigen Umständen ein Programm plötzlich beenden oder nicht mehr korrekt arbeiten lassen. Im Fachjargon wird der Programmabbruch durch einen Fehler als Absturz bezeichnet.
Das Programm an den Kunden ausliefern und in Betrieb nehmen: dabei treten in der Regel noch weitere Fehler und Unstimmigkeit auf, die eine Wartung erforderlich machen. Außerdem sind gegebenfalls am Programm Änderungen zu machen, damit es der Umgebung angepasst ist, zum Beispiel an neue Versionen eines Betriebssystems oder Änderungen bei gesetzlichen Vorgaben.
Hinweis zum Phasenmodell
Verschiedene konkrete Vorgehensmodelle basieren auf dem Phasenmodell:
Die Entwicklung von Software kann bei einer strikten Trennung von Analyse, Entwurf und Implementierung sehr lange dauern und nicht immer die gewünschten Ergebnisse liefern. Daher kommen auch agile Methoden zum Einsatz, die versuchen, möglichst schnell zu einer einsatzfähigen Software zu kommen.
Zu den agilen Methoden gehören: