2. Software Development Life
Cycle
Systems development life cycle (SDLC)
Provides overall framework for managing
systems development process
Two main approaches to SDLC
Predictive approach – assumes project can
be planned out in advance
Adaptive approach – more flexible,
assumes project cannot be planned out in
advance
All projects use some variation of SDLC
4. Working of SDLC
Systems analysis, requirements definition: Defines project
goals into defined functions and operation of the intended
application. Analyzes end-user information needs.
Systems design: Describes desired features and operations
in detail, including screen layouts, business rules, process
diagrams, pseudo code and other documentation.
Development: The real code is written here.
Integration and testing: Brings all the pieces together into a
special testing environment, then checks for errors, bugs and
interoperability.
Acceptance, installation, deployment: The final stage of
initial development, where the software is put into production
and runs actual business.
Maintenance: What happens during the rest of the software's
life: changes, correction, additions, moves to a different
computing platform and more. This is often the longest of the
stages.
6. SDLC Model
A framework that describes the activities
performed at each stage of a software
development project.
There are various software development
approaches defined and designed which
are used/employed during development
process of software, these approaches
are also referred as "Software
Development Process Models".
8. 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
9. 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)
10. 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.
14. Other Models
COCOMO Model
Rapid Application Development (RAD)
Phased Model
Prototyping SDLC
Throwaway Prototyping Model
15. Some Agile Methods
Adaptive Software Development (ASD)
Feature Driven Development (FDD)
Crystal Clear
Dynamic Software Development Method
(DSDM)
Rapid Application Development (RAD)
Scrum
Extreme Programming (XP)
Rational Unify Process (RUP)
16. Strength & Weakness of
SDLC
Strength
Control
Monitor Large
Projects
Detailed Steps
Easy To Maintain
Weakness
Increased
Development Time
& Cost
Rigidity
Hard To Estimate
Project Overruns
17. Conclusion
Without an SDLC Model to follow, developers
can have a free hand of developing software.
There are so many programs out there that were
created with a vision of need instead of following
a certain model.
On the other hand SDLC will ensure everything
is laid out. Businesses will have a clear idea of
what will happen and what is expected from a
software.
Maintenance and development of the software is
also possible since parts could be possibly be
reused in different programs.