Home » Software Engineering

Comparison of Software lifecycle models | Software Engineering

In this article, we are going to compare all the software lifecycle models based on their features. We will mention each of their pros and cons, and will also define in what scenarios which model should be used.
Submitted by Monika Sharma, on October 08, 2019

Software Lifecycle Models

There are five software lifecycle models that are commonly used while developing any software. These are as follows:

  1. The classical waterfall model
  2. The iterative waterfall model
  3. The prototyping model
  4. The evolutionary model
  5. The spiral model

Now, let us compare each of them based on their features, and list each of their pros and cons. Also, we will list the situations in which the particular model should be used and also the situations where these models must not be used.

Comparisons of various software lifecycle models

The comparison table of these models is as follows:

Software lifecycle Model Features Advantages Disadvantages
Classical waterfall model
  • Has defined phases
  • Follows all phases in the mentioned order
  • The flow of phase execution cannot be broken
  • Iteration is not allowed
  • Simple to use, understand and implement
  • Managed work
  • No scope of risk management
  • New features cannot be added or modified in the software after the development has begun.
  • Error is detected at the end of every phase
Iterative lifecycle model
  • Enhanced classical waterfall model in which Iterations are allowed
  • Most commonly used
  • Risk management is possible
  • Updates and modification can be made in any phase
  • Easy to understand and implement
  • Risks cannot be handled efficiently
  • Developer's idle hours are too high
Prototyping model
  • The prototype of the model is made before the actual software
  • User Interface usually is much more attractive in this model
  • It can be used where the user requirements are not defined.
  • Takes user feedback from time to time
  • User's satisfaction is a priority here
  • Is costly
  • The communication that is required between the customer and the developer is not always possible to get
  • Takes a lot of time to develop
Evolutionary model
  • Software is developed through different modules in an incremental manner
  • This model deals with the different versions of the software
  • Each version is an enhanced version of the previous one
  • Large projects can be developed efficiently through this model
  • Every version is capable of to fully function the mentioned functionalities
  • Is suitable only for large projects
  • Takes time to develop
  • Module integration is difficult
Spiral model
  • The phases are divided in the form of loops
  • Further, the loops are divided into four quadrants
  • Each block of this model contains a set of activities that the software performs
  • Most versatile model
  • Able to manage almost every type of risk
  • Complex projects can be created using this model
  • Is complex to understand and implement
  • Not suitable for ordinary software models
  • Costly to develop
  • Time consuming





Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.




Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates


© https://www.includehelp.com some rights reserved.