Software Development Models:
A software cycle deals with various parts and phases from planning to testing and deploying. All these activities are carried out in different ways, as per the needs. Each way is known as a Software Development Lifecycle Model (SDLC).
Software life cycle models describe phases of the software cycle and the order in which those phases are executed. There are lots of models, and many companies adopt their own, but all have very similar patterns.
Water Fall Model
Water Fall Model is the most common and classic of life cycle models, also referred to as a linear – sequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed in its entirety before the next phase can begin. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue on discard the project. Phases of the waterfall model do not overlap.
Advantages of Water Fall model:
- Simple and easy to use.
- All Easy to manage due to the rigidity of the model – each phase has specific deliverables and as a review process.
- Phases are processed and completed one at a time.
- Works well for smaller projects where requirements are very well understood.
Disadvantages of Water Fall model:
- Adjusting scope during the life cycle can kill a project.
- No working software is produced until late during the life cycle.
- High amounts of risk and uncertainty.
- Poor model for complex and object-oriented projects.
- Poor model for long and ongoing projects.
- The poor model where requirements are at a moderate to high risk of changing.