The V-Model

The V-Model

Published by: Nuru

Published date: 16 Jun 2021

The V-Model Photo

The V-Model

V-Model is one of the important software development life cycle models. the V-model represents a development process that may be considered an extension of the waterfall model and is an example of the more general V-model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The different phases of the v-model as are:

 

  • Verification
  • Validation
  • Design Phase
  • Testing Phases

Verification

It involves a static analysis technique (review) done without executing code. It is the process of evaluation of the product development phase to find whether specified requirements meet.

Validation

It involves dynamic analysis techniques (functional, non-functional), testing is done by executing code. Validation is the process to evaluate the software after the completion of the development phase to determine whether the software meets the customer expectations and requirements. So V-Model contains Verification phases on one side of the Validation phases on the other side. Verification and Validation phases are joined by the coding phase in V-shape. Thus it is called V-Model.

Design Phase

  • Requirement Analysis: This phase contains detailed communication with the customer to understand their requirements and expectations. This stage is known as Requirement Gathering.
  • System Design: This phase contains the system design and the complete hardware and communication setup for developing a product.
  • Architectural Design: System design is broken down further into modules taking up different functionalities. The data transfer and communication between the internal modules and with the outside world are clearly understood.
  • Module Design: In this phase, the system breaks down into small modules. The detailed design of modules is specified, also known as Low-Level Design.

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 completion of unit testing Integration testing is performed. In integration testing, the modules are integrated and the system is tested. Integration testing is performed on the Architecture design phase. This test verifies the communication of modules among themselves.
  • System Testing: System testing test the complete application with its functionality, interdependency, 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 requirement and the system is ready for use in the real world.