The waterfall methodology. Question 3
The history of the waterfall model
The waterfall model which is also referred as a linear sequential life cycle model was the first model to be developed. The waterfall model is a sequential design process used in software development processes in which progress is seen as flowing steadily downwards(like a waterfall) through the phases of conception, initiation, analysis, construction ,testing, production/implementation and maintenance. The waterfall model creation originates in the manufacturing and construction industries. Since there was no formal software development methodologies existed at the time, this hardware oriented model was simply adapted for software development. Stages of the waterfall methodology The waterfall model stipulate that one should move to a phase only when its preceding phase is completed and approved. All these phases are cascaded to each other in which progress is seen as flowing steadily downwards (like a waterfall) through the phases. The next phase is started only after the defined set of goals are achieved for previous phase and it is signed off, so the name "Waterfall Model". In this model phases do not overlap.
The stages to be followed are as follows.
Design resulting in the Software architecture
Construction (implementation or coding) resulting in the actual software
Integration
Testing and debugging
Installation
Maintenance
The sequential phases in Waterfall model are:
Requirement Gathering and analysis: All possible requirements of the system to be developed are captured in this phase and documented in a requirement specification doc.
System Design: The requirement specifications from first phase are studied in this phase and system design is prepared. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture.
Implementation/construction: With inputs from system design, the system is first developed in small programs called units, which are integrated in the next phase. Each unit is developed and tested for its functionality which is referred to as Unit Testing.
Integration and Testing: All the units developed in the implementation phase are integrated into a system after testing of each unit. Post integration the entire system is tested for any faults and failure
Deployment of system: Once the functional and non-functional testing is done, the product is deployed in the customer environment or released into the market.
Maintenance: There are some issues which come up in the client environment. To fix those issues patches are released. Also to enhance the product some better versions are released. Maintenance is done to deliver these changes in the customer environment.
Techniques used in waterfall methodology
The techniques used in waterfalls method are as follows;
Various flow charts, which might, for example, help the analyst trace the flow of documents through a department.
The organization chart showing the reporting structure of people in a company department.
Manual documents specification, giving details of documents used in the manual system,
Grid charts showing how different components of the system, such as people and machines, interact with each other.
Discussion records on which the notes taken at interviews could be recorded.
File and record specifications describing in former case all the data items in record including their names and description, size, format, and possible range of values.
System that have been developed using waterfall methodology
Library management system.
Airline reservation system.
Hospital management system
Payroll system A critique of the waterfall methodology. Advantages of waterfall methodology.
The advantage of waterfall development is that it allows for departmentalization and control. A schedule can be set with deadlines for each stage of development and a product can proceed through the development process model phases one by one.
It is easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process In this model phases are processed and completed one at a time. Phases do not overlap.
The project requires the fulfillment of one of the phase, before proceeding to the next. Therefore if there is fault in the software it will be detected during one of the initial phases and will be sealed off for correction.
A lot of emphasis is laid on paperwork in this method as compared to the newer methods. When new workers enter the project, it is easier for them to carry on the work from where it had been left. The newer methods don’t document their developmental process which makes its difficulty for a newer member of the team to understand what step is going to follow next. The waterfall model is a straight forward method and lets one know easily what stage is in progress.. Disadvantages of waterfall methodology
Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage. This make it risky.
Many software projects are dependent upon the external factor, out of which the client for which the software is being is the biggest factor. Its happen a lot times, that the client changes the requirement of the project, thereby influencing an alteration in the normal plan of the construction and hence the functionality as well. The waterfall model doesn’t work well in a situation like this as it assume no alteration to occur once the process has started according to plan. If it occur its means that the design will be required to start the process afresh.
A huge amount of time is also wasted, for instance, we know that phase ii cannot be executed until phase I has been successfully completed, so while the designers are still designing the software, time of the builders is completely wasted
The testing periods comes quite late in the developmental process, whereas in various other developmental programs the designs would be tested a lot of time and money has not been wasted.
References
http://istqbexamcertification.com http://www.tutorialspoint.com/sdlc/sdlc_waterfall_model.htm http://istqbexamcertification.com/wp-content/uploads/2012/01/Waterfall-model.jpg.
Donald Yeates and Tony Wakefield (2004) System Analysis and Design, Pearson education limited New York.
References: http://istqbexamcertification.com http://www.tutorialspoint.com/sdlc/sdlc_waterfall_model.htm http://istqbexamcertification.com/wp-content/uploads/2012/01/Waterfall-model.jpg. Donald Yeates and Tony Wakefield (2004) System Analysis and Design, Pearson education limited New York.
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 -
1. Explain how both the waterfall model and the prototyping model can be accommodated in the spiral process model.*…
- 359 Words
- 2 Pages
Satisfactory Essays -
The term SDLC has been tied to a certain type of development style as Waterfall. Waterfall SDLC is the concept where each phase of the development process is completed before the next begins. There has been much debate on who was the originator of the Waterfall SDLC process, most reference Dr. Winston Royce. Dr. Royce described a development methodology where each phase is completed before the next begins but never used the term Waterfall in its description. In his description of what is known now as Waterfall, Dr. Royce did not recommend this as a viable SDLC (Font, 2010). There are five phases that need to be completed in sequence during the Waterfall process which are:…
- 791 Words
- 4 Pages
Good Essays -
Consider the Input and Output Process Example program in Appendix B, in which you developed what are often called system-level requirements: the basis for all subsequent analysis and design steps. The following steps will take these system-level requirements and refine them into a detailed blueprint for the program.…
- 453 Words
- 4 Pages
Powerful 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 -
Requirements Definition: This step defines project goals into specific functions and operations of the intended application. It also analyzes end-user information needs.…
- 595 Words
- 3 Pages
Satisfactory Essays -
The analysis phase collects and analyzes the end user business requirements. Oftentimes these are collected by a Business Analyst or a Project Manager. This phase provides documentation of the detailed set of business needs for the system and includes the documented requirements along with sponsor and stakeholder signatures. Following this with a process diagram or flowchart (such as a Visio document) that outlines the inputs, outputs, and processes of the system is a best practice.…
- 776 Words
- 4 Pages
Good 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 -
Agile methodology is an approach to the project management which help to respond to the unpredictability of building software through incremental, iterative work cadences, known as sprints. This methodology was developed to deal with situation where the waterfall model fails. The biggest drawback of waterfall model is that it assumes that every requirement of the project can be identified before any design or coding occurs. This may always be applicable for the development of a automobile on an assembly line, in which each piece is added in sequential phases. However it may or may not be applicable for software development. For example, for a BAU (Business as Usual) projects where the software is already in use for a long time, waterfall model is the best method to implement any changes requests because amount of uncertainly is very less compared to developing a new product. However for developing brand new software, waterfall model is not an ideal choice as the amount of uncertainty in terms of requirement and user quality expectation. It might be the case that end product is not exactly what user has expected due to mismatch of requirement understanding between user and developer. It might also be the case that a team might have built the software it was asked to build, but, in the time it took to create, business realities have changed so dramatically that the product is irrelevant. In that scenario, a company has spent time and money to create software that no one wants.…
- 2132 Words
- 9 Pages
Powerful Essays -
cited by Winston W. Royce in 1970 [2]. He divided the software development lifecycle into…
- 2683 Words
- 11 Pages
Best Essays -
1 SDLC is the process of understanding how an information system (IS) can support business needs, designing the system, building it and delivering it to users. It has four standard phases which include: ◦ ◦ ◦ ◦ Planning Analysis Design Implementation After the four phases are executed, some project team perform Maintenance as the last phase. 2 Each phase is itself composed of a series of steps, which rely on techniques that produce deliverables. ◦…
- 1747 Words
- 14 Pages
Powerful Essays -
Q2: Explain the Waterfall method used in software development, elaborating its phases, advantages, disadvantages and addressing the given project scenario (explained below).…
- 895 Words
- 4 Pages
Good Essays -
The agile and waterfall method are two of the most common methods when it comes to how to approach software development. Every company has a preference when it comes to the method they use and while there are some similarities between the two methods, there are also quite a few differences. In Subhajit Datta’s article, he mentions that the waterfall method identified core elements within the software development process that have since been adapted by other methods, including the agile method.…
- 1178 Words
- 5 Pages
Good Essays