Lec3 & 4 - System Development Lifecycle
Lec3 & 4 - System Development Lifecycle
Lifecycle
Introduction to SDLC
Systems
There
are
several
Development Life Cycle
existence.
Systems
Models in
regarded
as
"the
Development Life Cycle"
Systems
is the
Contd..
These
There
is
no definitively correct
Systems Development Life Cycle
model, but the steps can be
characterized and divided in several
steps
Lifecycle (SDLC)
Systems development life cycle (SDLC)
Provides overall framework for managing
Initiation/Planning
To generate a high-level view of the intended
This
Design
In systems design functions and operations
Contd..
Build or coding
Modular
and
subsystem
programming
code
will
be
accomplished during this stage.
done
in
this
developers.
stage
by
the
Testing
The code is tested at various levels in software testing.
Unit,
system
performed.
and
user
acceptance
testing
are
often
Types of testing:
Control
SDLC
SDLC Phases
Phases Related
Related to
to Management
Management
Contd...
To manage and control any SDLC initiative, each project
Strengths of SDLC
Control.
Monitor Large projects.
Detailed steps.
Evaluate costs and completion
targets.
Documentation.
Well defined user input.
Ease of maintenance.
Development
and
standards.
design
Weakness of SDLC
Increased development time.
Increased development cost.
Systems must be defined up front.
Hard to estimate costs & project
overruns.
User input is sometimes limited.
Waterfall Model
The
Maintenance
Waterfall Model
Waterfall Model
Progresses through the orderly sequence of
steps
It assumes that each subsequent phase will
criteria
Transition from one phase to the next is
Strengths
The model is well known by non-software customers and
end users
another
staf
schedule requirements
reviewed as it is completed
Chart
22
When to use
Waterfall Model
The Waterfall model performs well for
Newer Adaptive
Approaches to the SDLC
Iteration Work activities are repeated
Each iteration refines previous result
Approach assumes no one gets it right the first
time
There are a series of mini projects for each
iteration
Based on spiral model
Project cycles through development activities
Model
Incremental model is an evolution
of waterfall model.
Theincrementalbuild modelis a
method of
where the
implemented
incrementally
each time)
finished.
26
software development
model is designed,
and
tested
(a little more is added
until the product is
Contd..
Incremental
software
development model may be
applicable to projects where:
Software Requirements are well
Iteration of System
Development Activities
28
C o n s t ru c t i o n
c ode
t es t
De p l o y m e n t
d e l i v e ry
fe e dba c k
delivery of
nt h increment
increment # 2
Communic at ion
Planning
M odeling
analys is
des ign
C o n s t ru c t i o n
c ode
De p l o y m e n t
t es t
d e l i v e ry
fe e dba c k
increment # 1
Communic at ion
Pl anning
Modeling
analys is
des ign
C o n s t ru c t i o n
c ode
De p l o y m e n t
t es t
d e l i v e ry
fe e dba c k
delivery of
1st increment
delivery of
2nd increment
The Incremental
Model
The incremental development is
Contd..
The product is decomposed into a
Model
Approach..
The early phases of the life cycle (Planning,
Analysis & Design) consider the entire system to be
developed.
During these phase, the increments and the
Strengths-The
Incremental Model
Funds for a total product development need not
Incremental Model
The
not be lower
Incremental Model
When most of the requirements are
projects
that
have
lengthy
development schedules, usually over one
year
On low-to-medium-risk programs
On
Model
Business Modeling: The information
Modeling:The
information
collected from business modeling is
refined into a set of data objects
(entities) that are needed to support the
business. The attributes (character of
37
Model
Process Modeling:The data object defined
Co n st ru ct io n
component reuse
automatic code
generation
testing
Team # 2
Communication
Modeling
business modeling
dat a modeling
process modeling
Planning
Construction
Team # 1
component reuse
aut omat ic code
generat ion
t est ing
Modeling
business modeling
dat a modeling
process modeling
Construction
component reuse
aut omat ic code
generat ion
t est ing
60 - 90 days
39
Deployment
int egrat ion
delivery
feedback
Strengths of The
RAD Model
Cycle time for the full product can be reduced
system is developed
by a project team
familiar with the problem
40
available
are not
41
RAD Model
On
Systems
that
may
be
modularized and that are scalable
known requirements
On
projects
requiring
short
development times, usually about 60
days
42
Prototyping Model
The Prototyping Model is a systems development
method (SDM) in which aprototype(an early
approximation of a final system or product) is built,
tested, and then reworked as necessary until an
acceptable prototype is finally achieved from which
the complete system or product can now be
developed.
Contd..
A prototype acts as a sample to test
his
feedback,
the
SRS(System
Requirements
Specifications) document is prepared. After completion of
this, a more accurate SRS is prepared, and now development
work
can
start
using
Waterfall
Model.
Contd..
4. The users thoroughly evaluate the first
prototype, noting its strengths and weaknesses,
what needs to be added, and what should to be
removed. The developer collects and analyzes
the remarks from the users.
5. The first prototype is modified, based on the
comments supplied by the users, and a second
prototype of the new system is constructed.
6. The second prototype is evaluated in the same
manner as was the first prototype.
Contd..
7. The preceding steps are iterated as many
times as necessary, until the users are
satisfied that the prototype represents the
final product desired.
8. The final system is constructed, based on
the final prototype.
9. The final system is thoroughly evaluated
and tested. Routine maintenance is carried
out on a continuing basis to prevent large-
Prototyping Model
1)When prototype is shown to the user, he gets a proper
clarity and 'feel' of thefunctionalityof the software and
he can suggest changes and modifications.
2)This type of approach of developing the software is
used for non-IT-literate people. They usually are not good
at specifying their requirements, nor can tell properly
about what they expect from the software.
3)When client is not confident about the developer's
capabilities, he asks for a small prototype to be built.
Based on this model, he judges capabilities of developer.
Contd..
4)Sometimes it helps to demonstrate the concept
to prospective investors to get funding for project.
5)It reduces risk of failure, as potential risks can be
identified early and mitigation steps can be taken.
6)Iteration between development team and client
provides a very good and conductive environment
during project.
7)Time required to complete the project after
getting final the SRS reduces, since the developer
has a better idea about how he should approach
the project.
Disadvantages of Prototyping
Model
1)Prototyping is usually done at the cost of the developer. So it should
be done using minimal resources. It can be done using Rapid Application
Development (RAD) tools. Please note sometimes the start-up cost of
building the development team, focused on making prototype, is high.
Spiral Model
Originally proposed by Berry Boehm in 1988
in the process.
This
53
The
iterations were
months to 2 years long.
Contd..
typically 6
Each
phase
starts
with
a
designgoaland
ends
with
the
client(who
may
be
internal)
reviewing the progress thus far.
Analysis
andengineering efforts
are applied at each phase of the
55
Contd..
A firstprototypeof the new system is
fourfold procedure:
evaluating the first prototype in
terms of its strengths, weaknesses,
and risks;
Spiral Model
Spiral Model is cyclic in nature
Each cycle of the spiral consists of four
58
software process
Commulative Cost
Progress
through
steps
Determine Objectives,
alternatives,
constraints
Risk
analys is
Risk
analys is
R isk
analys is
Commitment
Ratio
R EVIEW
Requi rement s pl an
Life-cycle plan
Develop ment
pl an
Evaluate alternatives,
Identify, resolve risks
Integrati on
and t est p lan
Prototyp e
Prot otyp e
Risk
analysis Prototy pe
Operati onal
protoyp e
2
1 Sim
ul ati ons, m odels, b en ch marks
C oncept o f
Operati on
S/W
requi rements
Requi rement
valid ati on
Prod uct
desi gn
Detailed
desi gn
C ode
Uni t t es t
Desi gn
V&V
Integr ati on
test
Accep tance
test
Serv ice
Spiral Model
Quadrant 1 : Determine Objectives,
alternatives and constraints
Objectives
such
as
performance,
functionality, ability to accommodate
change, hardware/software interface, and
critical success factors are identified.
Alternative means of implementing this
Spiral Model
Quadrant 2 : Evaluate alternatives, and
identify and resolve risks
Alternatives relative to the objectives
(risk
management,
cost-efective
strategy
for
resolving
sources,
evaluation of remaining risks where
money could be lost by continuing
system development etc. ) occurs
61
Spiral Model
Quadrant 3 : Develop Next Level Product
Typical activities in this quadrant could be
Creation of a design,
Review of Design
Development of code
Inspection of Code
Testing and packaging of the product.
The first build is the customers first look at
the system.
62
Spiral Model
Quadrant 4 : Plan Next Phase
Typical activities in this quadrant
could be
Development of the Project
Plan
Development
of
the
configuration Management plan
Development of the test plan
development of the installation
plan
63
Strengths
The spiral model allows users to see the
64
Strengths
It provides early and frequent feedback from
reuse capabilities
allocated up-front
65
Weaknesses
If the project is low-risk or small, this
Model
For projects that represent a medium to high
risk
knowledge
such
as
approaches
67
first-time
object
oriented
69
Some
Some Techniques
Techniques Used
Used in
in System
System Development
Development
70
END OF Chapter
SDLC