Software development life cycle (SDLC), also referred to as the application development life-cycle, is a process for planning, creating, testing, and deploying an information system. The systems development life cycle concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. SDLC is a well-defined, structured sequence of stages in software engineering to develop the intended software product.
The waterfall model is a linear, sequential approach to the software development life cycle that is popular in software engineering and product development. The waterfall model emphasizes a logical progression of steps. Similar to the direction water flows over the edge of a cliff, distinct endpoints or goals are set for each phase of development and cannot be revisited after completion.
Also check:- Twitter Tools and Tutorials For Designers and Developers
Phases of Waterfall Model
- Requirements Gathering and Analysis
- System Design
- Implementation and Unit Testing
- Integration and System Testing
- Deployment
- Maintainance
Requirements Gathering and Analysis
In this phase the requirements are gathered by the business analyst and they are analyzed by the team. Firstly all the requirements regarding the software are gathered from the customer and then the gathered requirements are analyzed. These analyzed requirements are documented in a software requirement specification (SRS) document. SRS document serves as a contract between the development team and customers.
System Design
In this phase, the architect and senior members of the team transform the requirements gathered in the into a format that can be coded in a programming language It defines the overall software architecture together with high level and detailed design. All this work is documented as a Software Design Document.
Implementation and Unit Testing
In this phase, the development team works on coding the project. They take the design documents / artifacts and ensure that their solution follows the design finalized by the architect or senior members.
Integration and System Testing
In this phase, Integration of different modules are undertaken soon after they have been coded and unit tested. The testing team tests the complete application and identifies any defects in the application. These defects are fixed by the developers and the testing team tests the fixes to ensure that the defect is fixed.
Deployment
In this phase, the team builds and installs the application on the servers. They also co-ordinate with network and IT administrative teams etc to finally get the application up and running on the production servers.
Maintainance
Maintenance is the most important phase of a software life cycle. The effort spent on maintenance is 60% of the total effort spent to develop a full software. Maintenance performed by every user once the software has been delivered to the customer, installed, and operational.
Advantages
The Waterfall model depends upon the sequential approach in which each stage should complete itself to start the next stage. Because it is linear, there aren’t too many aspects to monitor at once. Teams don’t require any extra training to use this method, either. This consecutive order is suitable for smaller projects which are easy to start. The Waterfall model is a useful and predictable system if the requirements are clear, static, and well-documented. The output in the Waterfall model, after each phase, creates high visibility. By analyzing the output of each stage, it can be determined by the project manager and client that the project is making considerable progress.
Dis-advantages
The Waterfall model is the first sequential approach to Software Development based on traditional methods due to which it has been criticized for being outdated. Once any of the stages have been completed, it is quite difficult to go back to make changes. So, before implementing Waterfall, one must be sure that the end goal is finalized. Because the delivery stage is so far along in the process, the client does not get any working software until everything is completed. The Waterfall model entirely depends on the sequential steps which make the team move forward. The Waterfall methodology is a traditional approach which leaves almost no room for revisions or changes after completion of each step. The waterfall process does not perform step-wise testing, therefore, any issue can cause a lot of problems later. As there is no turning back, once a mistake has been made it can not be resolved in the next phase.
Very helpful blog
This blog is very Enlightening .
Informative and useful for me 👍
Thanks you this is very nice blog, very useful for me.
Very nice and easily understandable for anyone.
Nice blog. Keep sharing good blogs.
Good blog. Learned some new advantages or disadvantages for this model
Very informative Blog. Thank you so much
The content you wrote is very informative thank you so much
Very nice and informative.
Love this blog. Thank for the knowledge.
its contain very good themes ..happy to find it
Very useful platform
Very nice and informative .
Love this blog. Thank for the knowledge.
Very nice content
Thank you so much for such Enlightening blog.. 👍😄😊
Nice blog. gained proper knowledge.
Easy to understand and explained really well with the flow chart.
Very useful blog.
nive bolg gained proper knowledge
Very nice content
Very useful of this publication
Very good, there are many information regarding software.
such a Enlightening blog, with plenty of knowledge, thankyou so much.
Nice blog it helped me personally
Very nice blog
This very useful platform
such a Enlightening blog, with plenty of knowledge, thankyou so much.
Very good content.
The content you wrote is very informative thank you so much.
Very good content and best for me as i am a student.
Good content. This is really good and resourceful. Thank you for such a enlightening blog.
Very nice
Useful for me , Thank you for such
This blog it helped me personally
Nice blog.
Such a Enlightening blog . with plenty of knowledge.
Nice blog. gained proper knowledge.
Very good blog.
there are many information regarding software, thank you ❤️😊.
useful blog.😊
The content you wrote is very informative thank you so much
Very nice Platform, Good Knowledge 😊
Very useful content found it interesting as well.
Nice blog a gained a lot of experience from this ❤️
Very useful and informative
Very nice and superb 💗
A very good, informational and descriptive blogs on concept of waterfall model, explained well with diagrams and flowcharts, thank you.
Very useful
Informative blog. Got a chance to learn many things.
Very good, there are many information regarding software.
Thank you for such knowledgeable blog. It helped a lot .Love this blog. Thank for the knowledge.
Love this blog. Thank for the knowledge
Very good, there are many information regarding software. 😊
Thank you for such a informative blog.
Very good, there are many information regarding software.
Love this blog. Thank for the knowledge.
The content you wrote is very informative thank you so much.
Very nice and informative.
Useful for me , Thank you for such knowledgeable blog. It helped a lot .Love this blog. Thank for the knowledge.
Love this blog. Thank for the knowledge.
Useful for me , Thank you for such knowledgeable blog. It helped a lot .Love this blog. Thank for the knowledge.
Very nice and informative.
The content you wrote is very informative thank you so much
Love this blog. Thank for the knowledge.
Thank you so much for such Enlightening blog
Love this blog. Thank for the knowledge.
This blog is very Enlightening.
Very nice and informative
Nice blog. gained proper knowledge.
Very informative blog. Helped me a lot.
Love this blog. Thank for the knowledge
Very nice content
Very good vlog
Nice blog. gained proper knowledge.
Thank you for such knowledgeable blog. It helped a lot .Love this blog. Thank for the knowledge.
Useful for me , Thank you for such knowledgeable blog. It helped a lot .Love this blog. Thank for the knowledge.
This blog is very Enlightening.
Very useful blog.
Very good, there are many information regarding software.
Very nice and informative
Very nice and informative.
Nice blog. gained proper knowledge.
Good information regarding software
Very nice and informative
Nice blog. gained proper knowledge.
Very good knowledge
Thank you
Very nice plateform good knowledge
Nice blog
Very nice and informative
Very good, there are many information regarding software.
Thank you for such a informative blog
Keep sharing this type of information