You are on page 1of 25

Software Development Life Cycle

(SDLC)

Kirana Store
Software life cycle (SDLC) models describe the
phases of the software cycle and the order in which those
phases are executed.

Definition:

The systems development life cycle (SDLC) is a


conceptual model used in project management that
describes the stages involved in an information system
development project, from an initial feasibility study
through maintenance of the completed application.
SDLC
There are tons of models, and many companies adopt their
own, but all have very similar patterns. The general, basic
model is shown below:
Why we need a SDLC??
Ease the process of building a system
Avoid development problems
– Unclear objectives
– Cost overruns
– Development delays
• Avoid the system not meeting user requirements
Explanation in brief...
1. Requirement Stage…

Business requirements are gathered in this phase

This Stage Answers:--

• Who is going to use the system? 


• How will they use the system? 
• What data should be input into the system? 
• What data should be output by the system?
2. Design Stage…

• The software system design is produced


from the results of the requirements
phase.

• This is where the details on how the


system will work is produced.

Kirana Store
Continued...
3.Implementation…

In implementation stage code is produced


from the deliverables of the design phase,
and this is the longest phase of the
software development life cycle(SDLC).

Kirana Store
4.Testing….

The final product is tested against the requirements


to make sure that it is actually solving the needs
addressed and gathered during the requirements
phase & working as per the client’s requirement.

Kirana Store
SDLC Models...

The SDLC or Waterfall • Spiral Modal


model
• RAD Model
Evolutionary Model (Rapid Application
Development)
Prototype Model

Kirana Store
Waterfall Model
In the waterfall model, development is seen as flowing
steadily downwards (like a waterfall) through the phases of
requirements analysis, design, implementation, testing
(validation), integration, and maintenance

Kirana Store
When to use the Waterfall Model ?
 Requirements are very well known

 Product definition is stable

 Technology is understood

 New version of an existing product

 Porting an existing product to a new platform.

Kirana Store
Waterfall Strengths
 Easy to understand, easy to use
 Provides structure to inexperienced staff
 Milestones are well understood
 Sets requirements stability
 Good for management control (plan, staff, track)
 Works well when quality is more important than cost
or schedule

Kirana Store
Waterfall Deficiencies
 All requirements must be known upfront
 Deliverables created for each phase are considered
frozen – inhibits flexibility
 Can give a false impression of progress
 Does not reflect problem-solving nature of software
development – iterations of phases
 Integration is one big bang at the end
 Little opportunity for customer to preview the
system (until it may be too late)

Kirana Store
Structured Evolutionary Prototyping Model
 Developers build a prototype
during the requirements phase
 Prototype is evaluated by end
users
 Users give corrective feedback
 Developers further refine the
prototype
 When the user is satisfied, the
prototype code is brought up
to the standards needed for a
final product.

Kirana Store
Structured Evolutionary Prototyping Strengths

 Developers learn from customers


 A more accurate end product
 Unexpected requirements accommodated
 Allows for flexible design and development
 Steady, visible signs of progress produced
Structured Evolutionary Prototyping Weakness

 Bad reputation for “quick-and-dirty” methods


 Overall maintainability may be overlooked
 The customer may want the prototype delivered.
 Process may continue forever (scope creep)

Kirana Store
When to use Structured Evolutionary Prototyping ?

 Requirements are unstable or have to be clarified


 As the requirements clarification stage of a waterfall
model
 Develop user interfaces
 Short-lived demonstrations
 New, original development
 With the analysis and design portions of object-
oriented development.

Kirana Store
Incremental SDLC Model
• Construct a partial
implementation of a
total system
• Then slowly add
increased functionality
• The incremental model
prioritizes requirements
of the system and then
implements them in
groups.
• Each subsequent release
of the system adds
function to the previous.
Kirana Store
Incremental Model Strengths
 Develop high-risk or major functions first
 Each release delivers an operational product
 Uses “divide and conquer” breakdown of tasks
 Lowers initial delivery cost
 Initial product delivery is faster
Incremental Model Weakness:
 Requires good planning and design
 Well-defined module interfaces are required (some
will be developed long before others)
 Total cost of the complete system is not lower
Kirana Store
Spiral Model

Kirana Store
When to use Spiral Model
 When creation of a prototype is appropriate
 When costs and risk evaluation is important
 For medium to high-risk projects
 Long-term project commitment unwise because of
potential changes to economic priorities
 Users are unsure of their needs
 Requirements are complex
 New product line
 Significant changes are expected (research and
exploration)

Kirana Store
Advantages:
 Identifies probable risks in advance and tries to
minimize them
 Different processes maybe used for different loops
in the spiral
Disadvantages:
 Occurrence of a risk item could result in project
delay, exceeding cost or even failure
 The model is complex
 Risk assessment expertise is required

Kirana Store
Rapid Application Model (RAD)
o Requirements planning phase (a
workshop utilizing structured
discussion of business problems)
o User description phase –
automated tools capture
information from users
o Construction phase – productivity
tools, such as code generators,
screen generators, etc. inside a
time-box. (“Do until done”)
o Cutover phase -- installation of the
system, user acceptance testing
and user training.
Kirana Store
RAD Strengths
 Time-box approach mitigates cost and schedule risk
 Focus moves from documentation to code (WYSIWYG).
RAD Weaknesses
 Risk of never achieving closure
 Hard to use with legacy systems
 Requires a system that can be modularized
When to use RAD
 Project can be time-boxed
 High performance not required
 Low technical risks
 System can be modularized

Kirana Store
Prototyping
Prototype refers to a working model of an
information system
Its characteristics are:
Prototype is a live, working application
Purpose of prototyping is to test out assumptions
made by analysts and user about required system
feature
Can be created quickly
Relatively less expensive to build

Kirana Store
Thank You 4 Listening!!!

Presented by
DINESH SUTHAR

I hope you learned something!!!


Kirana Store

You might also like