Classical WaterFall Model – Let’s Know what is it? – Movingtrend
Movingtrend – Thursday October 12, 2017
WaterFall model is the sequential way to develop Software. It is like a waterfall, a step once taken cannot be reverse. But it is not a practical model for the development of the Software, it is a theoretical way of development. It is used as a descriptive or narrative development.
The Life Cycle of the WaterFall Model is divdied among different phases.
1. Feasibility Phase
– It determines the financial scope of the Project
2. Requirements Analysis and Specification
- It determines the Scope of the Project
3. Designing Phase
– It converts SRS into Structure.
4. Coding Phase
– It is the implementation.
5. Testing Phase
– It determines the exactness of the user requirements.
6. Maintenance Phase
– It is for the change, fixing bugs or addition of the new features.
The first and foremost requirement of the any product development is to verify the feasibility of the Product. Is the product financially practicable? And what is the financial estimation of the Product? The estimation of the Product is based on the user requirements. Feasibility phase is also estimated the time and resources cost according to user requirements as well.
Requirements Analysis and Specification :
It is the phase where the documentation is done after the estimation of the feasibility. Development team or Requirements analysts gathered the accurate requirements of the customer and understand the stories of the customers and prepared the documentation for the Software Development called SRS. The two definite activities of this phase include:
i. Requirements gathering and analysis
The product to develop is according to the exact requirements of the customer. The collection of the requirements is a very careful and critical job in Software Development. Only well understood requirement is provided the scope of the product. Requirements should be vividly defined by the customers. Mutual understanding between Customer and development team is the core of the exact collection of the requirements.
ii. Requirements Specifications :
Gathering of the requirements includes a lot of irrelevant data, variations, and unfinished requirements. To remove all these doubts and make a well-organized and systematically planned document for the Software development Product according to the requirements of the customer is called Software Requirements Specification (SRS). In short, it is the task of filtration for the removing of vagueness.
Design Phase :
Software Requirements Specification is shaped in such a form which is fit for the implementation. As we know that the implementation is done in programming language. Designing Phase is the mapping of the requirements to the programming tool. Two methods are for the designing:
i. Structural or Traditional Designing Approach
ii. Object-oriented Designing Approach
Coding Phase :
Coding phase is generally known as the implementation phase. It is the stage where the designing of the project is converted into the Source code. The product of this phase is the programming modules which performed actual functionality. These modules are tested one by one and transferred to the next stage where the integration is done. Debugging and error fixation is easily done in unit testing.
Testing Phase :
The system testing is performed after the unit testing. Whole system is tested as per the customer requirements. System testing is performed for seeing the conformity of the user requirements in end-product. Is it fully agreed with the user requirements? This question is answered properly in testing phase. Two testing are commonly performed at this stage:
i. Alpha Testing:
Testing performed by the development team
ii. Beta Testing:
Testing performed by the set of customers
Maintenance Phase :
Maintenance is the exhausting task of the software development product. Maintenance of the system is done for different purposes.
i. Maintenance is done for error corrections
ii. it is done for the improvement of the system implementation. It is the increased functionality of the system according to user request called perfective maintenance.
iii. Changing the platform for the system, Portability enhancement.
it is the most cost effective phase of the SOFTWARE Development Life Cycle.