SOFTWARE LIFECYCLE MODELS AND COMPARISON

Transcription

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
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.