Introduction
Software Development Life Cycle (SDLC) is a process consisting of various activities performed for the development of a software product. It represents the series of planned activities in the software life cycle. In the software organization, the development team determines a suitable SDLC process and follows it to develop a high quality software that meets the expectations.
Software development life cycle models are the models representing different stages of a software development life cycle. These models are also known as “Software Development Process Models”. There are many software development life cycle models which are followed by a software development team for the development of a software product. Waterfall model is a classical and simple software development cycle model. In this article, we will discuss the waterfall model in detail.
Waterfall Model
The waterfall Model was the first software development life cycle model that was used widely by the software development team. It is very simple and nowadays advanced models have been designed, so it is not used much. But it is very important to know about the waterfall model as all other life cycle models are based on it.
The waterfall model represents the software life cycle as a linear sequential flow. This model considers that the next phase will begin only after the completion of the previous phase. There will be no overlapping of phases. The output of a phase will serve as the input for the next phase. This model is named as “Waterfall Model” because it represents the life cycle phases like waterfall cascades. The waterfall model divide the whole life cycle into different sequential phases as shown below:
Now, let’s discuss the different phases of the waterfall model.
The different phases of the waterfall model are as follows:
-
Feasibility study phase: This phase includes understanding the problem and finding out the different approaches to solve the problem. The pros and cons of the different approaches are analysed and checked for their technical and financial feasibility. The best approach is chosen and taken to the next phase of the model.
-
Requirement Analysis and Specification Phase: This phase includes analyzing the complete requirements of the project and documenting it in specification document. It consists of two steps - first is to find the exact requirements and the second is to document it properly.
-
System Design Phase: This phase includes converting the specification document into a high level and detailed architecture design that can be further coded in a programming language.
-
Implementation and unit testing phase: This phase includes coding each module of the architecture diagram using a programming language and then testing each of the modules whether they are working correctly or not.
-
System testing phase and Deployment: This phase includes integrating each module and testing the full working system and then deploying it to the customer’s environment.
- Maintenance phase: This phase involves fixing issues, enhancing functionalities and maintaining the software after it has been delivered to the customer.
Also check out - Phases of Compiler