V-Model SDLC: Verification and Validation in Software Development

Understanding the V-Model in SDLC

The V-model is a type of SDLC (Software Development Life Cycle) model where the process executes in a sequential manner, forming a V-shape. It is also known as the Verification and Validation model. This model is based on the association of a testing phase for each corresponding development stage. Each development step is directly associated with a testing phase. The next phase starts only after the completion of the previous phase; for each development activity, there is a corresponding testing activity.

Design Phase

Requirement Analysis

This phase involves detailed communication with the customer to understand their requirements and expectations. This stage is known as Requirement Gathering.

System Design

This phase includes the system design and the complete hardware and communication setup for developing the product.

Architectural Design

System design is further broken down into modules, each handling different functionalities. The data transfer and communication between the internal modules and with other systems are clearly defined.

Module Design

In this phase, the system is broken down into small modules.

Testing Phases

Unit Testing

Unit Test Plans are developed during the module design phase. These Unit Test Plans are executed to eliminate bugs at the code or unit level.

Integration Testing

After the completion of unit testing, integration testing is performed. In integration testing, the modules are integrated, and the system is tested. Integration testing is performed based on the Architectural design phase. This test verifies the communication of modules among themselves.

System Testing

System testing tests the complete application, including its functionality, inter-dependencies, and communication. It tests the functional and non-functional requirements of the developed application.

User Acceptance Testing (UAT)

UAT is performed in a user environment that resembles the production environment. UAT verifies that the delivered system meets the user’s requirements and that the system is ready for use in the real world.

When to Use the V-Model?

  • When requirements are clearly defined and fixed.
  • When ample technical resources with technical expertise are available.

Advantages of the V-Model

  • This is a highly disciplined model, and phases are completed one at a time.
  • The V-Model is used for small projects where project requirements are clear.
  • Simple and easy to understand and use.
  • This model focuses on verification and validation activities early in the life cycle, thereby enhancing the probability of building an error-free and good-quality product.
  • It enables project management to track progress accurately.

Disadvantages of the V-Model

  • High risk and uncertainty.
  • It is not suitable for complex and object-oriented projects.
  • It is not suitable for projects where requirements are not clear and contain a high risk of changing.
  • This model does not support iteration of phases.
  • It does not easily handle concurrent events.

Incremental Model

First, a simple working system implementing only a few basic features is built and then delivered to the customer. Then, many successive iterations/versions are implemented and delivered to the customer until the desired system is realized.

When to Use the Incremental Model

  • Funding Schedule
  • Risk
  • Program Complexity
  • Need for early realization of benefits
  • When Requirements are known up-front
  • Projects having lengthy development schedules
  • Projects with new Technology

Advantages of the Incremental Model

  • Error Reduction (core modules are used by the customer from the beginning of the phase and then these are tested thoroughly)
  • Uses divide and conquer for breakdown of tasks
  • Lowers initial delivery cost
  • Incremental Resource Deployment

Disadvantages of the Incremental Model

  • Requires good planning and design
  • Total cost is not lower
  • Well-defined module interfaces are required