Friday, September 13, 2019

Compare and contrast different software life- Research Paper

Compare and contrast different software life- - Research Paper Example There are several life-cycle models that have been suggested including waterfall, Agile, Iterative model, prototype model, spiral model etc., each with its different strengths and weaknesses (Thayer, 2005). Moreover, differences exist the way software is developed in theory and in practice. Considering these factors, for a software development organization to make an informed decision on the most appropriate life-cycle model for the particular, organization, the staff and the software process, it is imperative to make a comparative analysis of various life-cycle models (Schach, 2011). This paper therefore, strives to compare and contrast the features and defects of waterfall, Agile, Iterative model, prototype model, and spiral model in order to show the advantages and disadvantages of each. Waterfall Model The idea behind this model is that a subsequent phase can only be initiated upon completion of the previous phases and at the end of each phase or stage, a review is carried out to determine if the project is on course or whether to discontinue or discard the project (Munassar and Govardhan, 2010). The model follows a sequential approach that flows progressively from top to bottom passing through the five stages of the SDLC which include the requirements analysis and maintenance among others. The Waterfall model has various advantages most notably being its ease of use given its popularity among software developers. Moreover, the model is very efficient when working on small projects where requirements are very well understood. The model is also very cost-effective since more time is spent to make sure that all requirements are clearly understood at the earlier stages, which ensure that there remains no need to conduct risk analysis at later stage, which would be more expensive. On the other hand, the model has various drawbacks, the greatest being that once an phase has been initiated, it is impossible to go back to previous stages. For example, is mistakes are made at the design stage, but the situation can get very complex at the implementation level. The client does not have access to the software until it is completed and therefore any changes he might want made during the process may cause problems. Another disadvantage is that the model comes with high amounts of risk and uncertainty, inflexibility and it is generally a poor model for complex and object-oriented projects (Munassar and Govardhan, 2010). Considering these features, the Waterfall model is an appropriate life-cycle model for projects that have clear and well-understood requirements, design and technical tools and infrastructure. Spiral model In the spiral life-cycle model, a lot of emphasis is put on risk analysis and decreasing project risk by disintegrating it into smaller subdivisions. In addition, the model has a greater level of involvement of the client unlike the Waterfall model since reevaluation is carried out every time a new prototype is introduced. Errors are consequently done away with during the early stages of project development only leading to proper control over time and manpower requirement for the development process (Sharma, Sharma and Mehta, 2012). Budget and time estimates can also be made in way that is more realistic because the crucial issues are discovered during the initial

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.