The waterfall life cycle model in software engineering was originally designed in 1970 by Winston.W.Royce.
The waterfall life cycle model plays a linear act of moving forward of framework activities that is often inconsistent in some field of the software world. In situations where requirements are well defined and stable, it is applicable to play a vital role.
The waterfall model is easy to understand and reinforces the notion of “define before design” and “design before code”.
The model looks for the complete requirements at the beginning of the process which is unrealistic. The waterfall model is one of the traditional or classic models used in the software development field which is very easy to use and simple to understand. The name waterfall is suggested due to the similarity of the model with the cascade of waterfalls. In the waterfall life cycle, the whole process is separated into independent phases. All the phases are cascade to one another so that the output of the present phase would be the input for the next phase. All the methods and processes attempted in the model are more visible. The highlight of the waterfall model is that, there are different phases in the model life cycle and the existing phase must be finished before the next phase starts.
The five phases of the waterfall model are bulleted below in sequence: 1) Requirements Definition 2) System and Software Design 3) Implementation and Unit testing 4) Integration and System testing 5) Operation and Maintenance
Requirement Definition: All the requirements that are expected by the end user from the system are collected in this phase. The aim of this phase is to estimate the time and cost needed for the development of the system. The possible risks are analyzed and studied then a document is prepared which will carry the listed requirement for the next phase.
System and Software Design: The phase emphasizes on how should the end product looks like before writing a single line of code. A system design is prepared in this phase after studying the requirement specifications from the previous phase that helps to create a design document which serve as an input for the next phase.
Implementation and Unit testing: The actual coding begins in this phase after receiving the design document from the previous phase. The system is implemented into a small program known as a unit and these units are tested for functionality which is referred as unit testing.
Integration and System testing: The units are integrated into a complete system in this phase. The complete system is tested as a whole to check if the units are coordinate with each other and the whole system is behaving as per user specifications or not. Finally, the software is delivered to the end user after successfully testing it.
Operation and Maintenance: After delivering the software with a successful testing, many problems remain in the system which arises time to time when it is practically used by the user. These problems are rectified and solved in the maintenance phase.
Figure: Waterfall Model (Royce, 1970)
In which stage the waterfall model plays a useful role?
There is a mild state of dissociation of work and command in the waterfall model. For this it improves its qualities by ensuring minimal wastage of time and effort before starting the actual coding which reduces the risk of schedule, slippage or customer expectation and this way it become easier to catch and correct the faults at the design stage then at the testing stage. Finally, the first two phases terminated in the production of a formal specification so the waterfall cycle can aid effective knowledge transfer among the team members at distributed locations.
Some of the limitations imposed by waterfall model
The waterfall model has some noticeable limitations like the one has to finalize the requirements before the project commences. The redesigning of physical system is difficult when a phase is complete as it is closed and cannot be revisited. The waterfall model fails to handle the different types of risks in a project that might occur at a later stage of the project which results in the badly structured system. The waterfall model is strictly sequential as well as inadequate analysis can be noticed only at the end of the development. In waterfall model scalability and complexity are generally based on how application system being developed. In waterfall model flaws are detected mainly in implementation and system testing phases. End users are not involved in the development stage so it is the responsibility of the analysts and programmers to understand the end user requirements which is a quite risky process. To achieve a realistic and a better efficient system, most real-life projects cannot follow the rigid sequence imposed by the waterfall life cycle model.
How iterative model plays a useful role rather than waterfall model in modern system development?
The cyclic repetition of tasks is termed as iteration. The Iterative life cycle is a common thread in many current approaches to software development. In iterative development, revisions of work on the earlier phases of the system can be made. The iterative model is made up of a series of activities that can be repeated. Iterations deals mainly with the most important risks first. Iterative and incremental model is a step by step approach which was introduced by Berry Boehm in the year 1988.
Figure: Iterative or Spiral model.
The diagrammatic representation of these models appears like a spiral with many loops so it is also known as the spiral model. Each phase in this model is divided into four quadrants. The first quadrant identifies risk analysis based on initial requirements. The second quadrant helps in initial requirements and project planning. The third quadrant is based on the customer evaluation. At last the fourth quadrant is concerned with the engineering with reviewing the results of the stages traversed a customer and planning the next loop around the spiral.
At the inception, risks and errors are identified and resolve for developing an appropriate prototype. At the second phase, planning is carried out. A strict risk judgment is performed. The development process builds the prototype and it is made available to the customer for evaluation. As a drawback of the model the following point needs to be attended, like the process guidance towards objective determination. Risk assessment depends on the experience of the development team not on the model by itself.
In conclusion, although there are few disadvantages of the waterfall model it remains to be one of the popular software development approach in the industry. The waterfall approach is more suited to projects where requirements are stable and not likely to change or where there is less need for user involvement. However, with increasing features to successful development many development projects have moved away from the waterfall life cycle. As opposed to the waterfall model the iterative and the incremental development can be viewed as a goal oriented model because it is a step by step process stresses on the risk factor whereas waterfall model describe the steps. As the complete model cannot be viewed at a time and the changes to the process occurs with the changing scenario. The spiral model is capable of handling such situations. Finally, if the team does not have a lot of experience, the waterfall model perfectly serves the purpose.
References
Bennett, S. et al. (2010) Meeting the Challenges. In: Hoyle, C. et al. (eds.) Object-Oriented Systems Analysis and Design. 4th ed. Berkshire: McGraw-Hill Education, pp. 71-77.
Waterfall model explained (2011) [Online]. Available from: http://www.buzzle.com/editorials/1-5-2005-63768.asp. [Accessed 6/1/13].
Self-Assessments for OOP Introduction (2006) Spiral model [Online image]. Available from: http://elm.eeng.dcu.ie/~ee553/ee402notes/html/ch01s05.html.
[Accessed 5/12/12].
Royce (1970) Waterfall model [Online image]. Available from: http://www.robabdul.com/Data-Management-System-Software-Development-Cycle.asp. [Accessed 5/12/12].
Aggarwal and Singh (2007) Software life cycle model. 3rd ed. India: New age international publisher.
Kuchta, J. (2010). Software Life Cycle, available from: http://lib.bioinfo.pl/files/courses/pdfcache/lecture_229.pdf. [Accessed 6/1/13].
Learnaccessvba. (2006). Waterfall Development Methodology, available from: http://www.learnaccessvba.com/application_development/waterfall_method.htm [Accessed 6/1/13].
Sommerville, I.: (2004) Software Engineering, 7th ed. Pearson Eductation Ltd., London
References: Bennett, S. et al. (2010) Meeting the Challenges. In: Hoyle, C. et al. (eds.) Object-Oriented Systems Analysis and Design. 4th ed. Berkshire: McGraw-Hill Education, pp. 71-77. Waterfall model explained (2011) [Online]. Available from: http://www.buzzle.com/editorials/1-5-2005-63768.asp. [Accessed 6/1/13]. Self-Assessments for OOP Introduction (2006) Spiral model [Online image]. Available from: http://elm.eeng.dcu.ie/~ee553/ee402notes/html/ch01s05.html. [Accessed 5/12/12]. Royce (1970) Waterfall model [Online image]. Available from: http://www.robabdul.com/Data-Management-System-Software-Development-Cycle.asp. [Accessed 5/12/12]. Aggarwal and Singh (2007) Software life cycle model. 3rd ed. India: New age international publisher. Kuchta, J. (2010). Software Life Cycle, available from: http://lib.bioinfo.pl/files/courses/pdfcache/lecture_229.pdf. [Accessed 6/1/13]. Learnaccessvba. (2006). Waterfall Development Methodology, available from: http://www.learnaccessvba.com/application_development/waterfall_method.htm [Accessed 6/1/13]. Sommerville, I.: (2004) Software Engineering, 7th ed. Pearson Eductation Ltd., London
You May Also Find These Documents Helpful
-
The waterfall method assumes the various phases are to be complete entirely sequentially. First a detailed…
- 399 Words
- 2 Pages
Satisfactory Essays -
The Waterfall Process is a simple process which moves in a linear fashion. One stage has to be completed before moving on to the next. This can be both beneficial and harmful to a project but this is one of the best options for small projects since it is very straightforward and simple to understand.…
- 1239 Words
- 5 Pages
Good Essays -
The Software Development Life Cycle (SDLC) gives very definable goals regardless of the methodology used; the development process will have a planning and a testing phase whether it is Waterfall or Agile. At Smith Consulting (SC), projects begin with a project planning phase when SC selects team leaders and assigns jobs to team members based on their particular strengths. Then SC locks project requirements into an open-ended Agile process…
- 3816 Words
- 16 Pages
Best Essays -
The project will be managed using a modified waterfall technique. In this approach, the initial two phases of the project will be fully defined and approved before starting to work on the subsequent phases. System documentation will begin and continue through the design, development, and installation of the system. The Project Management team will provide weekly status reports to the project sponsor so that real time corrections can be accomplished. Once the project sponsor has determined that each phase has met its purpose and provided the required approval, the next phase can begin.…
- 1085 Words
- 5 Pages
Powerful Essays -
There are several Software Development Life Cycle methods that are availabel to utilize although, the Waterfall SDLC is the most desirable due to the simplicity and straight forward methods utilized and will be discussed in regards to topics in this paper. The benefits of this model type include departmentalization and manegerial control. A schedule can be set for each phase similarly to a how a factory system works from one step to the next in a proceeding manner until the product is complete. However, once in the testing phase it is difficult to revert back to make any additional changes. (SDLC Models., n.d.).…
- 1383 Words
- 5 Pages
Best Essays -
Integration and Testing: This is where you put together all of the elements into a special testing environment, then check for errors, bugs and interoperability.…
- 595 Words
- 3 Pages
Satisfactory Essays -
References: Melonfire, C. (2006). Understanding the pros and cons of the Waterfall Model of software development. Retrieved from www.techrepublic.com/articlle/understanding-the-pros-and-cons-of-the-waterfall-model-of-software-development/6118423…
- 1313 Words
- 6 Pages
Better Essays -
The Waterfall model is credited to Winston W. Royce in an article he published in 1970, although he did not refer to it as "Waterfall" in the commentary (Royce 1970). The Waterfall model is comprised of series of steps which include: gathering requirements; analysis; design; coding; testing and debugging; and acceptance. It is designed to be a simple one way process where one step must be completed and fully reviewed before the next can be undertaken. In this model the phases do not overlap and movement is from one phase to the following, with no opportunity to reverse the movement back to the previous stage.…
- 965 Words
- 4 Pages
Better Essays -
1. Waterfall Model: According to Puddupakkam (2008) Waterfall model was the first Process Model to be introduced in Bed bath & beyond and followed widely in Software Engineering to ensure success of the project. (Puddupakkam, 2008)…
- 2758 Words
- 12 Pages
Best Essays -
There are many ways to develop an Information system, which is very complex. The systems development life cycle (SDLC) provides an overall efficient framework for managing the process of system development. Various organizations use information systems to support all kind of processes that a business needs to carry out its functions. There are different kind of information system and each has its own life, and system developer describe this idea as life cycle of system. During the life of an information system, it is first conceived as an idea; then it is designed, built, and deployed during a development project; and finally it is put into production and used to support the business. Projects during products phase can still be updated, modified through smaller projects. This entire process of building, deploying and updating the information system is called system development life cycle (SDLC).…
- 947 Words
- 4 Pages
Better Essays -
• Waterfall model is very disciplined approach and documentation is provided in each phase. Practically there is a considerable difference in the way a client understands a product as described by the specification document and the actual product. The waterfall model, depending as it does so crucially on written specification, can lead to the construction of products that simply do not meet the client’s requirements.…
- 945 Words
- 4 Pages
Satisfactory Essays -
4. (A) The ___________ approach to systems development has often been referred to as the "waterfall" model. a. SDLC b. prototyping c. RAD d. XP…
- 1062 Words
- 5 Pages
Powerful Essays -
Agile development methodologies are emerging in the software industry. In this chapter, we provide an introduction to agile development methodologies and an overview of four specific methodologies: • Extreme Programming • Crystal Methods • Scrum • Feature Driven Development Plan-driven methods work best when developers can determine the requirements in advance . . . and when the requirements remain relatively stable, with change rates on the order of one percent per month. -- Barry Boehm [11] Plan-driven methods are those that begin with the solicitation and documentation of a set of requirements that is as complete as possible. Based on these requirements, one can then formulate a plan of development. Usually, the more complete the requirements, the better the plan. Some examples of plan-driven methods are various waterfall approaches and others such as the Personal Software Process (PSP) [28] and the Rational Unified Process (RUP) [30, 31]. An underlying assumption in plan-driven processes is that the requirements are relatively static. On the other hand, iterative methods, such as spiralmodel based approaches [12, 14], evolutionary processes described in [5, 22, 32, 33], and recently agile approaches [45] count on change and recognize that the only constant is change. The question is only of the degree and the impact of the change. Beginning in the mid-1990’s, practitioners began finding the rate of change in software requirements increasing well beyond the capabilities of classical development methodologies [11, 27]. The software industry, software technology, and customers expectations were moving very quickly and the customers were becoming increasingly less able to fully state their needs up front. As a result, agile methodologies and practices emerged as an explicit attempt to more formally embrace higher rates of requirements change. . In this chapter, we provide background information on agile principles, and…
- 8016 Words
- 33 Pages
Powerful Essays -
This course introduces the fundamental, logical, and design considerations addressed during system and application software development. It provides a solid background in information systems analysis and design techniques through a combination of theory and application. Systems development life cycle (SDLC) will be the fundamental to the course.…
- 1981 Words
- 8 Pages
Satisfactory Essays -
The waterfall model is a process of development where the stages “flow” from top to bottom, like a waterfall.…
- 421 Words
- 2 Pages
Good Essays