SDLC - V-Modell
Das V-Modell ist ein SDLC-Modell, bei dem die Ausführung von Prozessen in V-Form sequentiell erfolgt. Es ist auch bekannt alsVerification and Validation model.
Das V-Modell ist eine Erweiterung des Wasserfallmodells und basiert auf der Zuordnung einer Testphase für jede entsprechende Entwicklungsstufe. Dies bedeutet, dass für jede einzelne Phase im Entwicklungszyklus eine direkt zugeordnete Testphase vorhanden ist. Dies ist ein hochdiszipliniertes Modell und die nächste Phase beginnt erst nach Abschluss der vorherigen Phase.
V-Modell - Design
Im Rahmen des V-Modells ist parallel die entsprechende Testphase der Entwicklungsphase geplant. Es gibt also Verifizierungsphasen auf der einen Seite der 'V'- und Validierungsphasen auf der anderen Seite. Die Codierungsphase verbindet die beiden Seiten des V-Modells.
Die folgende Abbildung zeigt die verschiedenen Phasen in einem V-Modell des SDLC.
V-Modell - Verifizierungsphasen
Das V-Modell enthält mehrere Überprüfungsphasen, von denen jede im Folgenden ausführlich erläutert wird.
Analyse der Geschäftsanforderungen
Dies ist die erste Phase im Entwicklungszyklus, in der die Produktanforderungen aus Kundensicht verstanden werden. Diese Phase beinhaltet eine detaillierte Kommunikation mit dem Kunden, um seine Erwartungen und genauen Anforderungen zu verstehen. Dies ist eine sehr wichtige Aktivität und muss gut verwaltet werden, da die meisten Kunden nicht sicher sind, was genau sie benötigen. Dasacceptance test design planning wird in dieser Phase durchgeführt, da Geschäftsanforderungen als Eingabe für Abnahmetests verwendet werden können.
System-Design
Sobald Sie die klaren und detaillierten Produktanforderungen haben, ist es Zeit, das gesamte System zu entwerfen. Das Systemdesign vermittelt das Verständnis und die Detaillierung des gesamten Hardware- und Kommunikations-Setups für das in der Entwicklung befindliche Produkt. Der Systemtestplan wird basierend auf dem Systemdesign entwickelt. Wenn Sie dies zu einem früheren Zeitpunkt tun, bleibt später mehr Zeit für die eigentliche Testausführung.
Architekturdesign
In dieser Phase werden architektonische Spezifikationen verstanden und entworfen. In der Regel wird mehr als ein technischer Ansatz vorgeschlagen, und auf der Grundlage der technischen und finanziellen Durchführbarkeit wird die endgültige Entscheidung getroffen. Das Systemdesign ist weiter in Module unterteilt, die unterschiedliche Funktionen annehmen. Dies wird auch als bezeichnetHigh Level Design (HLD).
Die Datenübertragung und Kommunikation zwischen den internen Modulen und mit der Außenwelt (anderen Systemen) wird in dieser Phase klar verstanden und definiert. Mit diesen Informationen können in dieser Phase Integrationstests entworfen und dokumentiert werden.
Moduldesign
In dieser Phase wird das detaillierte interne Design für alle Systemmodule festgelegt, das als bezeichnet wird Low Level Design (LLD). Es ist wichtig, dass das Design mit den anderen Modulen in der Systemarchitektur und den anderen externen Systemen kompatibel ist. Die Unit-Tests sind ein wesentlicher Bestandteil jedes Entwicklungsprozesses und tragen dazu bei, die maximalen Fehler und Irrtümer frühzeitig zu beseitigen. Diese Komponententests können zu diesem Zeitpunkt basierend auf den internen Moduldesigns entworfen werden.
Codierungsphase
Die eigentliche Codierung der in der Entwurfsphase entworfenen Systemmodule wird in der Codierungsphase übernommen. Die am besten geeignete Programmiersprache wird basierend auf den System- und Architekturanforderungen festgelegt.
Die Codierung erfolgt basierend auf den Codierungsrichtlinien und -standards. Der Code durchläuft zahlreiche Codeüberprüfungen und wird für die beste Leistung optimiert, bevor der endgültige Build in das Repository eingecheckt wird.
Validierungsphasen
Die verschiedenen Validierungsphasen in einem V-Modell werden nachstehend ausführlich erläutert.
Unit Testing
In der Modulentwurfsphase entworfene Komponententests werden während dieser Validierungsphase für den Code ausgeführt. Unit-Tests sind Tests auf Code-Ebene und helfen, Fehler frühzeitig zu beseitigen, obwohl nicht alle Fehler durch Unit-Tests aufgedeckt werden können.
Integrationstests
Integrationstests sind mit der Phase des Architekturentwurfs verbunden. Integrationstests werden durchgeführt, um die Koexistenz und Kommunikation der internen Module innerhalb des Systems zu testen.
Systemtests
Systemtests sind direkt mit der Systementwurfsphase verbunden. Systemtests überprüfen die gesamte Systemfunktionalität und die Kommunikation des in Entwicklung befindlichen Systems mit externen Systemen. Die meisten Probleme mit der Software- und Hardwarekompatibilität können während dieser Systemtestausführung aufgedeckt werden.
Abnahmetests
Akzeptanztests sind mit der Phase der Analyse von Geschäftsanforderungen verbunden und umfassen das Testen des Produkts in einer Benutzerumgebung. Akzeptanztests decken die Kompatibilitätsprobleme mit den anderen in der Benutzerumgebung verfügbaren Systemen auf. Außerdem werden nicht funktionierende Probleme wie Last- und Leistungsmängel in der tatsächlichen Benutzerumgebung erkannt.
V-Modell ─ Anwendung
Die Anwendung des V-Modells entspricht fast der des Wasserfallmodells, da beide Modelle vom sequentiellen Typ sind. Die Anforderungen müssen vor Projektbeginn sehr klar sein, da es normalerweise teuer ist, zurück zu gehen und Änderungen vorzunehmen. Dieses Modell wird im Bereich der medizinischen Entwicklung verwendet, da es streng diszipliniert ist.
Die folgenden Hinweise sind einige der am besten geeigneten Szenarien für die Verwendung der V-Model-Anwendung.
Die Anforderungen sind klar definiert, klar dokumentiert und festgelegt.
Die Produktdefinition ist stabil.
Technologie ist nicht dynamisch und wird vom Projektteam gut verstanden.
Es gibt keine mehrdeutigen oder undefinierten Anforderungen.
Das Projekt ist kurz.
V-Modell - Vor- und Nachteile
Der Vorteil der V-Modell-Methode besteht darin, dass sie sehr einfach zu verstehen und anzuwenden ist. Die Einfachheit dieses Modells erleichtert auch die Verwaltung. Der Nachteil ist, dass das Modell nicht flexibel auf Änderungen reagiert und nur für den Fall, dass es zu einer Anforderungsänderung kommt, die in der heutigen dynamischen Welt sehr häufig ist, die Änderung sehr teuer wird.
Die Vorteile der V-Modell-Methode sind folgende:
Dies ist ein hochdiszipliniertes Modell, und die Phasen werden einzeln abgeschlossen.
Funktioniert gut für kleinere Projekte, bei denen die Anforderungen sehr gut verstanden werden.
Einfach und leicht zu verstehen und zu verwenden.
Aufgrund der Steifigkeit des Modells einfach zu handhaben. Jede Phase hat spezifische Ergebnisse und einen Überprüfungsprozess.
Die Nachteile der V-Modell-Methode sind wie folgt:
Hohes Risiko und Unsicherheit.
Kein gutes Modell für komplexe und objektorientierte Projekte.
Schlechtes Modell für lange und laufende Projekte.
Nicht geeignet für Projekte, bei denen die Anforderungen einem mittleren bis hohen Änderungsrisiko unterliegen.
Sobald sich eine Anwendung in der Testphase befindet, ist es schwierig, eine Funktionalität zu ändern.
Bis spät im Lebenszyklus wird keine funktionierende Software erstellt.