2.Basic Introduction of SDLC Phases and Explanation of SDLC Models
2.Basic Introduction of SDLC Phases and Explanation of SDLC Models
Unit -1
Feasibility Study
2
Activities during Feasibility Study
3
Activities during • Perform a cost/benefit analysis:
4
• Aim of this phase:
• requirements specification.
5
• Collect all related data from the
customer:
6
Requirements • Gathering relevant data:
• usually collected from the end-users
Gathering through interviews and discussions.
• For example, for a business
accounting software:
• interview all the accountants of
the organization to find out their
requirements.
7
Requirements • The data you initially collect from the
users:
8
Requirements • Ambiguities and contradictions:
9
Requirements • Engineers doing requirements
Analysis analysis and specification:
(CONT.) • are designated as analysts.
10
• Design phase transforms
requirements
specification:
Design • into a form suitable for
implementation in some
programming language.
11
Design
Two design
In technical terms:
approaches:
• during design phase, • traditional approach,
software architecture • object oriented
is derived from the approach.
SRS document.
12
Traditional Design
Approach
• Consists of two
activities:
• Structured analysis
• Structured design
13
Structured Analysis Activity
1 2 3
Identify all the Identify data flow Decompose each
functions to be among the functions. function recursively
performed. into sub-functions.
• Identify data flow among
the subfunctions as well.
14
Structured Analysis (CONT.)
15
Structured Design
16
Object Oriented Design
• First identify various objects (real world entities)
occurring in the problem:
• identify the relationships among the objects.
• For example, the objects in a pay-roll software may
be:
• employees,
• managers,
• pay-roll register,
• Departments, etc.
17
Object Oriented Design (CONT.)
18
Implementation
19
Implementation • During the implementation phase:
• each module of the design is
coded,
• each module is unit tested
• tested independently as a
stand alone unit, and
debugged,
• each module is documented.
20
Implementation (CONT.)
a set of program
test if individual
modules that
modules work
have been tested
correctly.
individually.
21
Integration and System Testing
22
Integration and M1 M2
System Testing M3 M4
23
System Testing
24
Maintenance
25
Maintenance (CONT.)
26
Classical waterfall model divides
life cycle into phases:
• Feasibility study,
• Requirements analysis and
Classical specification,
Waterfall Model • Design,
• Coding and unit testing,
• Integration and system testing,
27
• Maintenance.
Feasibility Study
Req. Analysis
Classical Design
Waterfall Coding
Model Testing
Maintenance
28
Classical Waterfall Model (CONT.)
29
Most organizations usually They also prescribe specific
define: methodologies for:
entry and exit criteria for every phase. specification,
design,
testing,
project management, etc.
30
1. no feedback paths
Drawbacks of
2. difficult to accommodate changes
classical water
fall model 3. No overlapping of phases
31
• Defects usually get detected much
later in the life cycle:
Iterative Waterfall
Model (CONT.) • For example, a design defect might
go unnoticed till the coding or
testing phase.
32
Once a defect is detected:
we need to go back to redo some of the work
the phase where it was done during that and all
introduced subsequent phases.
Iterative
Waterfall Model
(CONT.)
Therefore we need
feedback paths in the
classical waterfall model.
33
Feasibility Study
Waterfall Design
Model Coding
(CONT.) Testing
Maintenance
34
Errors
should • in the same phase in which they are
be introduced.
Iterative detected
Waterfall Model
(CONT.) • if a design problem is detected in
the design phase itself,
For • the problem can be taken care of
much more easily than, if it is
example: identified at the end of the
integration and system testing
phase.
35
The principle of is known as
detecting errors as close phase
Phase
to its point of containment of
introduction as possible: errors.
containment
of errors Iterative waterfall model
is most widely used
Almost every other
model is derived
from the waterfall
model. model.
36
Before starting actual
development,
a working prototype of the
Prototyping system should first be built.
Model A prototype is a toy
implementation of a system:
limited functional capabilities,
low reliability, 37
inefficient performance.
• The reason for
developing a prototype
is:
• it is impossible to ``get
Prototyping it right'' the first time,
Model (CONT.) • we must plan to throw
away the first product
• if we want to develop a
good product. 38
• The developed prototype is
submitted to the customer for
his evaluation:
Prototyping • Based on the user feedback,
requirements are refined.
Model (CONT.) • This cycle continues until the user
approves the prototype.
• The actual system is developed
using the classical waterfall
approach. 39
Prototyping Model (CONT.)
Build Prototype
Customer
Requirements satisfied
Customer
Gathering Quick Design Evaluation of Design
Prototype
Implement
Refine
Requirements
Test
Maintenance
40
Prototyping Model (CONT.)
41
Evolutionary Model
• Evolutionary model:
• The system is broken down into several modules
which can be incrementally implemented and
delivered.
• First develop the core modules of the system.
• The initial product skeleton is refined into
increasing levels of capability:
• by adding new functionalities in successive
versions.
42
Evolutionary Model (CONT.)
43
Evolutionary Model (CONT.)
A A A
B B
44
Advantages of Evolutionary Model
• Users get a chance to experiment with a partially developed
system:
• much before the full working version is released,
• Helps finding exact user requirements:
• much before fully working system is developed.
• Core modules get tested thoroughly:
• reduces chances of errors in final product.
45
Disadvantages of Evolutionary Model
46
Spiral Model
• Proposed by Boehm in 1988.
• Each loop of the spiral represents a phase of the
software process:
• the innermost loop might be concerned with
system feasibility,
• the next loop with system requirements
definition,
• the next one with system design, and so on.
• There are no fixed phases in this model, the
phases shown in the figure are just examples.
47
Determine Identify &
Objectives Resolve Risks
48
Spiral Model (CONT.)
50
Identify Identify objectives of the phase,
Objective
Examine the risks associated with
Setting (First Examine these objectives.
Quadrant) • Risk: any adverse circumstance that might
hamper successful completion of a software
project.
51
For each identified a detailed
analysis is
project risk, carried out.
Risk
Assessment
and Steps are taken to reduce the
Reduction risk.
(Second
Quadrant) For example, if a
there is a risk that prototype
system
the requirements may be
are inappropriate: developed.
52
Development and Validation (Third
quadrant):
• develop and validate the next level of the
product.
55
Iterative waterfall model Prototype model is suitable for
projects not well understood:
most widely used model. user requirements
But, suitable only for well-
understood problems.
Comparison of Different Life Cycle Models (CONT.)
56
the customer.