Monday, January 25, 2021

V-Model in Software Engineering


V-model is also called the verification and validation (V&V) model. It is an SDLC model where the process is executed in a V shape. V-model is useful for each phase of the software development life cycle. V-model is an extension of the waterfall model. And it determines that each development phase is connected to the testing phase.
This means that there is a testing phase for each phase of software development. It is a very disciplined model in which the next phase starts only until the previous phase is completed.

In the diagram, the left side has verification phases and the right side has validation phases.
This whole picture looks like V so it is called V-model.

Phases of V-model

V-model verification phases

1) Requirements Analysis 

This is the first phase of the development cycle, in which the requirements of the product are analyzed according to the needs of the customer. In this phase, the needs related to the product are collected well from the customer.

This is a very important phase because this phase determines the upcoming phases.
In this phase, acceptance tests are designed for later use.

2) System Design
When we have the requirements of the product, then we prepare a complete design of the system. In this, a complete description of the hardware and all the technical components required to make the product is made.

3) Architectural design 

Architectural specifications are designed in this phase.
It contains a specification of how the software will link internally and externally with all components. Therefore, this phase is also called high-level design (HLD).

4) Module Design

In this phase, the internal design of all modules of the system is specified. Therefore it is called low-level design (LLD).

It is very important that all modules are designed according to the system architecture.

Unit tests are also designed in the module design phase.

5) Coding Phase

In the coding phase, the design and specification of the previous phases are coded. This phase takes the most time.

The appropriate programming language is chosen for coding and they are reviewed repeatedly while writing the code.

validation phases: -

1) Unit Testing

In the unit testing phase, the unit tests created during the module design phase are executed. Unit testing is testing of code level, it verifies only technical design. Therefore it is unable to test all the defects.

2) Integration Testing 

In integration testing, integration tests made in the architectural design phase are executed.
Integration testing ensures that all modules are working well together.

3) System Testing

In system testing, system tests created in the system design phase are executed. system tests checks the complete functionality of the system.
In this, more attention is given to performance testing and regression testing.

4) Acceptance Testing

In acceptance testing, acceptance tests made in the requirement analysis phase are executed.

This testing ensures that the system is compatible with other systems. And in this non-functional issues like: - load time, performance, etc. are tested in the user environment.

Advantage of v-model:

Following are the benefits of v-model: -

1: - This is a very disciplined model in which only one phase is completed at a time.
2: - It is a very simple model, it can be easily understood and used.
3: - Due to the stifness (hardness) of this model, it can be easily managed.
4: - In this planning and designing tests are done before coding, which saves time.
5: - Defects are known only in the early stages.
6: - It is very good for small projects where the requirements can be understood well.
7: - In this, resources can be utilized well.

Disadvantage of v-model : 

Following are the disadvantages of v-model.

1: - There is too much risk and uncertainty in this.
2: - This model is not suitable for large, difficult, and object-oriented projects.
3: - This is not a flexible model.
4: - If you make any changes in between, then the test documents also have to change.

No comments:

Post a Comment