Iterative Model in software engineering advantages disadvantages

In this tutorial we will try to get the answer to the following questions;

What is an iterative software model, What are phases of the iterative model? When to use the iterative model? What are the advantages and disadvantages of the iterative model?

What is an iterative model?

According to an iterative model, you can start with some of the software requirement specifications (SRS) and develop the first version of the software. After the first version if there is a need to change the software then a new version of the software is created with a new iteration.

What are the phases of the iterative model?

iterative model in software engineering
Figure: Iterative model

1. Requirement gathering and analysis

In this phase, requirements are gathered from the customer who wants to develop the software. After getting the requirements, the system analyst analyses the requirements that whether the requirement can be fulfilled or not. If customer requirements can be fulfilled than whether these requirements are fulfilled within the budget or out of the budget. After this software team moves to the design phase.

2. Design

In the design phase, the software team designs the software. Different diagrams are also drawn in this phase for software. Some of these are used the class diagramactivity diagramdata flow diagramstate transition diagram, etc.

3. Implementation

Programs are written and all the designed is converted into computer programs, collectively called software.

4. Testing

Test the software by using different software testing techniques. The most common are white box, black box, and gray box testing techniques.

5. Deployment

Now its time to install or deploy the software in its working environment.

6. Review

Validation or review is performed to check the performance and validity of the developed software. If there is any problem then starts a new iteration and again start from requirement gathering and…. so on.

7. Maintenance

When software is deployed, there can be many bugs, faults or new modification is needed. Maintenance includes debugging and new feature addition.

After all these activities if the software is failed during validation then a new iteration will be run on the same component of the software.

All these activities discussed above are performed in iteration again and again until the development of accurate software.

Example for just understanding:

iterative development in software engineering

In this figure, 1st iteration of this picture does not give us an accurate result and so we again put the 2nd iteration and make some enhancements in the picture. But it is still not accurate. So we again put the 3rd iteration and makes some final enhancements in the picture and deliver this picture to the customer.

 

What are the advantages of the Iterative model?

  1. We can start with a little of a requirement specification.
  2. We can detect the defects, faults, and risks at an early stage.
  3. Supports user feedback.
  4. Less time is utilized for documentation.
  5. More time is utilized for software development.
  6. Parallel development can be planned.
  7. Testing and debugging during smaller iteration is easy.

 

What are the disadvantages of the Iterative model?

  1. Requirements changes, again and again, can cause over budget and over time.
  2. Design can be changed again and again due to non-perfect requirements.
  3. Not suitable for smaller projects.
  4. Project completion date prediction is a problem because the software is changing again and again in iteration

When to use the Iterative model?

  1. When the project is large.
  2. When requirements are clear.
  3. When there is a need for more quality in software.
  4. New technology is being used

Difference between Iterative and incremental model

Let’s see the Difference between the Iterative and incremental models with a diagram.

Comparison of Iterataive model vs incremental model in software engineering

The Evolutionary model is a combination of incremental and iterative models.

More MCQs on Software Process Models

  1. Iterative Model MCQs
  2. Spiral Model MCQs
  3. incremental Model MCQs
  4. Software Process Models MCQs

Computer Science Repeated MCQs Book Download

Case studies for Software process models

Try to guess the software process model for the following case studies.