The Iterative Model

Software Engineering Tutorial


[fblike]

Iterative Model : Introduction

  • Keeping the limitations of the waterfall model in mind, Iterative Model for software development was introduced. The concept behind the Iterative Model is same as that of waterfall model. Dividing the whole software product into various phases but with a slight change.
  • Firstly the specification and requirement analysis is done in order to generate the whole software requirement document containing features and functions of the software. It also consists of the information about the number of modules of the software in which the it would be divided so that each module is developed individually and separately.
  • On each module, design, development, testing and implementation is done separately. Thus, the software is developed in iterations such like after every iteration a small piece of software is generated.
  • This process is repeated unless all the parts/modules are obtained. Once done, all the modules are combined together to form the complete and fully functional software product upon which further testing is performed to check for compatibility among the different modules. After the testing is performed successfully, the product is deployed as per client/user directions.

 

This image describes the architecture of the iterative model of software development in software engineering.

SDLC Models : Iterative Model

 

The Iterative Model : Phases

  • Once the software requirement and specification document is made, the whole software is subdivided into modules. Each module is than passed through multiple phases listed as:
    • Specification and Requirement Analysis.
    • Module Design and Development.
    • Module Testing.
    • Module Implementation.
  • The phases in iterative model are same but the fact is, these same phases are used for each module separately.
  • This model provides the much more flexibility as any changes in requirement can be done easily on the single module without affecting the whole software product and whole software development process.

 

The Iterative Model : Advantages

  • Highly Flexible.
  • Cost & Time efficient.
  • Implementation of smaller modules is much easier.
  • testing is easier on smaller modules.
  • Multiple modules can be built simultaneously, saving time and cost.

 

The Iterative Model : Disadvantages

  • Cannot be implemented on smaller projects.
  • High resource requirement.
  • Higher the number of modules means more management skills will be required.
  • More project planning is required and record tracking of all the modules needs to be done.