V Model in SDLC
- V-model is also a part of SDLC MODEL .
- V- model is also called Verification and Validation model .
- This model is the extension of the Waterfall Model.
- The V form of the V model shows the various phases of the verification and validation phases.
- In this model one phase for verification and other for validation and the coding phase joins the both phases verification and Validation .so that makes the V shape so this model is called V-model.
- This process starts from the top left i.e. verification phase towards the top right phases i.e. validation phases and follows a linear improvement like waterfall model.
- This model mainly use for testing phase .
- The next phase of development start after completing first phase.
- In the waterfall model testers involves in the last phase of the model but this model overcomes the drawbacks of the waterfall model. In V model ,testers involves in the early phases of the development process.
Process of V Model:
This model consists two main phases :
1- Verification phase
2- Validation phase
Verification is the process to verify that the software product development phase to determine that specified requirements meet or not ? In this phase, there is no need to execute the code for testing.
Validation is the process to verify that the software product fulfills the customer requirements and expectations or not. In this phase, there is need of execution of the code.
# Phases of Verification Stage:
- Requirement Analysis : In this phase, developers collects information from customers about the software.
- System Design : When the requirements are defined clearly then implement and design the complete hardware and communication setup for developing product and choose the programming language and databases.
- System Architecture : Architectural specifications are designed in this phase. The system design is splits further into modules taking up different working. This is also called High Level Design (HLD). In this stage, communication and transformation of data between the internal modules and the outer world is clearly specified.
- Module Design : In this phase the system breaks down into small modules. The detailed design of modules is specified, it is also called the Low-Level Design (LLD).
- Implementation/ Coding Phase : This is the last phase of the V-Shape model. Module design is transformed into the code. The coding is done based on the coding principles and standards in a particular selected programming language.
#phases of Validation Stage :
- Unit Testing : Unit testing is a type of white box testing .These Unit Test Plans are executed to remove bugs at code level. Unit Test Plans are created during the module design phase.
- Integration Phase : In the integration testing, the integration test cases are executed which were developed in the High level design phase. Integration testing is a testing process in which unit tested modules are integrated and evaluated. It verifies that the modules work together as expected or not .
- System Testing : System testing is done corresponds with the system design phase. It tests the functional and non-functional requirements and evaluate the whole system functionality and the communication of the system with external systems.
- Acceptance Testing : This testing is done to check that the delivered system meets user’s requirement or not? Nonfunctional testing such as Load, Stress etc. are also done in this phase.
Advantages of V Model :-
1- It works very well for small project according to their requirement .
2- This model is very simple, easy and useful.
3- This is a high quality model and all the phases are completed at once.
4- This model is use to track the process of project management .
5- This model saves a lot of time and efforts.
6- Testing is starting at the initial phase so there is no issue of bugs.
7- Client’s requirements are not clearly specified.
Disadvantages of V Model :-
1- This model can not be use for large project.
2- This model is not good if customer’s requirements are not clear.
3- There are lots of risk.
4- This model is not easy for complex projects .
5- Client have no prototype and involvement during the software development.
6- This model contains less flexibility.
7- It is hard to go back and alter the working of the system if new requirements are met.