Waterfall model or Software Development life cycle is also called as linear sequential model. This model tells the steps that should be followed to develop a software system. Following is a brief description of these phases:
Requirement Analysis:
In this phase the software engineer or analyst makes a feasibility report in consultation with the client. In this phase system analyst tries to know and clarify all the requirements of the client. By the end of this phase average cost and average time are estimated and recommendations are submitted.
System design:
This is the most important phase. During this phase the overall structure of the software system is designed and the relationships among different components are defined.
Code Generation:
According to the needs of the project a language is selected to translate the design in the machine language. After the selection of the language the programmer codes to meet the designed goals. Code can also be automatically generated by the tools that are easily available everywhere. By the end of this phase raw executable system is ready to be tested.
Testing:After the coding process testing team tests the software to check whether the software meets its requirements or not. There are two types of testing: white box testing checks the functionality of the software and black box testing checks the data structures and inner coding details.
Maintenance:
Maintenance is required to meet the everyday changes. Software must be able to accommodate these changes. This phase starts after the delivery of the software.
Requirement Analysis:
In this phase the software engineer or analyst makes a feasibility report in consultation with the client. In this phase system analyst tries to know and clarify all the requirements of the client. By the end of this phase average cost and average time are estimated and recommendations are submitted.
System design:
This is the most important phase. During this phase the overall structure of the software system is designed and the relationships among different components are defined.
Code Generation:
According to the needs of the project a language is selected to translate the design in the machine language. After the selection of the language the programmer codes to meet the designed goals. Code can also be automatically generated by the tools that are easily available everywhere. By the end of this phase raw executable system is ready to be tested.
Testing:After the coding process testing team tests the software to check whether the software meets its requirements or not. There are two types of testing: white box testing checks the functionality of the software and black box testing checks the data structures and inner coding details.
Maintenance:
Maintenance is required to meet the everyday changes. Software must be able to accommodate these changes. This phase starts after the delivery of the software.