Jump to content

9.1.2 Models (Waterfall, Iterative, Spiral)

From Computer Science Knowledge Base
Revision as of 02:24, 10 July 2025 by Mr. Goldstein (talk | contribs) (Created page with "=== 9.1.2 Models (Waterfall, Iterative, Spiral) === Just like there are different ways to build a house (some people build room by room, others build the whole frame first), there are different models, or approaches, to following the SDLC: * '''Waterfall Model:''' Imagine a waterfall flowing downwards. In this model, each phase of the SDLC (Requirements, Design, Implementation, etc.) must be completed entirely before the next phase can begin. You can't go back upstream...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

9.1.2 Models (Waterfall, Iterative, Spiral)

Just like there are different ways to build a house (some people build room by room, others build the whole frame first), there are different models, or approaches, to following the SDLC:

  • Waterfall Model: Imagine a waterfall flowing downwards. In this model, each phase of the SDLC (Requirements, Design, Implementation, etc.) must be completed entirely before the next phase can begin. You can't go back upstream easily. This is good for projects where the requirements are very clear from the beginning and unlikely to change, like building a very specific type of bridge.
  • Iterative Model: 'Iterative' means repeating. In this model, software is built in small cycles, or 'iterations'. Each cycle goes through all the phases (requirements, design, etc.) to create a small part of the software. Then, they get feedback and start a new cycle to improve or add more features. It's like building a model car, then adding more details to it, then painting it, and so on, improving it with each step. This is good when you want to get a basic version of the software out quickly and then add more features over time.
  • Spiral Model: This model combines ideas from both Waterfall and Iterative models, with a strong focus on managing risks. Imagine a spiral shape; each loop around the spiral represents a phase, and with each loop, you add more features and reduce risks. It's like building a complex rocket: you do a small test flight, learn from it, then build a slightly bigger and better rocket, test that, and keep going until you have the final product. This is often used for very large, complex, and risky projects.

Bibliography:

  • Pressman, Roger S. Software Engineering: A Practitioner's Approach. McGraw-Hill Education, 2019.
  • Royce, Winston W. "Managing the Development of Large Software Systems." IEEE, 1970.
  • Boehm, Barry W. "A Spiral Model of Software Development and Enhancement." IEEE Computer Society, 1988.