Unit 2
Unit 2
1. Waterfall Model
2. Incremental Model:
Components of Software
Software Crisis
Waterfall Model
• Introduction: Introduced by Winston Royce in 1970, the Waterfall model involves five
phases: Requirements analysis, design, implementation, testing, and maintenance.
• Characteristics: Each phase follows the previous one in sequence. Changes are difficult
once a phase is completed.
Advantages:
o Clear structure, easy to manage progress.
o Defined start and end for each phase.
Disadvantages:
o Higher risk for complex projects.
o Inflexible when requirements change.
o Testing occurs at a later stage, making early issue identification challenging.
When to Use:
o When requirements are well-defined and unlikely to change.
o For short-term projects or well-understood technologies.
Incremental Model
• Approach: Develop software in smaller increments, with each increment adding more
functionality.
• Process: Requirements are gathered at the beginning, then modules are developed and
integrated incrementally.
Advantages:
o Faster initial delivery.
o Continuous customer feedback.
o Flexibility to adapt to customer feedback.
Disadvantages:
o Needs careful planning for module development.
o Can become costly and time-consuming due to multiple iterations.
When to Use:
Advantages:
Disadvantages:
Spiral Model
• The Spiral Model integrates the features of both the Waterfall and Prototyping Models,
focusing on risk management.
• Each iteration of the process is a loop in the "spiral," and each loop consists of four
quadrants: planning, risk analysis, development, and evaluation.
Key Phases:
When to Use:
Advantages:
Disadvantages:
Key Phases:
1. Communication, design, coding, testing, and deployment are carried out concurrently
rather than in sequence.
2. Activities like coding and testing can overlap.
Advantages:
Disadvantages: