Followers

Wednesday 29 April 2020

V Model : Lecture 5


Department : MCA
Semester     : IV
Subject        : Principles of Software Engineering                                             
Paper           : 21
Faculty        : Avinash Kumar



Syllabus covered in  this blog:

V Model




V Model

The software development life cycle has various models which follow a different approach to culminate a prototype to a successful product. In the previous chapter, we have learned about the Waterfall model - the V-model is an extension of the waterfall model. Usually, this model is pronounced as Vee model. This model is quite different from the Waterfall model because, in every phase of it, there is a related testing stage associated. In this chapter, you will learn about the V-Model and its approach to software development.
The V-model of SDLC carries out its execution in a sequential manner. The structure it follows takes the shape of the letter V. This model is also popularly termed as a Verification and Validation model. Here, each phase has to be finished before beginning the next phase. A sequential design progression is followed like that of the waterfall model.











Design of Model
In parallel to the software development phase, a corresponding series of test phase also runs in this model. Each stage comprises a specific type of testing done, and once that testing is passed, only then the next phase starts.

  • Verification: In the concept of verification in the V-Model, static analysis technique is carried out without executing the code. This evaluation procedure is carried out at the time of development to check whether specific requirements will meet or not.
  • Validation: This concept of V-Model comprises of dynamic analysis practice (both functional as well as non-functional), and testing is done by code execution. The validation of a product is done once the development is complete for determining if the software meets up the customer hope needs.

So both verification and validation are combined and work in parallel to make the 
V-Model fully functional. 

Design Phase
  • Requirement Analysis: In this stage of SDLC, a detailed conversation with the customer is made to understand their requirements as well as anticipation. Requirement gathering is another name of this phase.
  • System Design or High-level Design: In this phase of SDLC, the system is designed with the entire hardware & the setup is constructed for product development.
  • Architectural Design: The breakdown of system design to a more detailed version, i.e., into modules which creates different functionalities. Transferring of data and connection between internal and external modules (i.e., the outside world) is evidently identified.
  • Low-level design or Module Design: This particular phase breaks down the entire product development into tiny modules where each intended module is specified. So it is also termed as Low-Level Design (LLD).




Testing Phase
  • Unit Testing: During the development of module design, unit testing is carried out. This plan is executed for eliminating bugs that are found in code at the development of your software. 
  • Integration Testing: Once the unit testing is done, the integration testing is carried out where the integration of modules in the system is hardened. This testing is done in the architecture design phase. 
  • System Testing: This ultimate test is done when the entire product is completed in conjunction with the functionality, internal dependency requirement and merging of different modules into a single unit. 
  • User Acceptance Testing: This type of testing is carried out in front of the user or in a user environment where the product will ultimately set up. The UAT particularly test whether the product is capable enough to launch in the market or ready to work in the real world.



Principles of V-Model:

  • Large to Small: In V-Model, testing is done in a hierarchical perspective, For example, requirements identified by the project team, create High-Level Design, and Detailed Design phases of the project. As each of these phases is completed the requirements, they are defining become more and more refined and detailed.
  • Data/Process Integrity: This principle states that the successful design of any project requires the incorporation and cohesion of both data and processes. Process elements must be identified at each and every requirements.
  • Scalability: This principle states that the V-Model concept has the flexibility to accommodate any IT project irrespective of its size, complexity or duration.
  • Cross Referencing: Direct correlation between requirements and corresponding testing activity is known as cross-referencing.
  • Tangible Documentation: This principle states that every project needs to create a document. This documentation is required and applied by both the project development team and the support team. Documentation is used to maintaining the application once it is available in a production environment.


Advantages:
  • This is a highly disciplined model and Phases are completed one at a time.
  • 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:
  • High risk and uncertainty.
  • It is not a good for complex and object-oriented projects.
  • It is not suitable for projects where requirements are not clear and contains high risk of changing.
  • This model does not support iteration of phases.
  • It does not easily handle concurrent events.


No comments:

Post a Comment