There are two types of System development life cycle: Traditional Methods and Agile Methods.
Today I will talk about one of the traditional models : The Waterfall Model.
The waterfall model is a development process which centres around planned work and is best suited to projects where the requirements can be clearly defined. It is the most commonly used of the traditional system development life cycle methods.
Building the system occurs as a series of steps which are called Phases. This model follows a set series of steps : Planning, analysis, design, implementation and maintenance. The Analysis phase is very important in this model; the analyst must have clear and precise requirements before starting the development. A review of the outputs and reports from each phase must be completed before moving to the next phase. These reports are also used to keep management up to date on the progress of the project. Linear cycles are chosen to encourage top-down problem solving.
Once the development passes successfully through the design and coding stages, it must be comprehensively tested and documentation prepared before the system is installed in the business.
Tests are run in parallel with the major design phases each test must be passed and documented before moving onto the next phase. The purpose of testing is to confirm that the system satisfies all the requirements. There are six different types of testing that must be complete before the system can enter the next phase:
- Unit Testing
- System testing
There are four strategies of installation:
- Direct installation
- Parallel installation
- Single- Location installation
- Phased installation
Training and support then follows to ensure everyone is trained in the new system.
The main advantages of the Waterfall model:
- Great for smaller projects where there are very clear requirements as it is easy to manage due to the rigidity of the model.
- Phases are completed one at a time and the model is easy and simple to use.
The main problems with the Waterfall model:
- There are definite sign-off points where certain activities are terminated. One phase must be complete before moving on to the next phase, and no phase can ever be repeated. This cycle assumes that an analyst can develop a system in a top-down manner.
- No working software is produced until late into the life cycle this makes it very hard for the customer to see how it is evolving and whether it meets the requirements. This model comes with a lot of risk and uncertainty, and if not produced correctly it can lead to cost and time overruns.
- In reality, it’s been found that assumptions made in earlier phases change, work done in previous phases is incomplete or that something was overlook. This makes the project very difficult as you can’t easily return to previous stages.
- This model is much more inflexible than agile methods and is much more difficult to implement any changes.
Thanks for reading, I Will be blogging soon about agile methods.😀
Reference :Introduction to Systems Analysis and Design
Also read these blogs for more information on similar topics : sad111354446 sad111359681 and sad111360051😀