210 likes | 395 Views
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
E N D
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.