V-Model is also called as verification model and validation model. In this process, each phase of SDLC starts. It has sequential design process same as waterfall model.
What is Verification?
Verification consists of a static analysis method done without running the code. It is a product development code process to find whether specified requirements meet.
What is Validation?
Validation involves a dynamic analysis method which is functional and non-functional, testing is done to process to divide the software after the completion of the development process to determine whether the software meets the requirements and customer expectations.
V-model contains verification phases on one side of the validation phases on the other side. Here the verification and validation both processes are joined by the coding phase in v-shape. Thus it is called as V-Model.
There are different phases of verification in the V-model:
- Business requirement analysis: This is the first step where product requirements are gathered from the customer’s side. This phase contains detailed communication to know customer expectations and exact requirements.
- System Design: In this stage, system engineers analyse and explain the business of the proposed system by studying the user requirements document.
- Architecture Design: The baseline in choosing the architecture is that it should consist a list of modules, brief functionality of each module, their interface relationships, dependencies, database tables, architecture diagrams and technology detail. The integration testing model is carried out in a particular phase.
- Module Design: In the module design phase, the system breaks down into small modules. The detailed design of the modules is specified which is understood as Low-level design.
- Coding step– Once the design phase is completed the coding phase starts Depending on the requirements, a suitable programming language is decided. We have some guidelines and standards for coding. Before we check in the repository, the final build is optimised for better performance, and the code goes through many code reviews to check the performance.
When we use V-Model?
- When the requirement is well defined and unambiguous.
- V-shaped model should be used for small to medium-sized projects where requirements are clearly defined and fixed.
- V-shaped model should choose when sample technical resources are available with essential technical expertise.
Advantages:
- It is very easy to understand.
- Testing Methods like planning, test designing happens before coding.
- It saves a lot of time. So a higher chance of success over the waterfall model.
- It avoids the downward flow of the defects.
- Works good for small plans where requirements are easily understood.
Disadvantages:
- It is rigid and least flexible.
- Not suitable for a complex project.
- No early prototypes of the software are produced as software is developed during the implementation stage
- If changes happen in the midway, then the test documents with the required changes have to be updated.
The V model is a simple variant of the traditional waterfall model of software development. By the diagram, we can understand V model builds on the waterfall model by highlighting verification and validation. The V model takes the rock bottom half of the waterfall model and bends it upward into the shape of a V, in order that the activities on the proper verify or validate the work products of the activity on the left. Specifically, the left side of the V represents the analysis activities that split the users needs into small, manageable pieces, while the right side of the V shows the corresponding synthesis activities that aggregate these pieces into a system that meets the user’s needs.