Arunkumar Khannur's Software Testing Knowledge Center
Also Read: Incremental Model | Prototyping | Spiral Model | Iterative Models | RAD Model

3.5. Software Development Life Cycle Models

A Software Development Life Cycle (SDLC) is a representation of the major phases of software development work and their interrelationships in order to produce defined intermediate work products and final product. SDLC allows to model the software development so that it can be easily understood and communicated.

Basic Models used in software development cann be classified as:
  • System Development Life Cycle (SDLC) Model
    • Sequential or Traditional Models (Waterfall Model, V Model)
    • Incremental Model
    • Concurrent Model (Spiral Model )
    • Iterative Models (Iterative Model, Agile Model)
  • Prototyping Model
  • Rapid Application Development RAD) Model
  • Component Assembly Model (Component Based Software Development -CBSD)

3.5.1. Waterfall Model
This is the traditional life cycle model, also referred to as a linear-sequential life cycle model. It is very simple to understand and use. All phases are distinct, clear and highly strcutred with no overlap among phases.Waterfall model, as shown in , follows a step-by-step process moving from one phase to next. In this model, once a phase is complete, it is not allowed to return to that phase or to any previous phase. Thus, each phase must be completed in its entirety before the next phase can begin. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or discard the project. In waterfall model, analysis and coding receives more importnace. Testing is done after coding.

In waterfall model, requirements shall be known up front before design and these requirements rarely change. Also, users shall know what they want. Also, waterfall assumes that the technology will all fit nicely into place when the time comes. When all these are in place, Waterfall model works very well when there are no risks related to technology, requireemnts and its changes etc. Hence, waterfall model is referred to as zero-risk driven life cycle model.

Waterfall models has following advantages :
  • Simple and easy to use.
  • Easy to manage due to the rigidity of the model where each phase has specific deliverables and a review process.
  • Phases are processed and completed one at a time
  • Works well for smaller projects where requirements are very well understood.

Waterfall models has following disadvantages :
  • Real projects rarely follow a sequential flow
  • Stating all requirements at the beginning of a project is difficult
  • Changes to scope during the life cycle is not permissible
  • High amounts of risk and uncertainty about project completion

3.5.2. V Model
V Model is an improvement over waterfall model. As in waterfall model, the V model is also a sequential and each phase must be completed before the next phase begins. However, unlike V model testing procedures start early in the life cycle before any coding is done.

As shown in (Fig. x.x ), different types of testing are planned using work products of different phases as the basis. As can be seen, using requirements specification as the basis system test plan is arrived at; system architecture and design that emerge out of the high-level design phase are used to define an integration test plan; design of actual programs and components that are provided by the low-level design phase are used as the basis for unit test plan. Using design of actual programs and components, coding is carried out. Once coding is complete, the path of execution continues up the right side of the V where the test plans developed earlier are implemented and corresponding tests are carried out in a sequential manner starting from unit testing and the integration testing followed by system testing.

V Model has advantages that include:
  • Simple and easy to use.
  • Each phase has well defined deliverables
  • Rework time is lesser compared to waterfall model due test plans that are arrived at early in the life cycle.
  • Very effective for small projects with good and understandable requirements.

Some disadvanges of V model are:
  • Very rigid, like the waterfall model.
  • Little flexibility and adjusting scope is difficult and expensive.
  • Software is developed during the implementation phase, so no early prototypes of the software are produced.
  • Model doesn’t provide a clear path for problems found during testing phases
Also Read: Incremental Model | Prototyping | Spiral Model | Iterative Models | RAD Model
Khannur's Book
Arunkumar Khannur, Software Testing - Techniques and Applications, Published by Pearson Publications, 2011 (ISBN:978-81-317-5836-6; Pages:341 + xxii)
Follow Khannur
Khannur's Company
ISQT Process & Consulting Services Pvt. Ltd., Bangalore, INDIA
Khannur's Software Testing Forum
 Contact Khannur
ISQT Process & Consulting Services Pvt. Ltd.
#732, 1st Floor, 12th Main,
3rd Block, Rajajinagar,
Bangalore - 560010, INDIA
Phone: +91 80 23012511
Skype: arun.isqt