The waterfall model is the most common model of all software development life cycle models. It is very simple to understand and use. In a waterfall model, each phase must be completed before the next phase can start. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not the project should be continued. Here phases do not overlap with each other.
Waterfall model is a sequential design process in which progress is seen as flowing steadily downwards through Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance Phases.
A Water Fall Model is easy to flow. It can be implemented for any size of project. Every stage has to be done separately at the right time so you cannot jump stages. Documentation is produced at every stage of a waterfall model allowing people to understand what has been done. Testing is done at every stage.
History
The first formal description of the waterfall model is often cited as a 1970 article by Winston W. Royce. Royce did not use the term “waterfall” in this article. Royce presented this model as an example of a flawed, non-working model.
Characteristic
The project consists of sequential, non-overlapping phases, where a phase cannot begin until the previous phase is already completed. – At the end of every phase, there is a gate where a decision is made to allow the project to move forward or not (Stage Gate) – Changes are controlled. Major changes are only allowed if the CCB (Change Control Board) approves them. – The product is only finished at the end of the last phase. – Once the project is done, the product/service enters into a maintenance phase.
The Business plan on Illustrate Typical Phases of a Project Lifecycle
Here is an example diagram of a project life cycle. The project starts with the initiation, this is where you need to define what your project is so you have a clear specification of what you want to achieve at the end. The next stage is planning, when planning it is important to make a clear and simple action plan. With this it will be easier for you to not only follow the plan, but also to check ...
– Low overhead of the methodology compared to other methodologies (such as Agile).
Advantages
1. The water fall model is easy to implementation
2. For implementation of small systems water fall model is use full
3. The project requires the fulfillment of one phase, before proceeding to the next 4. It is easier to develop various software through this method in short span of time.
Disadvantages
1. The requirement analysis is done initially and sometimes it is not possible to state all there requirement explicitly in the beginning.
2. The customer can see working model of the project only at the end.
3. If we want to go backtrack then it is not possible in this model 4. Is difficult to follow the sequential flow in software development process.
Waterfall Model vs. V Model
The main difference between waterfall model and V model is that in waterfall model, the testing activities are carried out after the development activities are over. On the other hand in V model, testing activities start with the first stage itself. In other words, waterfall model is a continuous process, while the V model is a simultaneous process. As compared to a software made using waterfall model, the number of defects in the software made using V model is less. This is due to the fact, that there are testing activities, which are carried out simultaneously in V model. Therefore, waterfall model is used, when the requirements of the user are fixed. If the requirements of the user are uncertain and keep changing, then V model is the better alternative. Also making changes in the software in waterfall model is a difficult task, and also proves to be a costly affair. The vice versa is true of the V model. At this stage, I would like to bring it to your notice, that any defects in the software cannot be determined, till the software reaches the testing phase. However, defects are noticed in the initial phases, due to which they can be corrected easily.
The Term Paper on Comparison between five process models of software engineering
... existing components. System Requirements Software Requirements Architectural Design Detailed Design Coding There are many variants of these models e.g. formal development where a waterfall-like process is ... be added to the top of the waterfall to reduce risks prior to the waterfall phases. The waterfall can be further modified using options ...
From the above discussion, it is clear that each of the models can be used depending on the system they are being developed for. Therefore, one can choose either waterfall model or V model taking the software and the user requirements into consideration. Often, for smaller systems, it is recommended that one use the waterfall model and for the bigger
WATERFALL MODEL DIAGRAM
1. Requirement gathering and Analysis
This is the first phase of waterfall model which includes a meeting with the customer to understand his requirements. This is the most crucial phase as any misinterpretation at this stage may give rise to validation issues later. The software definition must be detailed and accurate with no ambiguities. It is very important to understand the customer requirements and expectations so that the end product meets his specifications. Requirement gathering and Analysis phase the basic requirements of the system must be understood by software engineer, who is also called ANALYST. All this requirements are then well documented and discussed further with the customer for reviewing.
2. Design
The customer requirements are broken down into logical modules for the ease of implementation. Hardware and software requirements for every module are Identified and designed accordingly. Also the inter relation between the various logical modules is established at this stage. Algorithms and diagrams defining the scope and objective of each logical model are developed. In short, this phase lays a fundamental for actual programming and implementation. It is an intermediate step between requirements analysis and coding. Design focuses on program attribute such as- 1) Data Structure. 2) Software Architecture. 3) Algorithm Details etc. The requirements are translated in some easy to represent form using which coding can be done effectively and efficiently. The design needs to be documented for further use.
3. Coding
Coding is a step in which design is translated into machine-readable form. If design is done in sufficient detail then coding can be done effectively. Programs are created in this phase. In this phase all software divided into small module then after doing coding for that small module rather than do coding whole software. According to design programmers do code and make class and structure of whole software.
The Essay on Hardware And Software Cluster Requirements Nodes
Twenty-five years ago, Larry Ellison saw an opportunity other companies missed when he came across a description of a working prototype for a relational database and discovered that no company had committed to commercializing the technology. Ellison and his co-founders, Bob Miner and Ed Oates, realized there was tremendous business potential in the relational database model -- but they may not ...
4. Testing
In this stage, both individual components and the integrated whole are methodically verified to ensure that they are error-free and fully meet the requirements outlined in the first step. In this phase testing whole software into two parts
1) HARDWARE
2) SOFTWARE.
Type of testing is 2-types
1) Inside test.
2) Outside test.
5. Maintenance
This is the final phase of the waterfall model, in which the completed software product is handed over to the client after alpha, beta testing. After the software has been deployed on the client site, it is the duty of the software development team to undertake routine maintenance activities by visiting the client site. If the customer suggests changes or enhancements the software process has to be followed all over again right from the first phase i.e requirement analysis. The usually the longest stage of the software. In this phase the software is updated to: a) Meet the changing customer needs
b) Adapted to accommodate changes in the external environment c) Correct errors and oversights previously undetected in the testing phases d)
Enhancing the efficiency of the software Observe that feed back loops allow for corrections to be incorporated into the model.
References
Visani, R. Bhargav, Waterfall Model,SlideShare.Retrieved April 04, 2012 http://www.slideshare.net/BHARGAV_VISANI/waterfall-model
Satalkar Bhakti, Waterfall Model vs. V Mode,Buzzler.Retrieved June 28, 2011 http://www.buzzle.com/articles/waterfall-model-vs-v-model.html