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