Software Lifecycle Models and Comparison
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
Software Lifecycle Models and Comparison
E N D
Presentation Transcript
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.
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.