One such approach employed in software system development is 'The body of water Model'. The body of water approach was 1st a method model, to be introduced and followed wide in software system engineering to confirm success of the project. within the body of water approach, the complete method of software system development is split into separate phases. These phases are:
Requirement Specifications part
Software style part
Implementation part
Testing and Maintenance part
The phases area unit aligned in an exceedingly cascading manner, in order that the second part is started as and once an outlined set of goals area unit achieved for 1st part and it's signed off, and therefore the name 'waterfall'.
Waterfall Model |
Stages of the body of water Model Explained
Requirement Analysis and Definition
All doable necessities of the system to be developed area unit declared during this part. necessities area unit a collection of functions and constraints that the tip user expects from the system. the necessities area unit gathered from the tip user, and area unit analyzed for his or her validity and also the risk of incorporating them. Finally, a demand specification document is made that serves the aim of a suggestion for consecutive part of the model.System and software system style
Before beginning the particular writing part, it's extremely necessary to grasp the necessities of the tip user and even have a thought of however the tip product ought to seem like. the need specifications from the primary part area unit studied here, and a system style is ready. the look helps in specifying hardware and system necessities, and additionally helps in shaping the system design. The system style specifications function associate degree input for consecutive part of the model.Implementation and Unit Testing
On receiver style documents, the work is split in modules/units and actual writing starts. The system is 1st careful into little programs referred to as units, that area unit integrated within the next part. every unit is developed and tested for its functionality; this is referred to as unit testing. Unit testing primarily verifies if the modules/units meet their specifications.Integration and System Testing
The units area unit currently integrated to create a whole system throughout the mixing part and tested to see if all modules/units coordinate with one another, and also the system as a full behaves as per the specifications. once with success testing the software system, it's delivered to the client.Installation and preparation
The software system is currently applied by the client to his/her own system(s). What the client has to beware of is his own system yielding with the minimum system necessities of the software system. He additionally has to beware of any system configurations and reconfiguration on his facet of the deal. Once the software system is correctly put in, he can begin communication with the dealers on a need-to-know basis, and facilitate report any bugs that occur.Operations Maintenance
This part of the model is just about endless. Generally, issues with the system (which don't seem to be found throughout the event cycle) return up once its sensible use starts, that the problems associated with the system area unit solved once its preparation. Not all the issues inherit image directly, however they arise from time to time and wish to be solved; therefore this method is said as maintenance, albeit its still just about within the testing part.Advantages
There is clear compartmentalization of labor and management. that produces it easier to line a schedule for the tasks to be completed among a specific amount.Only once the work for a selected part is over, will the opposite part begin, thanks to that there's no overlapping of phases, or the merchandise doesn't need to undergo totally different reiterative steps.
This model is far easier to check. Since the processes area unit all administered in an exceedingly linear trickle-down manner, the price of resources is reduced to an over-sized extent, that successively helps in reducing the price of the project significantly.
Lastly, the documentation and testing happens at the tip of every part, that helps in maintaining the standard of the project.
Disadvantages
Not all necessities area unit received quickly, the necessities from a client could keep obtaining interplanetary to the list even once the tip of the 'requirement gathering and analysis' part. this could negatively have an effect on the system development method.The problems with one part area unit ne'er solved fully throughout identical part. In fact, several issues arise once a part is completed. This leads to a badly structured system, as not all the issues area unit solved in real time.
The project isn't continually divided in an exceedingly versatile method.
As the necessities of the client area unit interplanetary to the list, not all the necessities area unit consummated, this leads to development of associate degree virtually unusable system. These necessities area unit then met within the newer version of the system, that will increase the event price.
Although there area unit a number of disadvantages of the model, it continues to be the foremost widely-used approach within the business. this could be attributed to the very fact that the benefits of this model outweigh its disadvantages in most varieties of comes. And lastly, although the team doesn't have plenty of expertise, this model still absolutely serves the aim.