ITERATING MODEL IN SOFTWARE ENGINEERING

M.Ramya

 Iterative Model in Software Engineering

  • The Iterative Model is a software development approach where development starts with a partial set of requirements and evolves through repeated cycles or "iterations." Each iteration results in a new version of the software, which builds upon the previous one. If changes are required after a release, they are implemented in the next iteration. Every iteration is completed within a fixed time frame.
  • This model allows for revisiting and refining earlier stages throughout the development cycle. The final version of the software is delivered at the end of the Software Development Life Cycle (SDLC) after multiple refinements.

                                                   

 

Phases of the Iterative Model

Requirement Gathering & Analysis
  • Requirements are collected from the client. An analyst evaluates whether the requirements are feasible within the available budget and timeline. If approved, the project moves to the next phase.
Design
  • The team creates the software design using various modeling techniques like data flow diagrams, activity diagrams, class diagrams, and state transition diagrams.
Implementation
  • In this phase, developers write code based on the requirements and design. The result is the first working version of the software.
Testing
  • After implementation, the software undergoes testing using methods like white-box, black-box, and grey-box testing to identify and fix bugs.
Deployment
  • Once tested and validated, the software is deployed in the working environment.
Review
  • Post-deployment, a review is conducted to assess the software’s performance and identify any issues. If problems are detected, the development process restarts from the requirements phase.
Maintenance
  • After deployment, the software might require updates, bug fixes, or new features. Maintenance includes correcting issues and enhancing the system as needed.

When to Use the Iterative Model

  • When requirements are clearly defined and well understood.
  • When developing large or complex applications.
  • When frequent changes or updates are expected in the future.

Advantages of the Iterative Model

  • Easier testing and debugging during smaller, manageable iterations.
  • Supports parallel development efforts.
  • Accommodates evolving requirements efficiently.
  • Helps identify and mitigate risks early in the process.
  • Requires less documentation and more focus on design and functionality.

Disadvantages of the Iterative Model

  • Not ideal for small-scale or low-budget projects.
  • May require more resources than traditional models.
  • Frequent design changes can lead to instability.
  • Changing requirements can lead to scope creep and budget overruns.
  • Project deadlines may be unpredictable due to ongoing changes.


Our website uses cookies to enhance your experience. Learn More
Accept !

GocourseAI

close
send