Das V-Modell
Ursprünglich ein Modell aus der Software-Entwicklung, bei dem der Entwicklungsprozess in mehrere Phasen eingeteilt wird. In Kombination mit den Phasen der QC (Quality Control/Qualitätssicherung), die denen der Entwicklung gegenüberstehen, ergibt sich das „V“-Modell.
Der linke Ast des „V“ repräsentiert dabei die Anforderungen des Kunden / Stakeholders; das Zielsystem wird durch die einzelnen Phasen definiert.
Im „Boden“ des „V“ erfolgt die Umsetzung der Anforderungen; die eigentliche Programmierung oder Beschaffung einer zugekauften Software.
Der rechte Ast des „V“ repräsentiert die einzelnen Testphasen, in denen die Anforderungen auf der linken Seite auf vollständige und korrekte Umsetzung überprüft werden.
Anforderungsanalyse
In der Anforderungsanalyse wird geklärt, was der Kunde für ein System erwartet. Der Prozess wird hier im Detail besprochen, es wird festgehalten, welche externen Prozesse involviert sein müssen, ob es Schnittstellen zu vorhandener Hardware gibt oder in Zukunft geplant sind.
Systemarchitektur
In diesem Schritt werden die Punkte aus der Anforderungsanalyse aufgeteilt in kleinere Pakete. Jedes dieser Pakete sollte ein in sich abgeschlossenes System darstellen, mit klar definierten Schnittstellen zu anderen Anforderungen (User Requirements Specification/ URS).
Systementwurf
Zu Beginn dieser Phase werden die einzelnen Pakete der Systemarchitektur weiter aufgeteilt in einzelne, unabhängig überprüfbare Teilaspekte des Systems (Functional Specifications / FS).
Auf dieser Grundlage wird eine Spezifikation über die benötigten Hardwareanforderungen des Systems aufgestellt. Auch Netzwerkverbindungen und ggf. benötigte Firewall-Regeln werden definiert.
Software-Architektur
In der Architekturphase entwerfen die Software-Entwickler zusammen mit den Software-Architekten ein Konzept, in welche Module die Software gegliedert werden soll, welche Programmiersprache am geeignetsten ist und wie Schnittstellen umgesetzt werden und entwerfen ein Bedienkonzept für den eigentlichen End-User.
Software-Entwurf
In dieser Phase findet die eigentliche Umsetzung der Software statt. Bei zugekaufter Software wird diese jetzt in einer Evaluierungsumgebung installiert, um für die nachfolgenden Phasen der Tests bereit zu stehen.
Unit-Tests
In den Unit-Tests wird die Software „low-level“ auf Ihre Funktion überprüft. Sind die Module und Schnittstellen, die in der Software-Architektur definiert wurden, korrekt umgesetzt?
Integrationstests
Ist der vorige Punkt fehlerfrei verlaufen, wird in den Integrationstests überprüft, ob das System alle Anforderungen, die im System-Entwurf definiert wurden, erfüllt.
System-Integration
Verlief bislang alles erfolgreich, wird jetzt ein Validierungssystem installiert, um die Software unter echten, aber dennoch vom Produktivbetrieb abgeschotteten Bedingungen testen zu können. Die Anbindung an externe Schnittstellen und Geräte wird hierbei ebenfalls getestet.
Abnahme
Wenn in der Validierungsphase keine Probleme erkannt wurden, ist es nun Zeit, in den Produktivbetrieb zu gehen. Hierfür kann entweder ein neues System aufgebaut werden oder die Validierungsumgebung wird zum Produktivsystem.
In letzterem Fall muss ein neues Validierungssystem erstellt werden, um zukünftige Aktualisierungen der Software testen zu können, bevor diese in den Produktivbetrieb gehen.