In the last few decades, peer-to-peer (P2P) file sharing system has shown a lot of advanced researches with a great pace. It is seen that it can take the advantage of the storing capabilities and processing power at low cost. However, such distributed peers are prone to failure. Hence, robustness is the key to analyze the potential of peer-to-peer file sharing system.

Research methods based on peer-to-peer file sharing system are expressed using a globally used taxonomy for peer-to-peer system. For example, methods based for peer-to-peer file sharing system uses simple key, which are accessed, based on various parameters including Plaxton trees, rings, de Bruijn graphs, skip graphs, etc. In addition, various parameters are explored including lookup indexes for the keyword, information access, and data management. Moreover, review of optimized range, aggregation queries, etc. is also done.

However, there are a number of methods available to guide for the research process. The selection of a method for research has to be chosen based on various reasons. The research method has to work in sync in with the way research is working. This is because research is done in various situations and platforms. In addition, there are various support and design tools, which needs the research work to be carried out according to their mode of working. This is because the essence of a research process lies in the modeling and design of the system.

This was the reason a waterfall model was chosen in the year 1992 for various research and development. Ever since, it has been often used in system engineering research and development. The waterfall model includes three major stages as mentioned below.

  • Formulation
  • Analysis
  • Interpretation

The above mentioned steps can be further elaborated into five stages that can be used in a particular development process. Each of the stage passes to the next, once an activity is completed. However, the model always has a provision to adjust to any amendments in the later part of the project. Thus, it offers great flexibility. In addition, a step might be repeated several times, depending upon the requirement of the project. For example, while using a waterfall model, if there is any change, or modification that needs to be carried out at the Implementation stage, then the entire design of the software will change. This approach is the most commonly used as it uses basic practices that are common in the field of engineering. However, there are disadvantages as well. The two main disadvantages using this model are mentioned below.

  • In case there is any change in requirements, this model is not efficient in readily accepting it. Hence, this model should be used, once the requirements are well understood.
  • You have to wait till the final stage to use the software. The software is not available in the intermediate stage of development.

The waterfall model is only selected, if it qualifies for the project need. This is only if the requirements are well understood and software is not required until the last stage.

Waterfall Model

Walter Royce’s was the first to publish on waterfall model. In his publication he agreed with the problems associated with the waterfall model. He accepted that the waterfall model is not capable of adapting to the change which leads to inconsistent software quality. However, the model is still used in various industries especially software. It will continue to have its impact for a long period of time. In the recent past, it has been seen that researchers have overcome its traditional approach and shifted the focus on its incremental development. In addition, there is hardly any empirical research on the waterfall model. However, in order to check the empirical research done on a waterfall model, various studies were done. Though, there were problems that were reported; however, they were just based on assumptions and experience of the researchers. It led to the need for having an industrial research, which would prove the usefulness of the waterfall model in specific context.

Based on the various studies, the different issues were identified in waterfall model and were compared with the assumptions that were made by the researchers. Considering a case that used waterfall model was Ericsson AB, Sweden. The company used waterfall model in its development site for many years. According to famous researcher, Yin, the case study formed the basis of some improvement in the waterfall model. It included:

  • Waterfall model being used in various large-scale software development industries
  • Prioritizing the various issues in the waterfall model after identifying them
  • Comparison of the case study

The various studies done on the waterfall model were used to identify a number of related problems. Though there were a number of advantages and disadvantages that were considered. It is a fact that the waterfall model incorporates a huge cost and requires many approvals, which also have some cost. In addition, iterations are pushed for later stages as they require a lot of time. A common problem identified by almost all the research was the management of the requirement at a large scale. This consequently has led to the failure of the waterfall model. As a result, it failed to address the customers need at the end. Moreover, many of the features were left unused.

Once all the stages are passed, a final issue lies in integrating and testing the overall system. In a survey of almost 300+ waterfall models, it was seen that software deployed is never used. Else they are not deployed. This is because of the lack of opportunity for the customers to provide a feedback on the system due to several misunderstandings. This is especially in large projects involving waterfall model.

However, there are many advantages as well. The model is capable of planning and structuring the architecture of the system. It is very predictable and gives a detailed attention when dealing with large systems. Without the detailed knowledge, there would be a risk in planning the architecture. Moreover, it won’t be possible to document and review the system in detail.

You may also like: Enhancing Waterfall Process through V-Model Software Development Methodology