Waterfall Model
History of the Waterfall Model
On the origin of the term “waterfall” is often said that Winston Royce introduced it in 1970, but Royce saw themselves more in the repeated approach to software development and even used the term “waterfall”. Royce described the waterfall model as a method he ventured even an invitation to failure occurred. In 1970 Royce was that the waterfall model should be seen as the first draft, he felt that the method has flaws. He brought a document which examined how the initial concept to a recurrent method could be developed, this new model in each phase was between a feedback to the previous stage, as we now see in many current methods. Royce was just annoying for the initial focus method, the criticism he had on this method was largely ignored Despite Royces intentions to the waterfall model into a repeat method (iterative model), the use of this method is still very popular, but opponents of the waterfall model see it as a naive and inappropriate method for use in the real world “.
The waterfall model consists of the following phases:
Definition study / analysis. Research is being conducted and to brainstorm about the software to get clear what the purpose of the software. Basic design. It clearly worked out what happened during the first phase unearthed. In this phase, the customer put on paper and has been given to the shape of the program. This phase is set to deliver what it has to do. Technical design / detail design. Using the basic design can be thought of an actual program. In this phase determines how the functionality defined in the basic design will be realized. Now is also a place subdivision in engineering units such as programs, modules and functions. Construction / implementation. Here is the source code of programs written. Testing. It checks whether the software is built right to the designs. Also at this stage errors that surfaced in earlier stages made. Integration. The system is ready and tested. It will however take the company to be put into use. This is done in this phase. Management and maintenance. In order to ensure that the system will continue to do maintenance to be performed. The waterfall model consists of several stages. Each phase has its own level also determines the order. The highest level is performed first and then the lower stages. This is equal to the natural functioning of a waterfall and hence the name. Above clearly shows that the various phases from top to bottom.
Pro’s and Con’s
Advantages
If in the beginning of the project failures are detected, it takes less effort (and therefore time and money) for this error. In the waterfall model phases to be properly sealed first before proceeding to the next stage. It is believed that the phases are correct before proceeding to the next phase. In the waterfall model lay the emphasis on documentation. In the newer software development methodologies makes it less documentation. This means that when new people in the project, and people leave it is difficult to transfer knowledge. This disadvantage is not the traditional waterfall model. It is a straightforward method. The way of working ensures that there are specific phases. This tells you what stage it is. One can use this method of milestones. Milestones can be used to monitor the progress of the project to estimate. The waterfall model is well known. Many people have experienced, so there might be easy to work. When frequent portions of the software product to be delivered this gives the customer confidence, but also the software development team.
Disadvantages
There are some disadvantages of this way to develop software. Many software projects are dependent on external factors. The client is a very important external factor. Often the requirements over the course of the project change, because the client wants something different. It is a disadvantage that the waterfall model assumes that the requirements will not change during the project. When a requirement changes in the construction phase, a substantial number of phases made again. It is very difficult to time and cost estimate. The phases are very large, it is therefore very difficult to estimate how much each step cost. In a number of new methods are almost all aspects of a software development process included. One can think of planning techniques, project management methods and how the project should be organized. In many software projects, different people at different stages of the project. For example: the designers and builders. They all have a different view of the project as designers look at the project differently than the builders. Conversely, the builders often different from the design of the designers look than the designers themselves. Frequently, the design will be adjusted again. Here is the waterfall model is not made for that. Within the project the team members often specialized. One team member will be only the first phase involved the design, while the only builders in construction helping to build the project. This can lead to waste of different sources. The main source is the time. An example: the designers are working on perfecting the design. The builders are in principle already start building, but because they work with the waterfall model, they should wait until the first phase is complete. This is a typical example of wasted time. Testing is done only in one of the last phases of the project. In many other software development methods will be tested once a certain part and finished product is at last an integration test. Because so much emphasis on documentation, the waterfall model is not efficient for smaller projects. There’s too much effort to the project itself around in terms of documentation.
This is a nice post you have here. Nice explanation on the pros and the cons.
ReplyDelete