The waterfall model is the most common model of all software development life cycle models. It is very simple to understand and use. In a waterfall model, each phase must be completed before the next phase can start. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not the project should be continued. Here phases do not overlap with each other.
Waterfall model is a sequential design process in which progress is seen as flowing steadily downwards through Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance Phases.
A Water Fall Model is easy to flow. It can be implemented for any size of project. Every stage has to be done separately at the right time so you cannot jump stages. Documentation is produced at every stage of a waterfall model allowing people to understand what has been done. Testing is done at every stage.
The first formal description of the waterfall model is often cited as a 1970 article by Winston W. Royce. Royce did not use the term "waterfall" in this article. Royce presented this model as an example of a flawed, non-working model.
The project consists of sequential, non-overlapping phases, where a phase cannot begin until the previous phase is already completed. - At the end of every phase, there is a gate where a decision is made to allow the project to move forward or not (Stage Gate) - Changes are controlled. Major changes are only allowed if the CCB (Change Control Board) approves them. - The product is only finished at the end of the last phase. - Once the project is done, the product/service enters into a maintenance phase.
- Low overhead of the methodology compared to other methodologies (such as Agile).
1. The water fall model is easy to implementation
2. For implementation of small systems water fall model is use full 3. The project requires the fulfillment of one phase, before proceeding to the next 4. It is easier to develop various software through this method in short span of time.
1. The requirement analysis is done initially and sometimes it is not possible to state all there requirement explicitly in the beginning. 2. The customer can see working model of the project only at the end. 3. If we want to go backtrack then it is not possible in this model 4. Is difficult to follow the sequential flow in software development process.
Waterfall Model vs. V Model
The main difference between waterfall model and V model is that in waterfall model, the testing activities are carried out after the development activities are over. On the other hand in V model, testing activities start with the first stage itself. In other words, waterfall model is a continuous process, while the V model is a simultaneous process. As compared to a software made using waterfall model, the number of defects in the software made using V model is less. This is due to the fact, that there are testing activities, which are carried out simultaneously in V model. Therefore, waterfall model is used, when the requirements of the user are fixed. If the requirements of the user are uncertain and keep changing, then V model is the better alternative. Also making changes in the software in waterfall model is a difficult task, and also proves to be a costly affair. The vice versa is true of the V model. At this stage, I would like to bring it to your notice, that any defects in the software cannot be determined, till the software reaches the testing phase. However, defects are noticed in the initial phases, due to which they can be corrected easily.
From the above discussion, it is clear that each of the models can be used depending on the system they are being developed for. Therefore, one can choose either waterfall model or V model taking the software and the user requirements into consideration. Often,...
Please join StudyMode to read the full document