SOFTWARE LIFECYCLE MODELS AND COMPARISON Introduction What is Software Lifecycle? Series of stages in the development of software Often used in Software Engineering E.g. analysis, designs, implementation, tests, maintenance Software Lifecycle Models Waterfall Model Prototype Model Spiral Model Agile Model Basic Terms Requirements Analysis Implementation Software testing Documentation Maintenance Waterfall Model Simplest software model Sequential design process Clear project objectives Stable project requirements. Concrete and clear approach to software development Amount of resources required is very minimal. Disadvantages of Waterfall Model Difficulty responding to changes Time consuming as the testing process starts the last stages Estimating time and costs is difficult for each stage. Never backward (Traditional) Prototype Model Overcomes limitations of Waterfall model Prototype is made which is further modified as per the requirement of the customer Prototype Model Advantages Users are actively involved in the development Errors can be detected much earlier as the system is made side by side. Quicker user feedback is available leading to better solutions. Widely used in user interactive systems. Prototype Model Disadvantages Leads to implementing and then repairing way of building systems. May increase the complexity of the system as scope of the system may expand beyond original plans. Spiral Model combines the features of both prototype and waterfall model. Combination of iterative and systematic development. Based on continuous refinement of key products for requirements definition and analysis, system and software design; and implementation. Spiral Model Spiral model (Boehm, 1986) Spiral Model Advantages: Allows for elements of the product to be added in when they become available or known. Forces early user involvement in the system development effort. Helps manage risk and uncertainty by allowing multiple decision points Spiral Model Disadvantages: Only suitable for large and expensive projects. Complications may arise. Takes longer time. Agile Model It is an enhanced software development, not a alternative option. It is a distinct software development method. Its an iterative method. Agile Model Advantages Agile by definition would naturally refer to something which is quick and easy to do. They are test-driven software development. It provides advice for how to be effective as a modeler. Agile Model Disadvantages Difficult to apply where there are large team members. May increase the complexity of the system as scope of the system may expand beyond original plan. It does not define detailed procedures for how to create a given type of model. MAJOR COMPARISONS Feasibility Models Description Waterfall Model Only feasible if requirements are pre-defined and design structure is well known. Prototype Model More feasible than waterfall mode as a prototype is made at initial phase. Spiral Model Feasible for projects in which next phases are pre-planned and also reduces risk management. Agile Model Most feasible model due to both incremental and iterative approach. Cost Models Description Waterfall Model Minimum cost. Prototype Model Low cost yet effective. Spiral Model Highest cost. Agile Model Average cost. Which Model for you? Models Description Waterfall Model Small scale project, low budget, weak team and if you know your system design structure. Prototype Model User interactive, average budget and if you have insufficient analysis. Spiral Model Large scale project, high budget to produce a complete and better software. Agile Model User interactive and small team (e.g less than 8 members) Conclusion There are many existing models for developing systems based on size & requirement. Waterfall model and spiral model are used commonly in developing systems. Each model has merits & demerits, so each model tries to eliminate the demerits of the previous model.
© Copyright 2024