A software development model is a theoretical representation of the descriptive process bases on the specifications, design, Validation and Evaluation of the development process. The software development models are also referred to as Software Development Life Cycle (SDLC) The Waterfall model. It is a classical software engineering design and one of the oldest.
The model lays emphasis on the early planning stages and quality control hence detecting faults in design before they develop. The model applies sequential development technique where development moves downwards.All other models are principally derived from the Waterfall model (Brambilla & Morgan, 2012). Advantages of the Waterfall Model. The model is very simple to comprehend and execute. The model has well-described milestones and extensive documentation.
The Model is perfect for feeble teams and developed products (Brambilla & Morgan, 2012). Disadvantages of the Waterfall model. The model’s idea does not match well with reality and fails to reveal the iterative aspect of exploratory development. It is also expensive and cumbersome to make changes, and the results usually delivered late (Govardhan & Munassar, 2010).V-Shaped Model.
The model has a V-shaped life cycle and uses a sequential execution path of processes. Unlike the Waterfall model, the V-shaped model emphasizes on testing and each stage has to finished before moving to the next one. Coding is done after the testing has been done in the early stages. The testing is done on every stage to test the components before the implementation (Brambilla & Morgan, 2012). Development of this model requires that the testing plan to be put in place before the designing begins.Coding takes place in the implementation stage.
Advantages of a V-shaped Model. The design is simple with specific deliverables. The model has a relatively higher success rate than the Waterfall model due to its emphasis on the testing plans. It is also convenient and efficient for small teams. Disadvantages. Just like the Waterfall model, a V-shaped model lacks flexibility and expensive to make changes to.
Since the coding is done at the implementation, there is no prototypes in the beginning or during the software development.The Models also fails to give an elaborate path for problems solving at testing stages (Brambilla & Morgan, 2012). Spiral Model In this model, the main focus is on the risk analysis. The model has four stages: Planning, Risk Analysis, Engineering and Evaluation. The project continually goes through the four phases Spirals. Requests are collected Beginning from the planning point, and the risk assessed and every succeeding spiral forms on the baseline spiral.
The risk analysis identifies risks and alternative solutions and in the end a prototype is produced.The software is delivered at the engineering stage together with the testing phase. The evaluation stage permits the client to examine project result (Brambilla & Morgan & Claypool Publishers, 2012). Advantages of Spiral Model.
The models involve rigorous risk analysis which is best suited for crucial projects. The software is delivered in the early stages of the life cycle. Disadvantages. The model is quite expensive as the risk analysis requires high expertise. Since the project is focused more on the risk analysis, it is, therefore, unsuitable for small teams. Iterative ModelIn this model, the process begins with a simple execution of the software’s subset requirements and iteratively improves the developing version until the whole system is fully executed ready for deployment.
The concept behind this model is that the system is developed via repeated cycles (Iterative) and increased at smaller proportions At each cycle the design is modified and the more capability functions supplemented (Beydeda, Book, & Gruh, 2010). The success of this model is determined by the constant verification, validation and testing of each software in the cycle.Advantages of the Iterative model. This model has a working model at each development stage which helps in identifying flaws early. Risk analysis is much better and easy, and the life cycle of the model allows the software delivery at the early stages allowing for customer evaluation and feedback (Beydeda, Book, & Gruh, 2010). Disadvantages of the Iterative Model.
The limitations to this model are that it cannot be used in small projects as it requires a more resources, therefore, very costly. The design requires more expertise and hugely relies on risk analysis. Agile ModelThis model is a mixture of both the Iterative and the incremental design processes with emphasis on the process flexibility and customer satisfaction. The Agile model is founded on the concept of individuals and interactions, working software, client collaboration as well as response to change (Beydeda, Book, & Gruh, 2010). An example of this model is the Scrum (1995) and Rational Unified Process(1994).
Advantages. The Agile model is very flexible, easy to manage with minimal rule and documentation. It is also suitable for changing environments and require minimum resources.Disadvantages. The downside to this method emanates from its high dependency on the individual and client interaction who can be at times quite misleading.
The models cannot be applied in complex projects (Beydeda, Book, & Gruh, 2010). In conclusion, the choice of a particular model will depend on the requirements and specification of the user. For instance, some organizations use the Waterfall model for their various internal projects. Spiral Models are used in the execution of very huge and mission- critical projects since it emphasizes on the risk analysis.