Saturday, 13 April 2013

V-Model in SDLC (Software Development Lifecycle)

V-Model in SDLC (Software Development Lifecycle)

The V-model represents a software development process (also applicable to hardware development) which may be considered an extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing. The horizontal and vertical axes represents time or project completeness (left-to-right) and level of abstraction (coarsest-grain abstraction uppermost), respectively.

v-model-sdlc
Click on the image for Zoom view

Overview : 

The V-model is a graphical representation of the systems development lifecycle. It summarizes the main steps to be taken in conjunction with the corresponding deliverables within computerized system validation framework.

The V represents the sequence of steps in a project life cycle development. It describes the activities to be performed and the results that have to be produced during product development. The left side of the "V" represents the decomposition of requirements, and creation of system specifications. The right side of the V represents integration of parts and their validation.

It is sometimes said that validation can be expressed by the query "Are you building the right thing?" and verification by "Are you building it right?"

In practice, the usage of these terms varies. Sometimes they are even used interchangeably.

The PMBOK guide, an IEEE standard, defines them as follows in its 4th edition:
"Validation. The assurance that a product, service, or system meets the needs of the customer and other identified stakeholders. It often involves acceptance and suitability with external customers. Contrast with verification."
"Verification. The evaluation of whether or not a product, service, or system complies with a regulation, requirement, specification, or imposed condition. It is often an internal process. Contrast with validation."


Objectives

The V-Model provides guidance for the planning and realization of projects. The following objectives are intended to be achieved by a project execution:

Minimization of Project Risks: The V-Model improves project transparency and project control by specifying standardized approaches and describing the corresponding results and responsible roles. It permits an early recognition of planning deviations and risks and improves process management, thus reducing the project risk.

Improvement and Guarantee of Quality: As a standardized process model, the V-Model ensures that the results to be provided are complete and have the desired quality. Defined interim results can be checked at an early stage. Uniform product contents will improve readability, understandability and verifiability.

Reduction of Total Cost over the Entire Project and System Life Cycle: The effort for the development, production, operation and maintenance of a system can be calculated, estimated and controlled in a transparent manner by applying a standardized process model. The results obtained are uniform and easily retraced. This reduces the acquirers dependency on the supplier and the effort for subsequent activities and projects.

Improvement of Communication between all Stakeholders: The standardized and uniform description of all relevant elements and terms is the basis for the mutual understanding between all stakeholders. Thus, the frictional loss between user, acquirer, supplier and developer is reduced.

v-model-sdlc



Verification phases

Requirements analysis

In the Requirements analysis phase, the first step in the verification process, the requirements of the proposed system are collected by analyzing the needs of the user(s). This phase is concerned with establishing what the ideal system has to perform. However it does not determine how the software will be designed or built. Usually, the users are interviewed and a document called the user requirements document is generated.
The user requirements document will typically describe the system’s functional, interface, performance, data, security, etc. requirements as expected by the user. It is used by business analysts to communicate their understanding of the system to the users. The users carefully review this document as this document would serve as the guideline for the system designers in the system design phase. The user acceptance tests are designed in this phase. See also Functional requirements.
There are different methods for gathering requirements of both soft and hard methodologies including; interviews, questionnaires, document analysis, observation, throw-away prototypes, use cases and static and dynamic views with users.

System design

Systems design is the phase where system engineers analyze and understand the business of the proposed system by studying the user requirements document. They figure out possibilities and techniques by which the user requirements can be implemented. If any of the requirements are not feasible, the user is informed of the issue. A resolution is found and the user requirement document is edited accordingly.

The software specification document which serves as a blueprint for the development phase is generated. This document contains the general system organization, menu structures, data structures etc. It may also hold example business scenarios, sample windows, reports for the better understanding. Other technical documentation like entity diagrams, data dictionary will also be produced in this phase. The documents for system testing are prepared in this phase.

Architecture design

The phase of the design of computer architecture and software architecture can also be referred to as high-level design. The baseline in selecting the architecture is that it should realize all which typically consists of the list of modules, brief functionality of each module, their interface relationships, dependencies, database tables, architecture diagrams, technology details etc. The integration testing design is carried out in the particular phase.

Module design

The module design phase can also be referred to as low-level design. The designed system is broken up into smaller units or modules and each of them is explained so that the programmer can start coding directly. The low level  esign document or program specifications will contain a detailed functional logic of the module, in pseudocode: 

  • database tables, with all elements, including their type and size
  • all interface details with complete API references
  • all dependency issues
  • error message listings
  • complete input and outputs for a module.
The unit test design is developed in this stage.


Validation phases

Unit testing

In computer programming, unit testing is a method by which individual units of source code are tested to determine if they are fit for use. A unit is the smallest testable part of an application. In procedural programming a unit may be an individual function or procedure. Unit tests are created by programmers or occasionally by white box testers. The purpose is to verify the internal logic code by testing every possible branch within the function, also known as test coverage. Static analysis tools are used to facilitate in this process, where variations of input data are passed to the function to test every possible case of execution.
unit-testing

Integration testing

In integration testing the separate modules will be tested together to expose faults in the interfaces and in the interaction between integrated components. Testing is usually black box as the code is not directly checked for errors.
integration-testing

System testing

System testing will compare the system specifications against the actual system. After the integration test is completed, the next test level is the system test. System testing checks if the integrated product meets the specified requirements. Why is this still necessary after the component and integration tests? The reasons for this are as follows:
system-testing

Reasons for system test
In the lower test levels, the testing was done against technical specifications, i.e., from the technical perspective of the software producer. The system test, though, looks at the system from the perspective of the customer and the future user. The testers validate whether the requirements are completely and appropriately met.
Example: The customer (who has ordered and paid for the system) and the user (who uses the system) can be different groups of people or organizations with their own specific interests and requirements of the system.

Many functions and system characteristics result from the interaction of all system components, consequently, they are only visible on the level of the entire system and can only be observed and tested there.

User acceptance testing

Acceptance testing is the phase of testing used to determine whether a system satisfies the requirements specified in the requirements analysis phase. The acceptance test design is derived from the requirements document. The acceptance test phase is the phase used by the customer to determine whether to accept the system or not.

user-acceptance-testing


Acceptance testing helps
  • to determine whether a system satisfies its acceptance criteria or not.
  • to enable the customer to determine whether to accept the system or not.
  • to test the software in the "real world" by the intended audience.
  • Purpose of acceptance testing:
  • to verify the system or changes according to the original needs.

Procedures

  • Define the acceptance criteria:
  • Functionality requirements.
  • Performance requirements.
  • Interface quality requirements.
  • Overall software quality requirements.
  • Develop an acceptance plan:
  • Project description.
  • User responsibilities.
  • Acceptance description.

Release testing

Release testing is a phase that determines if the software is suitable for the organisation of the end-user.[4] How is compatibility with other systems ensured? Is the performance of the software optimized?


Advantages of V-model (SDLC)

These are the advantages V-Model offers in front of other systems development models:

  • The users of the V-Model participate in the development and maintenance of The V-Model. A change control board publicly maintains the V-Model. The change control board meets anywhere from every day to weekly and processes all change requests received during system development and test.
  • The V-Model provides concrete assistance on how to implement an activity and its work steps, defining explicitly the events needed to complete a work step: each activity schema contains instructions, recommendations and detailed explanations of the activity.

Limitations or Dis-advantages of V-model (SDLC)

The following aspects are not covered by the V-Model, they must be regulated in addition, or the V-Model must be adapted accordingly:

  • The placing of contracts for services is not regulated.
  • The organization and execution of operation, maintenance, repair and disposal of the system are not covered by the V-Model. However, planning and preparation of a concept for these tasks are regulated in the V-Model.
  • The V-Model addresses software development within a project rather than a whole organization.
Check about Waterfall model

44 comments:

  1. Awesome!!! Really so simple and highly useful...

    ReplyDelete
  2. Thanks selvam. Just want each testing people to enjoy the post. Hence shared it.

    ReplyDelete
  3. Hello friends, nice post and nice urging commented at this place, I am in fact enjoying by these.
    Thanks a lot, this post helps a lot making some high-level architectural decision. Thanks for the information.
    software testing services
    software testing companies
    Regression testing services
    Performance testing Services
    Test automation services

    ReplyDelete
  4. Thank you so much. Your blog is very helpful. Could you please post any material on qa testing services too?

    ReplyDelete
  5. Appreciate Yoast for all of the technical functionality but overall, the paid version includes so much I really do not have a need for. https://seo.app/uWnq4gBhZ Most tools just don’t give insight into how relevant your content is to your audience. And, most content marketing tools are mostly tons of unnecessary functionality. Would be helpful to see a review of it from your perspective. The clean design really makes sure I'm not distracted, I’ve noticed a jump in my productivity. INK for All also gives notes on how to optimize your content for search results so you don’t have to use multiple tools.

    ReplyDelete
  6. I really enjoy the blog.Much thanks again. Really Great.software testing course in chennai

    ReplyDelete
  7. Great Article… I love to read your QA services articles because your writing style is too good, its is very helpful for all of us and I never get bored while reading your article because, they are becomes a more and more interesting from the starting lines until the end.

    ReplyDelete

  8. Thanks for sharing this informative content , Great work
    To crack scrum master interview : Agile coach interview questions

    ReplyDelete
  9. This excellent website truly has all of the info I wanted concerning this subject and I hope you Will Share more information about Time Tracking Software!! Please Keep Sharing

    Visit: Time Tracking Software

    ReplyDelete
  10. Thank You for sharing this information.
    Webixy is a best app development company in Kanpur, Delhi, India. Webixy has experience in Native Apps development and CMS Website development. We are best Mobile App development company. You can read our blog which is very good.

    ReplyDelete
  11. Thank you for sharing this information.


    Mediwapp is the best Online Medical Store and a leading Online Medicine store which sells different and most trusted products like Medicines, OTC-Products and other Medicine and Surgery Devices accross India.

    ReplyDelete
  12. Thanks for sharing this information.

    Apptians is the Best Staffing Company in Delhi and top Resource Augmentation company in Delhi NCR, Noida, Faridabad, Gurgaon, India. Dedicated React JS Developers and React Native developers can be hired from Apptians.

    ReplyDelete
  13. Thanks for sharing this information.
    Yes Done is the best online on demand service provider in Jaipur. Get to know more about Yes Done. Contact us for getting more services at your doorstep in Jaipur.

    ReplyDelete
  14. Thanks for sharing this information.
    Pheeta is the best online shopping sites for Salwar suits for women and woman Kurti online in Jaipur, Rajasthan. Visit us at our website for more fancy and attractive dresses and Kurtas.

    ReplyDelete
  15. Thank you for sharing our information.

    Jewellery By Mitali Jain is the best website to buy artificial jewellery online and Jain Jewellery in Jaipur. They sell fancy and attractive products like Earrings, Rings, Necklaces, Headgears, Bracelets, Mask and Glass Chains, Bookmark Jewellery, Gift Cards and many more items like this.

    ReplyDelete
  16. Thank you for sharing our information.

    Kuxtal Market es el mejor Supermercado sustentable en Mérida, México que ofrece entrega a domicilio de productos como nuevos productos, carnes y lacteos, comida vegana, cuidado personal, cerveza artesanal, despensay, frutas y verduras y muchos más artículos.

    ReplyDelete

  17. Thank for sharing the website design and software development process.great post. Thanks for sharing.
    Web development
    Mobile App Development

    ReplyDelete
  18. Thank You for sharing this information.
    Global Trade Plaza is the B2B Marketplace in India. We are the India's largest b2b portal with 100% verified and Genuine Leads. Global Trade Plaza is the Top wholesale b2b marketplace and the Best B2B Lead Generation Company . Ask Your Business related Queries to Global Trade Plaza best b2b marketplace platform, b2b online marketplace,

    ReplyDelete
  19. Thank You for sharing this information.
    Webixy is a best app development company in Kanpur, Delhi, India. Webixy has experience in Website development and Mobile App development. We are best Android App development company and best WordPress Development Service . You can read our blog which is very good.

    ReplyDelete
  20. Wao its a great blog.
    Best Jewellery Wholesaler in Jaipur is Ratnavali. It is a best place to buy silver jewelry Jaipur, Jaipuri gold jewellery, gemstone figures in Jaipur, Rajasthan. We have skilled craftsmanship who made best designer collection of jewelry for you.

    ReplyDelete
  21. Wow, what a nice blog. I have read it and really impressed by its writing.
    Meerahini is the best site to buy Jaipur Salwar Suits Online and Hand block Kurta sets. We have straight suit sets, anarkali suit sets, kurta and plazzo sets, and Sharara Sets. We have premium clothing collection of Rang and Utsav.

    ReplyDelete
  22. Thank you for sharing this valuable information.

    Apparrant is the leading UX UI Design agency having experienced designers and developers working throughout the year on important and life changing products. We have been awarded as top UI UX Design agency in India by multiple agencies. If you are looking for best UX Design Agency in Noida, UI UX Design Agency in Faridabad, and UX UI Design Company in Delhi then Apparrant is best for you.

    ReplyDelete
  23. Wow its a great blog.
    Best Jewellery Wholesaler in Jaipur is Ratnavali. It is a best place to buy silver jewellery Jaipur, Jaipuri gold jewellery, gemstone figures in Jaipur, Rajasthan. We have skilled craftsmanship who made best designer collection of jewellery for you.

    ReplyDelete
  24. It's a great blog, shares a piece of good information.

    GIEC Global is the leading education and migration consultants in Australia. We are top Education consultants in Melbourne, Sydney, Perth, Brisbane, Adelaide and Australia. We are best education consultants for Canada in Australia. We also helps people in studying in USA and have been awarded as education consultants for USA in Melbourne and education consultant for UK in Australia.

    ReplyDelete
  25. Awesome blog, shares a good information with everyone. I will bookmark it for future.

    France Education Consultants in Australia is GIEC Global. We are top Education consultants for Norway in Melbourne, Sydney, Perth, Brisbane, Adelaide and Australia. We are best education consultants for Netherlands in Australia. We also helps people in studying in Ireland and have been awarded as education consultants for Ireland in Melbourne and education consultant for Finland in Australia.

    ReplyDelete
  26. Nice Blog, worth reading it. I have also bookmarked it for future.

    If you are looking to Work in Australia , Work in Canada, Work in USA, Work in UK, or Work in Ireland then GIEC Global will be the best consultant for you in Australia.

    ReplyDelete
  27. Good One. Worth reading it once.

    If you are looking to Visit to Australia , Visit to Canada, Visit to USA, or Visit to UK then GIEC Global will be the best consultant for you in Australia.

    ReplyDelete
  28. Thanks for sharing this information.
    Yes Done is the best online site for on demand home services, professional service providers in Jaipur, Rajasthan. We are providing top services like carpenter, cleaning, TV, best pest control services in Jaipur, ro repair service in Jaipur, ac repair service in Jaipur online by Yes Done is there for services at your doorstep in Jaipur, Rajasthan. For more service visit our website. For more services visit our website.

    ReplyDelete
  29. Wow, what a great writing. I liked the way you have explained with that much of details.

    Read about Wi4 Software Solutions including HL7 FHIR Development . We also deal with the data with program design and implementation . Know more about platforms and products offered by Wi4.

    ReplyDelete

Share your feedback and queries here. Your feedback are more valuable to us!