Sie sind auf Seite 1von 37

Software Development Life Cycle (SDLC)

i
SOFTWARE DEVELOPMENT SOFTWARE DEVELOPMENT SOFTWARE DEVELOPMENTSOFTWARE DEVELOPME
NTSOFTWARE DEVELOPMENT SOFTWARE DEVELOPMENTSOFTWARE DEVELOPMENTSOFTWARE DEVELOPM
ENT SOFTWARE DEVELOPMENTSOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) LIFE CYCLE (SDLC)
LIFE CYCLE (SDLC) LIFE CYCLE (SDLC) LIFE CYCLE (SDLC) LIFE CYCLE (SDLC) LIFE CY
CLE (SDLC) LIFE CYCLE (SDLC) LIFE CYCLE (SDLC)
Simply Easy Learning by tutorialspoint.comSimply Easy Learning by tutorialspoint
.comSimply Easy Learning by tutorialspoint.comSimply Easy Learning by tutorialsp
oint.comSimply Easy Learning by tutorialspoint.comSimply Easy Learning by tutori
alspoint.comSimply Easy Learning by tutorialspoint.comSimply Easy Learning by tu
torialspoint.comSimply Easy Learning by tutorialspoint.comSimply Easy Learning b
y tutorialspoint.comSimply Easy Learning by tutorialspoint.comSimply Easy Learni
ng by tutorialspoint.comSimply Easy Learning by tutorialspoint.comSimply Easy Le
arning by tutorialspoint.comSimply Easy Learning by tutorialspoint.comSimply Eas
y Learning by tutorialspoint.comSimply Easy Learning by tutorialspoint.comSimply
Easy Learning by tutorialspoint.comSimply Easy Learning by tutorialspoint.comSi
mply Easy Learning by tutorialspoint.comSimply Easy Learning by tutorialspoint.c
omSimply Easy Learning by tutorialspoint.comSimply Easy Learning by tutorialspoi
nt.comSimply Easy Learning by tutorialspoint.comSimply Easy Learning by tutorial
spoint.comSimply Easy Learning by tutorialspoint.comSimply Easy Learning by tuto
rialspoint.comSimply Easy Learning by tutorialspoint.comSimply Easy Learning by
tutorialspoint.comSimply Easy Learning by tutorialspoint.comSimply Easy Learning
by tutorialspoint.comSimply Easy Learning by tutorialspoint.comSimply Easy Lear
ning by tutorialspoint.comSimply Easy Learning by tutorialspoint.comSimply Easy
Learning by tutorialspoint.comSimply Easy Learning by tutorialspoint.comSimply E
asy Learning by tutorialspoint.comSimply Easy Learning by tutorialspoint.comSimp
ly Easy Learning by tutorialspoint.comSimply Easy Learning by tutorialspoint.com
Simply Easy Learning by tutorialspoint.comSimply Easy Learning by tutorialspoint
.com tutorialsptutorialsptutorialsptutorialsptutorialsptutorialsptutorialsptutor
ialsptutorialsptutorialspointointointoint.com.com.com.com
ii
ABOUT THE TUTORIALABOUT THE TUTORIALABOUT THE TUTORIALABOUT THE TUTORIALABOUT TH
E TUTORIALABOUT THE TUTORIALABOUT THE TUTORIALABOUT THE TUTORIALABOUT THE TUTORI
ALABOUT THE TUTORIALABOUT THE TUTORIALABOUT THE TUTORIALABOUT THE TUTORIALABOUT
THE TUTORIALABOUT THE TUTORIALABOUT THE TUTORIALABOUT THE TUTORIALABOUT THE TUTO
RIAL SDLC SDLC SDLC SDLC SDLC TutorialTutorialTutorialTutorialTutorialTutorialTu
torialTutorial SDLC stands for Software Development Life Cycle. SDLC is the proc
ess consisting of a series of planned activities to develop or alter the softwar
e products. This tutorial will give you an overview of the SDLC basics, SDLC mod
els available and their application in the industry. This tutorial also elaborat
es on the other related methodologies like Agile, RAD and Prototyping. AudienceA
udienceAudienceAudienceAudienceAudienceAudienceAudience The SDLC tutorial is rel
evant to all software professionals contributing in any manner to the Software p
roduct development and its release. It is a handy reference for the quality stak
eholders of a Software project and the program/project managers. By the end of t
his tutorial the readers will develop sound understanding of the SDLC and relate
d concepts and will be in a position to select and follow the right model for a
given Software project. PrerequisitesPrerequisitesPrerequisitesPrerequisitesPrer
equisitesPrerequisitesPrerequisitesPrerequisitesPrerequisitesPrerequisitesPrereq
uisitesPrerequisitesPrerequisites There are no specific prerequisites for the SD
LC tutorial and any software professional can go through this tutorial to get a
bigger picture of how high quality software applications and products are design
ed. A good understanding of programming or testing or project management will gi
ve you an added advantage and help you gain maximum from this tutorial. Copyrigh
t & Disclaimer NoticeCopyright & Disclaimer NoticeCopyright & Disclaimer NoticeC
opyright & Disclaimer NoticeCopyright & Disclaimer NoticeCopyright & Disclaimer
NoticeCopyright & Disclaimer NoticeCopyright & Disclaimer NoticeCopyright & Disc
laimer NoticeCopyright & Disclaimer NoticeCopyright & Disclaimer NoticeCopyright
& Disclaimer NoticeCopyright & Disclaimer NoticeCopyright & Disclaimer NoticeCo
pyright & Disclaimer NoticeCopyright & Disclaimer NoticeCopyright & Disclaimer N
oticeCopyright & Disclaimer NoticeCopyright & Disclaimer NoticeCopyright & Discl
aimer NoticeCopyright & Disclaimer NoticeCopyright & Disclaimer NoticeCopyright
& Disclaimer NoticeCopyright & Disclaimer NoticeCopyright & Disclaimer NoticeCop
yright & Disclaimer NoticeCopyright & Disclaimer NoticeCopyright & Disclaimer No
ticeCopyright & Disclaimer Notice ? All the content and graphics on this tutoria
l are the property of tutorialspoint.com. Any content from tutorialspoint.com or
this tutorial may not be redistributed or reproduced in any way, shape, or form
without the written permission of tutorialspoint.com. Failure to do so is a vio
lation of copyright laws. This tutorial may contain inaccuracies or errors and t
utorialspoint provides no guarantee regarding the accuracy of the site or its co
ntents including this tutorial. If you discover that the tutorialspoint.com site
or this tutorial content contains some errors, please contact us at webmaster@t
utorialspoint.com
ii
iii
Table of Contents
SDLC Tutorial...................................................................
......... i
Audience .......................................................................
............ i
Prerequisites ..................................................................
........... i
Copyright & Disclaimer Notice ..................................................
. i
SDLC Overview ..................................................................
.... 1
What is SDLC? ..................................................................
........................ 1
SDLC Models ....................................................................
......................... 3
Waterfall Model ................................................................
...... 4
Waterfall Model design .........................................................
..................... 4
Waterfall Model Application ....................................................
................... 5
Waterfall Model Pros & Cons ....................................................
................. 6
Iterative Model ................................................................
....... 7
Iterative Model design .........................................................
....................... 7
Iterative Model Application ....................................................
..................... 8
Iterative Model Pros and Cons ..................................................
................. 8
Spiral Model ...................................................................
....... 10
Spiral Model design ............................................................
..................... 10
Spiral Model Application .......................................................
................... 12
Spiral Model Pros and Cons .....................................................
............... 12
V - Model ......................................................................
......... 13
V- Model design ................................................................
....................... 13
V- Model Application ...........................................................
..................... 15
V- Model Pros and Cons .........................................................
................. 15
Big Bang Model .................................................................
.... 17
Big Bang Model design and Application ..........................................
........ 17
Big Bang Model Pros and Cons ...................................................
............ 17
Agile Model ....................................................................
....... 19
What is Agile? .................................................................
......................... 19
Agile Vs Traditional SDLC Models ...............................................
............ 20
Agile Model Pros and Cons ......................................................
............... 21
RAD Overview ...................................................................
... 22
What is RAD? ...................................................................
....................... 22
iii
RAD Model Design ...............................................................
................... 22
RAD Model Vs Traditional SDLC ..................................................
........... 24
RAD Model Application ..........................................................
.................. 24
RAD Model Pros and Cons ........................................................
.............. 24
Software Prototyping Overview ........................................... 26
What is Software Prototyping? ..................................................
............... 26
Software Prototyping Types .....................................................
................ 27
Software Prototyping Application ...............................................
.............. 28
Software Prototyping Pros and Cons .............................................
.......... 28
SDLC Summary ...................................................................
. 29
References .....................................................................
........ 30
Books: .........................................................................
............................. 30
Websites: ......................................................................
........................... 30
TUTORIALS POINT
Simply Easy Learning Page 1
SDLC OverviewSDLC OverviewSDLC OverviewSDLC OverviewSDLC OverviewSDLC OverviewSD
LC OverviewSDLC OverviewSDLC OverviewSDLC OverviewSDLC OverviewSDLC OverviewSDLC
Overview SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to SDLC, Software Development Life Cycle is a process used by software in
dustry to design, develop and test high quality softwares. The SDLC aims to prod
uce a design, develop and test high quality softwares. The SDLC aims to produce
a design, develop and test high quality softwares. The SDLC aims to produce a de
sign, develop and test high quality softwares. The SDLC aims to produce a design
, develop and test high quality softwares. The SDLC aims to produce a design, de
velop and test high quality softwares. The SDLC aims to produce a design, develo
p and test high quality softwares. The SDLC aims to produce a design, develop an
d test high quality softwares. The SDLC aims to produce a design, develop and te
st high quality softwares. The SDLC aims to produce a design, develop and test h
igh quality softwares. The SDLC aims to produce a design, develop and test high
quality softwares. The SDLC aims to produce a design, develop and test high qual
ity softwares. The SDLC aims to produce a design, develop and test high quality
softwares. The SDLC aims to produce a design, develop and test high quality soft
wares. The SDLC aims to produce a design, develop and test high quality software
s. The SDLC aims to produce a design, develop and test high quality softwares. T
he SDLC aims to produce a design, develop and test high quality softwares. The S
DLC aims to produce a design, develop and test high quality softwares. The SDLC
aims to produce a design, develop and test high quality softwares. The SDLC aims
to produce a design, develop and test high quality softwares. The SDLC aims to
produce a design, develop and test high quality softwares. The SDLC aims to prod
uce a design, develop and test high quality softwares. The SDLC aims to produce
a design, develop and test high quality softwares. The SDLC aims to produce a de
sign, develop and test high quality softwares. The SDLC aims to produce a design
, develop and test high quality softwares. The SDLC aims to produce a design, de
velop and test high quality softwares. The SDLC aims to produce a design, develo
p and test high quality softwares. The SDLC aims to produce a design, develop an
d test high quality softwares. The SDLC aims to produce a design, develop and te
st high quality softwares. The SDLC aims to produce a design, develop and test h
igh quality softwares. The SDLC aims to produce a design, develop and test high
quality softwares. The SDLC aims to produce a design, develop and test high qual
ity softwares. The SDLC aims to produce a design, develop and test high quality
softwares. The SDLC aims to produce a design, develop and test high quality soft
wares. The SDLC aims to produce a design, develop and test high quality software
s. The SDLC aims to produce a design, develop and test high quality softwares. T
he SDLC aims to produce a design, develop and test high quality softwares. The S
DLC aims to produce a design, develop and test high quality softwares. The SDLC
aims to produce a design, develop and test high quality softwares. The SDLC aims
to produce a design, develop and test high quality softwares. The SDLC aims to
produce a design, develop and test high quality softwares. The SDLC aims to prod
uce a design, develop and test high quality softwares. The SDLC aims to produce
a design, develop and test high quality softwares. The SDLC aims to produce a de
sign, develop and test high quality softwares. The SDLC aims to produce a design
, develop and test high quality softwares. The SDLC aims to produce a design, de
velop and test high quality softwares. The SDLC aims to produce a design, develo
p and test high quality softwares. The SDLC aims to produce a design, develop an
d test high quality softwares. The SDLC aims to produce a design, develop and te
st high quality softwares. The SDLC aims to produce a design, develop and test h
igh quality softwares. The SDLC aims to produce a design, develop and test high
quality softwares. The SDLC aims to produce a design, develop and test high qual
ity softwares. The SDLC aims to produce a design, develop and test high quality
softwares. The SDLC aims to produce a design, develop and test high quality soft
wares. The SDLC aims to produce a design, develop and test high quality software
s. The SDLC aims to produce a design, develop and test high quality softwares. T
he SDLC aims to produce a design, develop and test high quality softwares. The S
DLC aims to produce a design, develop and test high quality softwares. The SDLC
aims to produce a design, develop and test high quality softwares. The SDLC aims
to produce a design, develop and test high quality softwares. The SDLC aims to
produce a design, develop and test high quality softwares. The SDLC aims to prod
uce a design, develop and test high quality softwares. The SDLC aims to produce
a design, develop and test high quality softwares. The SDLC aims to produce a de
sign, develop and test high quality softwares. The SDLC aims to produce a design
, develop and test high quality softwares. The SDLC aims to produce a design, de
velop and test high quality softwares. The SDLC aims to produce a design, develo
p and test high quality softwares. The SDLC aims to produce a design, develop an
d test high quality softwares. The SDLC aims to produce a design, develop and te
st high quality softwares. The SDLC aims to produce a design, develop and test h
igh quality softwares. The SDLC aims to produce a design, develop and test high
quality softwares. The SDLC aims to produce a design, develop and test high qual
ity softwares. The SDLC aims to produce a design, develop and test high quality
softwares. The SDLC aims to produce a design, develop and test high quality soft
wares. The SDLC aims to produce a design, develop and test high quality software
s. The SDLC aims to produce a design, develop and test high quality softwares. T
he SDLC aims to produce a design, develop and test high quality softwares. The S
DLC aims to produce a design, develop and test high quality softwares. The SDLC
aims to produce a design, develop and test high quality softwares. The SDLC aims
to produce a design, develop and test high quality softwares. The SDLC aims to
produce a design, develop and test high quality softwares. The SDLC aims to prod
uce a quality software that meets or exceeds customer expectations, reaches comp
letion within quality software that meets or exceeds customer expectations, reac
hes completion within quality software that meets or exceeds customer expectatio
ns, reaches completion within quality software that meets or exceeds customer ex
pectations, reaches completion within quality software that meets or exceeds cus
tomer expectations, reaches completion within quality software that meets or exc
eeds customer expectations, reaches completion within quality software that meet
s or exceeds customer expectations, reaches completion within quality software t
hat meets or exceeds customer expectations, reaches completion within quality so
ftware that meets or exceeds customer expectations, reaches completion within qu
ality software that meets or exceeds customer expectations, reaches completion w
ithin quality software that meets or exceeds customer expectations, reaches comp
letion within quality software that meets or exceeds customer expectations, reac
hes completion within quality software that meets or exceeds customer expectatio
ns, reaches completion within quality software that meets or exceeds customer ex
pectations, reaches completion within quality software that meets or exceeds cus
tomer expectations, reaches completion within quality software that meets or exc
eeds customer expectations, reaches completion within quality software that meet
s or exceeds customer expectations, reaches completion within quality software t
hat meets or exceeds customer expectations, reaches completion within quality so
ftware that meets or exceeds customer expectations, reaches completion within qu
ality software that meets or exceeds customer expectations, reaches completion w
ithin quality software that meets or exceeds customer expectations, reaches comp
letion within quality software that meets or exceeds customer expectations, reac
hes completion within quality software that meets or exceeds customer expectatio
ns, reaches completion within quality software that meets or exceeds customer ex
pectations, reaches completion within quality software that meets or exceeds cus
tomer expectations, reaches completion within quality software that meets or exc
eeds customer expectations, reaches completion within quality software that meet
s or exceeds customer expectations, reaches completion within quality software t
hat meets or exceeds customer expectations, reaches completion within quality so
ftware that meets or exceeds customer expectations, reaches completion within qu
ality software that meets or exceeds customer expectations, reaches completion w
ithin quality software that meets or exceeds customer expectations, reaches comp
letion within quality software that meets or exceeds customer expectations, reac
hes completion within quality software that meets or exceeds customer expectatio
ns, reaches completion within quality software that meets or exceeds customer ex
pectations, reaches completion within quality software that meets or exceeds cus
tomer expectations, reaches completion within quality software that meets or exc
eeds customer expectations, reaches completion within quality software that meet
s or exceeds customer expectations, reaches completion within quality software t
hat meets or exceeds customer expectations, reaches completion within quality so
ftware that meets or exceeds customer expectations, reaches completion within qu
ality software that meets or exceeds customer expectations, reaches completion w
ithin quality software that meets or exceeds customer expectations, reaches comp
letion within quality software that meets or exceeds customer expectations, reac
hes completion within quality software that meets or exceeds customer expectatio
ns, reaches completion within quality software that meets or exceeds customer ex
pectations, reaches completion within quality software that meets or exceeds cus
tomer expectations, reaches completion within quality software that meets or exc
eeds customer expectations, reaches completion within quality software that meet
s or exceeds customer expectations, reaches completion within quality software t
hat meets or exceeds customer expectations, reaches completion within quality so
ftware that meets or exceeds customer expectations, reaches completion within qu
ality software that meets or exceeds customer expectations, reaches completion w
ithin quality software that meets or exceeds customer expectations, reaches comp
letion within quality software that meets or exceeds customer expectations, reac
hes completion within quality software that meets or exceeds customer expectatio
ns, reaches completion within quality software that meets or exceeds customer ex
pectations, reaches completion within quality software that meets or exceeds cus
tomer expectations, reaches completion within quality software that meets or exc
eeds customer expectations, reaches completion within quality software that meet
s or exceeds customer expectations, reaches completion within quality software t
hat meets or exceeds customer expectations, reaches completion within quality so
ftware that meets or exceeds customer expectations, reaches completion within qu
ality software that meets or exceeds customer expectations, reaches completion w
ithin quality software that meets or exceeds customer expectations, reaches comp
letion within quality software that meets or exceeds customer expectations, reac
hes completion within quality software that meets or exceeds customer expectatio
ns, reaches completion within quality software that meets or exceeds customer ex
pectations, reaches completion within quality software that meets or exceeds cus
tomer expectations, reaches completion within quality software that meets or exc
eeds customer expectations, reaches completion within quality software that meet
s or exceeds customer expectations, reaches completion within quality software t
hat meets or exceeds customer expectations, reaches completion within quality so
ftware that meets or exceeds customer expectations, reaches completion within qu
ality software that meets or exceeds customer expectations, reaches completion w
ithin quality software that meets or exceeds customer expectations, reaches comp
letion within quality software that meets or exceeds customer expectations, reac
hes completion within quality software that meets or exceeds customer expectatio
ns, reaches completion within quality software that meets or exceeds customer ex
pectations, reaches completion within quality software that meets or exceeds cus
tomer expectations, reaches completion within quality software that meets or exc
eeds customer expectations, reaches completion within quality software that meet
s or exceeds customer expectations, reaches completion within quality software t
hat meets or exceeds customer expectations, reaches completion within quality so
ftware that meets or exceeds customer expectations, reaches completion within qu
ality software that meets or exceeds customer expectations, reaches completion w
ithin quality software that meets or exceeds customer expectations, reaches comp
letion within quality software that meets or exceeds customer expectations, reac
hes completion within quality software that meets or exceeds customer expectatio
ns, reaches completion within quality software that meets or exceeds customer ex
pectations, reaches completion within quality software that meets or exceeds cus
tomer expectations, reaches completion within quality software that meets or exc
eeds customer expectations, reaches completion within quality software that meet
s or exceeds customer expectations, reaches completion within quality software t
hat meets or exceeds customer expectations, reaches completion within times atim
es atimes atimes atimes atimes atimes and cost estimates.nd cost estimates.nd co
st estimates.nd cost estimates.nd cost estimates.nd cost estimates.nd cost estim
ates.nd cost estimates.nd cost estimates.nd cost estimates.nd cost estimates.nd
cost estimates.nd cost estimates.nd cost estimates.nd cost estimates.nd cost est
imates.nd cost estimates.nd cost estimates. SDLC is the acronym of Software Deve
lopment Life Cycle. It is also called as Software development process. The softw
are development life cycle (SDLC) is a framework defining tasks performed at eac
h step in the software development process. ISO/IEC 12207 is an international st
andard for software life-cycle processes. It aims to be the standard that define
s all the tasks required for developing and maintaining software.
What is SDLCWhat is SDLCWhat is SDLCWhat is SDLCWhat is SDLCWhat is SDLCWhat is
SDLCWhat is SDLCWhat is SDLCWhat is SDLCWhat is SDLCWhat is SDLC? SDLC is a proc
ess followed for a software project, within a software organization. It consists
of a detailed plan describing how to develop, maintain, replace and alter or en
hance specific software. The life cycle defines a methodology for improving the
quality of software and the overall development process. CHAPTER 1
TUTORIALS POINT
Simply Easy Learning Page 2
The following figure is a graphical representation of the various stages of a ty
pical SDLC.
A typical Software Development life cycle consists of the following stages: Stag
e 1: Planning and Requirement Analysis : Requirement analysis is the most import
ant and fundamental stage in SDLC. It is performed by the senior members of the
team with inputs from the customer, the sales department, market surveys and dom
ain experts in the industry. This information is then used to plan the basic pro
ject approach and to conduct product feasibility study in the economical, operat
ional, and technical areas. Planning for the quality assurance requirements and
identification of the risks associated with the project is also done in the plan
ning stage. The outcome of the technical feasibility study is to define the vari
ous technical approaches that can be followed to implement the project successfu
lly with minimum risks. Stage 2: Defining Requirements : Once the requirement an
alysis is done the next step is to clearly define and document the product requi
rements and get them approved from the customer or the market analysts. This is
done through SRS Software Requirement Specification document which consists of all
the product requirements to be designed and developed during the project life c
ycle. Stage 3: Designing the product architecture : SRS is the reference for pro
duct architects to come out with the best architecture for the product to be dev
eloped. Based on the requirements specified in SRS, usually more than one design
approach for the product architecture is proposed and documented in a DDS - Des
ign Document Specification. This DDS is reviewed by all the important stakeholde
rs and based on various parameters as risk
TUTORIALS POINT
Simply Easy Learning Page 3
assessment, product robustness, design modularity , budget and time constraints
, the best design approach is selected for the product. A design approach clearl
y defines all the architectural modules of the product along with its communicat
ion and data flow representation with the external and third party modules (if a
ny). The internal design of all the modules of the proposed architecture should
be clearly defined with the minutest of the details in DDS. Stage 4: Building or
Developing the Product : In this stage of SDLC the actual development starts an
d the product is built. The programming code is generated as per DDS during this
stage. If the design is performed in a detailed and organized manner, code gene
ration can be accomplished without much hassle. Developers have to follow the co
ding guidelines defined by their organization and programming tools like compile
rs, interpreters, debuggers etc are used to generate the code. Different high le
vel programming languages such as C, C++, Pascal, Java, and PHP are used for cod
ing. The programming language is chosen with respect to the type of software bei
ng developed. Stage 5: Testing the Product : This stage is usually a subset of a
ll the stages as in the modern SDLC models, the testing activities are mostly in
volved in all the stages of SDLC. However this stage refers to the testing only
stage of the product where products defects are reported, tracked, fixed and ret
ested, until the product reaches the quality standards defined in the SRS. Stage
6: Deployment in the Market and Maintenance : Once the product is tested and re
ady to be deployed it is released formally in the appropriate market. Sometime p
roduct deployment happens in stages as per the organizations business strategy. T
he product may first be released in a limited segment and tested in the real bus
iness environment (UAT- User acceptance testing). Then based on the feedback, th
e product may be released as it is or with suggested enhancements in the targeti
ng market segment. After the product is released in the market, its maintenance
is done for the existing customer base.
SDLC ModelsSDLC ModelsSDLC ModelsSDLC ModelsSDLC ModelsSDLC ModelsSDLC ModelsSDL
C ModelsSDLC ModelsSDLC ModelsSDLC Models
There are various software development life cycle models defined and designed wh
ich are followed during software development process. These models are also refe
rred as "Software Development Process Models". Each process model follows a Seri
es of steps unique to its type, in order to ensure success in process of softwar
e development. Following are the most important and popular SDLC models followed
in the industry:
? Waterfall Model
? Iterative Model
? Spiral Model
? V-Model
? Big Bang Model
The other related methodologies are Agile Model, RAD Model Rapid Application Dev
elopment and Prototyping Models.
TUTORIALS POINT
Simply Easy Learning Page 4
Waterfall ModelWaterfall ModelWaterfall ModelWaterfall ModelWaterfall ModelWater
fall ModelWaterfall ModelWaterfall ModelWaterfall ModelWaterfall ModelWaterfall
ModelWaterfall ModelWaterfall ModelWaterfall ModelWaterfall Model The Waterfall
Model was first Process to be introduced. It is also referredThe Waterfall Model
was first Process to be introduced. It is also referredThe Waterfall Model was
first Process to be introduced. It is also referredThe Waterfall Model was first
Process to be introduced. It is also referredThe Waterfall Model was first Proc
ess to be introduced. It is also referredThe Waterfall Model was first Process t
o be introduced. It is also referredThe Waterfall Model was first Process to be
introduced. It is also referredThe Waterfall Model was first Process to be intro
duced. It is also referredThe Waterfall Model was first Process to be introduced
. It is also referredThe Waterfall Model was first Process to be introduced. It
is also referredThe Waterfall Model was first Process to be introduced. It is al
so referredThe Waterfall Model was first Process to be introduced. It is also re
ferredThe Waterfall Model was first Process to be introduced. It is also referre
dThe Waterfall Model was first Process to be introduced. It is also referredThe
Waterfall Model was first Process to be introduced. It is also referredThe Water
fall Model was first Process to be introduced. It is also referredThe Waterfall
Model was first Process to be introduced. It is also referredThe Waterfall Model
was first Process to be introduced. It is also referredThe Waterfall Model was
first Process to be introduced. It is also referredThe Waterfall Model was first
Process to be introduced. It is also referredThe Waterfall Model was first Proc
ess to be introduced. It is also referredThe Waterfall Model was first Process t
o be introduced. It is also referredThe Waterfall Model was first Process to be
introduced. It is also referredThe Waterfall Model was first Process to be intro
duced. It is also referredThe Waterfall Model was first Process to be introduced
. It is also referredThe Waterfall Model was first Process to be introduced. It
is also referredThe Waterfall Model was first Process to be introduced. It is al
so referredThe Waterfall Model was first Process to be introduced. It is also re
ferredThe Waterfall Model was first Process to be introduced. It is also referre
dThe Waterfall Model was first Process to be introduced. It is also referredThe
Waterfall Model was first Process to be introduced. It is also referredThe Water
fall Model was first Process to be introduced. It is also referredThe Waterfall
Model was first Process to be introduced. It is also referredThe Waterfall Model
was first Process to be introduced. It is also referredThe Waterfall Model was
first Process to be introduced. It is also referredThe Waterfall Model was first
Process to be introduced. It is also referredThe Waterfall Model was first Proc
ess to be introduced. It is also referredThe Waterfall Model was first Process t
o be introduced. It is also referredThe Waterfall Model was first Process to be
introduced. It is also referredThe Waterfall Model was first Process to be intro
duced. It is also referredThe Waterfall Model was first Process to be introduced
. It is also referredThe Waterfall Model was first Process to be introduced. It
is also referredThe Waterfall Model was first Process to be introduced. It is al
so referredThe Waterfall Model was first Process to be introduced. It is also re
ferredThe Waterfall Model was first Process to be introduced. It is also referre
dThe Waterfall Model was first Process to be introduced. It is also referredThe
Waterfall Model was first Process to be introduced. It is also referredThe Water
fall Model was first Process to be introduced. It is also referredThe Waterfall
Model was first Process to be introduced. It is also referredThe Waterfall Model
was first Process to be introduced. It is also referredThe Waterfall Model was
first Process to be introduced. It is also referredThe Waterfall Model was first
Process to be introduced. It is also referredThe Waterfall Model was first Proc
ess to be introduced. It is also referredThe Waterfall Model was first Process t
o be introduced. It is also referredThe Waterfall Model was first Process to be
introduced. It is also referredThe Waterfall Model was first Process to be intro
duced. It is also referredThe Waterfall Model was first Process to be introduced
. It is also referredThe Waterfall Model was first Process to be introduced. It
is also referredThe Waterfall Model was first Process to be introduced. It is al
so referredThe Waterfall Model was first Process to be introduced. It is also re
ferredThe Waterfall Model was first Process to be introduced. It is also referre
dThe Waterfall Model was first Process to be introduced. It is also referredThe
Waterfall Model was first Process to be introduced. It is also referredThe Water
fall Model was first Process to be introduced. It is also referredThe Waterfall
Model was first Process to be introduced. It is also referredThe Waterfall Model
was first Process to be introduced. It is also referredThe Waterfall Model was
first Process to be introduced. It is also referredThe Waterfall Model was first
Process to be introduced. It is also referredThe Waterfall Model was first Proc
ess to be introduced. It is also referredThe Waterfall Model was first Process t
o be introduced. It is also referredThe Waterfall Model was first Process to be
introduced. It is also referredThe Waterfall Model was first Process to be intro
duced. It is also referredThe Waterfall Model was first Process to be introduced
. It is also referredThe Waterfall Model was first Process to be introduced. It
is also referredThe Waterfall Model was first Process to be introduced. It is al
so referredThe Waterfall Model was first Process to be introduced. It is also re
ferredThe Waterfall Model was first Process to be introduced. It is also referre
dThe Waterfall Model was first Process to be introduced. It is also referredThe
Waterfall Model was first Process to be introduced. It is also referredThe Water
fall Model was first Process to be introduced. It is also referredThe Waterfall
Model was first Process to be introduced. It is also referred to as to as to as
to as to as to as a linearlinearlinearlinearlinearlinear-sequential life cycle m
odel. sequential life cycle model. sequential life cycle model. sequential life
cycle model. sequential life cycle model. sequential life cycle model. sequentia
l life cycle model. sequential life cycle model. sequential life cycle model. se
quential life cycle model. sequential life cycle model. sequential life cycle mo
del. sequential life cycle model. sequential life cycle model. sequential life c
ycle model. sequential life cycle model. sequential life cycle model. sequential
life cycle model. sequential life cycle model. sequential life cycle model. seq
uential life cycle model. sequential life cycle model. sequential life cycle mod
el. sequential life cycle model. sequential life cycle model. sequential life cy
cle model. sequential life cycle model. sequential life cycle model. sequential
life cycle model. It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use.It is very simple to understand and use.It is very simple to u
nderstand and use. In a In a In a In a In a waterfall model, each phase must be
completed before the next can begin and there waterfall model, each phase must b
e completed before the next can begin and there waterfall model, each phase must
be completed before the next can begin and there waterfall model, each phase mu
st be completed before the next can begin and there waterfall model, each phase
must be completed before the next can begin and there waterfall model, each phas
e must be completed before the next can begin and there waterfall model, each ph
ase must be completed before the next can begin and there waterfall model, each
phase must be completed before the next can begin and there waterfall model, eac
h phase must be completed before the next can begin and there waterfall model, e
ach phase must be completed before the next can begin and there waterfall model,
each phase must be completed before the next can begin and there waterfall mode
l, each phase must be completed before the next can begin and there waterfall mo
del, each phase must be completed before the next can begin and there waterfall
model, each phase must be completed before the next can begin and there waterfal
l model, each phase must be completed before the next can begin and there waterf
all model, each phase must be completed before the next can begin and there wate
rfall model, each phase must be completed before the next can begin and there wa
terfall model, each phase must be completed before the next can begin and there
waterfall model, each phase must be completed before the next can begin and ther
e waterfall model, each phase must be completed before the next can begin and th
ere waterfall model, each phase must be completed before the next can begin and
there waterfall model, each phase must be completed before the next can begin an
d there waterfall model, each phase must be completed before the next can begin
and there waterfall model, each phase must be completed before the next can begi
n and there waterfall model, each phase must be completed before the next can be
gin and there waterfall model, each phase must be completed before the next can
begin and there waterfall model, each phase must be completed before the next ca
n begin and there waterfall model, each phase must be completed before the next
can begin and there waterfall model, each phase must be completed before the nex
t can begin and there waterfall model, each phase must be completed before the n
ext can begin and there waterfall model, each phase must be completed before the
next can begin and there waterfall model, each phase must be completed before t
he next can begin and there waterfall model, each phase must be completed before
the next can begin and there waterfall model, each phase must be completed befo
re the next can begin and there waterfall model, each phase must be completed be
fore the next can begin and there waterfall model, each phase must be completed
before the next can begin and there waterfall model, each phase must be complete
d before the next can begin and there waterfall model, each phase must be comple
ted before the next can begin and there waterfall model, each phase must be comp
leted before the next can begin and there waterfall model, each phase must be co
mpleted before the next can begin and there waterfall model, each phase must be
completed before the next can begin and there waterfall model, each phase must b
e completed before the next can begin and there waterfall model, each phase must
be completed before the next can begin and there waterfall model, each phase mu
st be completed before the next can begin and there waterfall model, each phase
must be completed before the next can begin and there waterfall model, each phas
e must be completed before the next can begin and there waterfall model, each ph
ase must be completed before the next can begin and there waterfall model, each
phase must be completed before the next can begin and there waterfall model, eac
h phase must be completed before the next can begin and there waterfall model, e
ach phase must be completed before the next can begin and there waterfall model,
each phase must be completed before the next can begin and there waterfall mode
l, each phase must be completed before the next can begin and there waterfall mo
del, each phase must be completed before the next can begin and there waterfall
model, each phase must be completed before the next can begin and there waterfal
l model, each phase must be completed before the next can begin and there waterf
all model, each phase must be completed before the next can begin and there wate
rfall model, each phase must be completed before the next can begin and there wa
terfall model, each phase must be completed before the next can begin and there
waterfall model, each phase must be completed before the next can begin and ther
e waterfall model, each phase must be completed before the next can begin and th
ere waterfall model, each phase must be completed before the next can begin and
there waterfall model, each phase must be completed before the next can begin an
d there waterfall model, each phase must be completed before the next can begin
and there waterfall model, each phase must be completed before the next can begi
n and there waterfall model, each phase must be completed before the next can be
gin and there waterfall model, each phase must be completed before the next can
begin and there waterfall model, each phase must be completed before the next ca
n begin and there waterfall model, each phase must be completed before the next
can begin and there waterfall model, each phase must be completed before the nex
t can begin and there waterfall model, each phase must be completed before the n
ext can begin and there waterfall model, each phase must be completed before the
next can begin and there waterfall model, each phase must be completed before t
he next can begin and there waterfall model, each phase must be completed before
the next can begin and there waterfall model, each phase must be completed befo
re the next can begin and there waterfall model, each phase must be completed be
fore the next can begin and there waterfall model, each phase must be completed
before the next can begin and there waterfall model, each phase must be complete
d before the next can begin and there waterfall model, each phase must be comple
ted before the next can begin and there waterfall model, each phase must be comp
leted before the next can begin and there waterfall model, each phase must be co
mpleted before the next can begin and there waterfall model, each phase must be
completed before the next can begin and there is no overlapping in the phases.is
no overlapping in the phases.is no overlapping in the phases.is no overlapping
in the phases.is no overlapping in the phases.is no overlapping in the phases.is
no overlapping in the phases.is no overlapping in the phases.is no overlapping
in the phases.is no overlapping in the phases.is no overlapping in the phases.is
no overlapping in the phases.is no overlapping in the phases.is no overlapping
in the phases.is no overlapping in the phases.is no overlapping in the phases.is
no overlapping in the phases.is no overlapping in the phases.is no overlapping
in the phases.is no overlapping in the phases.is no overlapping in the phases.is
no overlapping in the phases.is no overlapping in the phases.is no overlapping
in the phases.is no overlapping in the phases.is no overlapping in the phases.is
no overlapping in the phases.is no overlapping in the phases.is no overlapping
in the phases.is no overlapping in the phases.is no overlapping in the phases.is
no overlapping in the phases. Waterfall model is the earliest SDLC approach tha
t was used for software development .The waterfall Model illustrates the softwar
e development process in a linear sequential flow; hence it is also referred to
as a linear-sequential life cycle model. This means that any phase in the develo
pment process begins only if the previous phase is complete. In waterfall model
phases do not overlap..
Waterfall Model design Waterfall Model design Waterfall Model design Waterfall M
odel design Waterfall Model design Waterfall Model design Waterfall Model design
Waterfall Model design Waterfall Model design Waterfall Model design Waterfall
Model design Waterfall Model design Waterfall Model design Waterfall Model desig
n Waterfall Model design Waterfall Model design Waterfall Model design Waterfall
Model design Waterfall Model design Waterfall Model design Waterfall Model desi
gn Waterfall Model design Waterfall Model design
Waterfall approach was first SDLC Model to be used widely in Software Engineerin
g to ensure success of the project. In "The Waterfall" approach, the whole proce
ss of software development is divided into separate phases. In Waterfall model,
typically, the outcome of one phase acts as the input for the next phase sequent
ially.
Following is a diagrammatic representation of different phases of waterfall mode
l. CHAPTER 2
TUTORIALS POINT
Simply Easy Learning Page 5
The sequential phases in Waterfall model are:
? Requirement Gathering and analysis All possible requirements of the system to
be developed are captured in this phase and documented in a requirement specific
ation doc.
? System Design: The requirement specifications from first phase are studied in
this phase and system design is prepared. System Design helps in specifying hard
ware and system requirements and also helps in defining overall system architect
ure.
? Implementation: With inputs from system design, the system is first developed
in small programs called units, which are integrated in the next phase. Each uni
t is developed and tested for its functionality which is referred to as Unit Tes
ting.
? Integration and Testing: All the units developed in the implementation phase a
re integrated into a system after testing of each unit. Post integration the ent
ire system is tested for any faults and failures.
? Deployment of system: Once the functional and non functional testing is done,
the product is deployed in the customer environment or released into the market.
? Maintenance: There are some issues which come up in the client environment. To
fix those issues patches are released. Also to enhance the product some better
versions are released. Maintenance is done to deliver these changes in the custo
mer environment.
All these phases are cascaded to each other in which progress is seen as flowing
steadily downwards (like a waterfall) through the phases. The next phase is sta
rted only after the defined set of goals are achieved for previous phase and it
is signed off, so the name "Waterfall Model". In this model phases do not overla
p.
Waterfall Model ApplicatiWaterfall Model ApplicatiWaterfall Model ApplicatiWater
fall Model ApplicatiWaterfall Model ApplicatiWaterfall Model ApplicatiWaterfall
Model ApplicatiWaterfall Model ApplicatiWaterfall Model ApplicatiWaterfall Model
ApplicatiWaterfall Model ApplicatiWaterfall Model ApplicatiWaterfall Model Appl
icatiWaterfall Model ApplicatiWaterfall Model ApplicatiWaterfall Model Applicati
Waterfall Model ApplicatiWaterfall Model ApplicatiWaterfall Model ApplicatiWater
fall Model ApplicatiWaterfall Model ApplicatiWaterfall Model ApplicatiWaterfall
Model ApplicatiWaterfall Model ApplicatiWaterfall Model Application on on
Every software developed is different and requires a suitable SDLC approach to b
e followed based on the internal and external factors. Some situations where the
use of Waterfall model is most appropriate are:
? Requirements are very well documented, clear and fixed
? Product definition is stable
? Technology is understood and is not dynamic
? There are no ambiguous requirements
? Ample resources with required expertise are available to support the product
? The project is short
TUTORIALS POINT
Simply Easy Learning Page 6
Waterfall Model Pros & Waterfall Model Pros & Waterfall Model Pros & Waterfall M
odel Pros & Waterfall Model Pros & Waterfall Model Pros & Waterfall Model Pros &
Waterfall Model Pros & Waterfall Model Pros & Waterfall Model Pros & Waterfall
Model Pros & Waterfall Model Pros & Waterfall Model Pros & Waterfall Model Pros
& Waterfall Model Pros & Waterfall Model Pros & Waterfall Model Pros & Waterfall
Model Pros & Waterfall Model Pros & Waterfall Model Pros & Waterfall Model Pros
& Waterfall Model Pros & Waterfall Model Pros & ConsConsConsCons
The advantage of waterfall development is that it allows for departmentalization
and control. A schedule can be set with deadlines for each stage of development
and a product can proceed through the development process model phases one by o
ne. Development moves from concept, through design, implementation, testing, ins
tallation, troubleshooting, and ends up at operation and maintenance. Each phase
of development proceeds in strict order.
The disadvantage of waterfall development is that it does not allow for much ref
lection or revision. Once an application is in the testing stage, it is very dif
ficult to go back and change something that was not well-documented or thought u
pon in the concept stage.
The following table lists out the pros and cons of Waterfall model:
Pros Cons
? Simple and easy to understand and use.
? Easy to manage due to the rigidity of the model each phase has specific delive
rables and a review process.
? Phases are processed and completed one at a time.
? Works well for smaller projects where requirements are very well understood.
? Clearly defined stages.
? Well understood milestones.
? Easy to arrange tasks.
? Process and results are well documented.
? No working software is produced until late during the life cycle.
? High amounts of risk and uncertainty.
? Not a good model for complex and object-oriented projects.
? Poor model for long and ongoing projects.
? Not suitable for the projects where requirements are at a moderate to high ris
k of changing. So risk and uncertainty is high with this process model.
? It is difficult to measure progress within stages.
? Cannot accommodate changing requirements.
? No working software is produced until late in the life cycle.
? Adjusting scope during the life cycle can end a project
? Integration is done as a "big-bang at the very end, which doesn't allow identif
ying any technological or business bottleneck or challenges early.
TUTORIALS POINT
Simply Easy Learning Page 7
Iterative ModelIterative ModelIterative ModelIterative ModelIterative ModelItera
tive ModelIterative ModelIterative ModelIterative ModelIterative ModelIterative
ModelIterative ModelIterative ModelIterative ModelIterative Model
In Iterative model, iterative process starts with a simple implementation of sma
ll set erative process starts with a simple implementation of small set erative
process starts with a simple implementation of small set erative process starts
with a simple implementation of small set erative process starts with a simple i
mplementation of small set erative process starts with a simple implementation o
f small set erative process starts with a simple implementation of small set era
tive process starts with a simple implementation of small set erative process st
arts with a simple implementation of small set erative process starts with a sim
ple implementation of small set erative process starts with a simple implementat
ion of small set erative process starts with a simple implementation of small se
t erative process starts with a simple implementation of small set erative proce
ss starts with a simple implementation of small set erative process starts with
a simple implementation of small set erative process starts with a simple implem
entation of small set erative process starts with a simple implementation of sma
ll set erative process starts with a simple implementation of small set erative
process starts with a simple implementation of small set erative process starts
with a simple implementation of small set erative process starts with a simple i
mplementation of small set erative process starts with a simple implementation o
f small set erative process starts with a simple implementation of small set era
tive process starts with a simple implementation of small set erative process st
arts with a simple implementation of small set erative process starts with a sim
ple implementation of small set erative process starts with a simple implementat
ion of small set erative process starts with a simple implementation of small se
t erative process starts with a simple implementation of small set erative proce
ss starts with a simple implementation of small set erative process starts with
a simple implementation of small set erative process starts with a simple implem
entation of small set erative process starts with a simple implementation of sma
ll set erative process starts with a simple implementation of small set erative
process starts with a simple implementation of small set erative process starts
with a simple implementation of small set erative process starts with a simple i
mplementation of small set erative process starts with a simple implementation o
f small set erative process starts with a simple implementation of small set era
tive process starts with a simple implementation of small set erative process st
arts with a simple implementation of small set erative process starts with a sim
ple implementation of small set erative process starts with a simple implementat
ion of small set erative process starts with a simple implementation of small se
t erative process starts with a simple implementation of small set erative proce
ss starts with a simple implementation of small set erative process starts with
a simple implementation of small set erative process starts with a simple implem
entation of small set erative process starts with a simple implementation of sma
ll set erative process starts with a simple implementation of small set erative
process starts with a simple implementation of small set erative process starts
with a simple implementation of small set erative process starts with a simple i
mplementation of small set erative process starts with a simple implementation o
f small set erative process starts with a simple implementation of small set era
tive process starts with a simple implementation of small set erative process st
arts with a simple implementation of small set erative process starts with a sim
ple implementation of small set erative process starts with a simple implementat
ion of small set erative process starts with a simple implementation of small se
t erative process starts with a simple implementation of small set erative proce
ss starts with a simple implementation of small set erative process starts with
a simple implementation of small set erative process starts with a simple implem
entation of small set erative process starts with a simple implementation of sma
ll set erative process starts with a simple implementation of small set erative
process starts with a simple implementation of small set erative process starts
with a simple implementation of small set the software the software the software
the software the software the software the software the software the software t
he software the software the software the software requirements and iteratively
enhances the evolving versions until complete requirements and iteratively enhan
ces the evolving versions until complete requirements and iteratively enhances t
he evolving versions until complete requirements and iteratively enhances the ev
olving versions until complete requirements and iteratively enhances the evolvin
g versions until complete requirements and iteratively enhances the evolving ver
sions until complete requirements and iteratively enhances the evolving versions
until complete requirements and iteratively enhances the evolving versions unti
l complete requirements and iteratively enhances the evolving versions until com
plete requirements and iteratively enhances the evolving versions until complete
requirements and iteratively enhances the evolving versions until complete requ
irements and iteratively enhances the evolving versions until complete requireme
nts and iteratively enhances the evolving versions until complete requirements a
nd iteratively enhances the evolving versions until complete requirements and it
eratively enhances the evolving versions until complete requirements and iterati
vely enhances the evolving versions until complete requirements and iteratively
enhances the evolving versions until complete requirements and iteratively enhan
ces the evolving versions until complete requirements and iteratively enhances t
he evolving versions until complete requirements and iteratively enhances the ev
olving versions until complete requirements and iteratively enhances the evolvin
g versions until complete requirements and iteratively enhances the evolving ver
sions until complete requirements and iteratively enhances the evolving versions
until complete requirements and iteratively enhances the evolving versions unti
l complete requirements and iteratively enhances the evolving versions until com
plete requirements and iteratively enhances the evolving versions until complete
requirements and iteratively enhances the evolving versions until complete requ
irements and iteratively enhances the evolving versions until complete requireme
nts and iteratively enhances the evolving versions until complete requirements a
nd iteratively enhances the evolving versions until complete requirements and it
eratively enhances the evolving versions until complete requirements and iterati
vely enhances the evolving versions until complete requirements and iteratively
enhances the evolving versions until complete requirements and iteratively enhan
ces the evolving versions until complete requirements and iteratively enhances t
he evolving versions until complete requirements and iteratively enhances the ev
olving versions until complete requirements and iteratively enhances the evolvin
g versions until complete requirements and iteratively enhances the evolving ver
sions until complete requirements and iteratively enhances the evolving versions
until complete requirements and iteratively enhances the evolving versions unti
l complete requirements and iteratively enhances the evolving versions until com
plete requirements and iteratively enhances the evolving versions until complete
requirements and iteratively enhances the evolving versions until complete requ
irements and iteratively enhances the evolving versions until complete requireme
nts and iteratively enhances the evolving versions until complete requirements a
nd iteratively enhances the evolving versions until complete requirements and it
eratively enhances the evolving versions until complete requirements and iterati
vely enhances the evolving versions until complete requirements and iteratively
enhances the evolving versions until complete requirements and iteratively enhan
ces the evolving versions until complete requirements and iteratively enhances t
he evolving versions until complete requirements and iteratively enhances the ev
olving versions until complete requirements and iteratively enhances the evolvin
g versions until complete requirements and iteratively enhances the evolving ver
sions until complete requirements and iteratively enhances the evolving versions
until complete requirements and iteratively enhances the evolving versions unti
l complete requirements and iteratively enhances the evolving versions until com
plete requirements and iteratively enhances the evolving versions until complete
requirements and iteratively enhances the evolving versions until complete requ
irements and iteratively enhances the evolving versions until complete requireme
nts and iteratively enhances the evolving versions until complete requirements a
nd iteratively enhances the evolving versions until complete requirements and it
eratively enhances the evolving versions until complete requirements and iterati
vely enhances the evolving versions until complete requirements and iteratively
enhances the evolving versions until complete requirements and iteratively enhan
ces the evolving versions until complete requirements and iteratively enhances t
he evolving versions until complete requirements and iteratively enhances the ev
olving versions until complete requirements and iteratively enhances the evolvin
g versions until complete requirements and iteratively enhances the evolving ver
sions until complete requirements and iteratively enhances the evolving versions
until complete requirements and iteratively enhances the evolving versions unti
l complete requirements and iteratively enhances the evolving versions until com
plete requirements and iteratively enhances the evolving versions until complete
requirements and iteratively enhances the evolving versions until complete requ
irements and iteratively enhances the evolving versions until complete requireme
nts and iteratively enhances the evolving versions until complete requirements a
nd iteratively enhances the evolving versions until complete requirements and it
eratively enhances the evolving versions until complete system is implemented an
d ready to be deployed.system is implemented and ready to be deployed.system is
implemented and ready to be deployed.system is implemented and ready to be deplo
yed.system is implemented and ready to be deployed.system is implemented and rea
dy to be deployed.system is implemented and ready to be deployed.system is imple
mented and ready to be deployed.system is implemented and ready to be deployed.s
ystem is implemented and ready to be deployed.system is implemented and ready to
be deployed.system is implemented and ready to be deployed.system is implemente
d and ready to be deployed.system is implemented and ready to be deployed.system
is implemented and ready to be deployed.system is implemented and ready to be d
eployed.system is implemented and ready to be deployed.system is implemented and
ready to be deployed.system is implemented and ready to be deployed.system is i
mplemented and ready to be deployed.system is implemented and ready to be deploy
ed.system is implemented and ready to be deployed.system is implemented and read
y to be deployed.system is implemented and ready to be deployed.system is implem
ented and ready to be deployed.system is implemented and ready to be deployed.sy
stem is implemented and ready to be deployed. system is implemented and ready to
be deployed.system is implemented and ready to be deployed.system is implemente
d and ready to be deployed.system is implemented and ready to be deployed.system
is implemented and ready to be deployed.system is implemented and ready to be d
eployed.system is implemented and ready to be deployed.system is implemented and
ready to be deployed.system is implemented and ready to be deployed.system is i
mplemented and ready to be deployed.system is implemented and ready to be deploy
ed.system is implemented and ready to be deployed.system is implemented and read
y to be deployed.system is implemented and ready to be deployed.system is implem
ented and ready to be deployed.system is implemented and ready to be deployed.sy
stem is implemented and ready to be deployed.system is implemented and ready to
be deployed.system is implemented and ready to be deployed. An iterative life cy
cle model does not attempt to start with a full specification of requirements. I
nstead, development begins by specifying and implementing just part of the softw
are, which is then reviewed in order to identify further requirements. This proc
ess is then repeated, producing a new version of the software at the end of each
iteration of the model.
Iterative Model Iterative Model Iterative Model Iterative Model Iterative Model
Iterative Model Iterative Model Iterative Model Iterative Model Iterative Model
Iterative Model Iterative Model Iterative Model Iterative Model Iterative Model
Iterative Model design design design design design design design
Iterative process starts with a simple implementation of a subset of the softwar
e requirements and iteratively enhances the evolving versions until the full sys
tem is implemented. At each iteration, design modifications are made and new fun
ctional capabilities are added. The basic idea behind this method is to develop
a system through repeated cycles (iterative) and in smaller portions at a time (
incremental). Following is the pictorial representation of Iterative and Increme
ntal model: CHAPTER 3
TUTORIALS POINT
Simply Easy Learning Page 8
Iterative and Incremental development is a combination of both iterative design
or iterative method and incremental build model for development. "During softwar
e development, more than one iteration of the software development cycle may be
in progress at the same time." and "This process may be described as an "evoluti
onary acquisition" or "incremental build" approach."
In incremental model the whole requirement is divided into various builds. Durin
g each iteration, the development module goes through the requirements, design,
implementation and testing phases. Each subsequent release of the module adds fu
nction to the previous release. The process continues till the complete system i
s ready as per the requirement.
The key to successful use of an iterative software development lifecycle is rigo
rous validation of requirements, and verification & testing of each version of t
he software against those requirements within each cycle of the model. As the so
ftware evolves through successive cycles, tests have to be repeated and extended
to verify each version of the software.
Iterative Model Iterative Model Iterative Model Iterative Model Iterative Model
Iterative Model Iterative Model Iterative Model Iterative Model Iterative Model
Iterative Model Iterative Model Iterative Model Iterative Model Iterative Model
Iterative Model ApplicationApplicationApplicationApplicationApplicationApplicati
onApplicationApplicationApplicationApplicationApplication
Like other SDLC models, Iterative and incremental development has some specific
applications in the software industry. This model is most often used in the foll
owing scenarios:
? Requirements of the complete system are clearly defined and understood.
? Major requirements must be defined; however, some functionalities or requested
enhancements may evolve with time.
? There is a time to the market constraint.
? A new technology is being used and is being learnt by the development team whi
le working on the project.
? Resources with needed skill set are not available and are planned to be used o
n contract basis for specific iterations.
? There are some high risk features and goals which may change in the future.
Iterative Model Iterative Model Iterative Model Iterative Model Iterative Model
Iterative Model Iterative Model Iterative Model Iterative Model Iterative Model
Iterative Model Iterative Model Iterative Model Iterative Model Iterative Model
Iterative Model Pros and ConsPros and ConsPros and ConsPros and ConsPros and Con
sPros and ConsPros and ConsPros and ConsPros and ConsPros and ConsPros and ConsP
ros and ConsPros and Cons
The advantage of this model is that there is a working model of the system at a
very early stage of development which makes it easier to find functional or desi
gn flaws. Finding issues at an early stage of development enables to take correc
tive measures in a limited budget.
The disadvantage with this SDLC model is that it is applicable only to large and
bulky software development projects. This is because it is hard to break a smal
l software system into further small serviceable increments/modules.
TUTORIALS POINT
Simply Easy Learning Page 9
The following table lists out the pros and cons of Iterative and Incremental SDL
C Model:
Pros Cons
? Some working functionality can be developed quickly and early in the life cycl
e.
? Results are obtained early and periodically.
? Parallel development can be planned.
? Progress can be measured.
? Less costly to change the scope/requirements.
? Testing and debugging during smaller iteration is easy.
? Risks are identified and resolved during iteration; and each iteration is an e
asily managed milestone.
? Easier to manage risk - High risk part is done first.
? With every increment operational product is delivered.
? Issues, challenges & risks identified from each increment can be utilized/appl
ied to the next increment.
? Risk analysis is better.
? It supports changing requirements.
? Initial Operating time is less.
? Better suited for large and mission-critical projects.
? During life cycle software is produced early which facilitates customer evalua
tion and feedback.
? More resources may be required.
? Although cost of change is lesser but it is not very suitable for changing req
uirements.
? More management attention is required.
? System architecture or design issues may arise because not all requirements ar
e gathered in the beginning of the entire life cycle.
? Defining increments may require definition of the complete system.
? Not suitable for smaller projects.
? Management complexity is more.
? End of project may not be known which is a risk.
? Highly skilled resources are required for risk analysis.
? Projects progress is highly dependent upon the risk analysis phase.
TUTORIALS POINT
Simply Easy Learning Page 10
Spiral ModelSpiral ModelSpiral ModelSpiral ModelSpiral ModelSpiral ModelSpiral M
odelSpiral ModelSpiral ModelSpiral ModelSpiral ModelSpiral Model The spiral mode
l combines the idea of The spiral model combines the idea of The spiral model co
mbines the idea ofThe spiral model combines the idea ofThe spiral model combines
the idea ofThe spiral model combines the idea ofThe spiral model combines the i
dea ofThe spiral model combines the idea ofThe spiral model combines the idea of
The spiral model combines the idea ofThe spiral model combines the idea ofThe sp
iral model combines the idea ofThe spiral model combines the idea ofThe spiral m
odel combines the idea ofThe spiral model combines the idea ofThe spiral model c
ombines the idea ofThe spiral model combines the idea ofThe spiral model combine
s the idea ofThe spiral model combines the idea ofThe spiral model combines the
idea ofThe spiral model combines the idea ofThe spiral model combines the idea o
f The spiral model combines the idea ofThe spiral model combines the idea ofThe
spiral model combines the idea ofThe spiral model combines the idea of The spira
l model combines the idea ofThe spiral model combines the idea ofThe spiral mode
l combines the idea of The spiral model combines the idea ofThe spiral model com
bines the idea ofThe spiral model combines the idea of iterative developmentiter
ative developmentiterative development iterative developmentiterative developmen
titerative developmentiterative development iterative developmentiterative devel
opment iterative development iterative developmentiterative developmentiterative
developmentiterative developmentiterative developmentiterative development with
with with with the systematic, controlled aspects of thesystematic, controlled
aspects of thesystematic, controlled aspects of thesystematic, controlled aspect
s of thesystematic, controlled aspects of the systematic, controlled aspects of
thesystematic, controlled aspects of thesystematic, controlled aspects of thesys
tematic, controlled aspects of the systematic, controlled aspects of thesystemat
ic, controlled aspects of thesystematic, controlled aspects of thesystematic, co
ntrolled aspects of thesystematic, controlled aspects of thesystematic, controll
ed aspects of thesystematic, controlled aspects of thesystematic, controlled asp
ects of thesystematic, controlled aspects of thesystematic, controlled aspects o
f thesystematic, controlled aspects of thesystematic, controlled aspects of thes
ystematic, controlled aspects of thesystematic, controlled aspects of thesystema
tic, controlled aspects of the systematic, controlled aspects of thesystematic,
controlled aspects of thesystematic, controlled aspects of thesystematic, contro
lled aspects of thesystematic, controlled aspects of thesystematic, controlled a
spects of thesystematic, controlled aspects of thesystematic, controlled aspects
of thesystematic, controlled aspects of the waterfall model waterfall modelwate
rfall model waterfall modelwaterfall modelwaterfall modelwaterfall modelwaterfal
l model waterfall modelwaterfall modelwaterfall model . Spiral model is a combin
ation of iterative development process model and sequential linear development m
odel i.e. waterfall model with very high emphasis on risk analysis. It allows fo
r incremental releases of the product, or incremental refinement through each it
eration around the spiral.
Spiral Model designSpiral Model designSpiral Model designSpiral Model designSpir
al Model designSpiral Model designSpiral Model designSpiral Model designSpiral M
odel designSpiral Model designSpiral Model designSpiral Model designSpiral Model
designSpiral Model designSpiral Model designSpiral Model designSpiral Model des
ignSpiral Model designSpiral Model design
The spiral model has four phases. A software project repeatedly passes through t
hese phases in iterations called Spirals.
? Identification
This phase starts with gathering the business requirements in the baseline spira
l. In the subsequent spirals as the product matures, identification of system re
quirements, subsystem requirements and unit requirements are all done in this ph
ase.
This also includes understanding the system requirements by continuous communica
tion between the customer and the system analyst. At the end of the spiral the p
roduct is deployed in the identified market.
Following is a diagrammatic representation of spiral model listing the activitie
s in each phase
CHAPTER 4
TUTORIALS POINT
Simply Easy Learning Page 11
? Design
Design phase starts with the conceptual design in the baseline spiral and involv
es architectural design, logical design of modules, physical product design and
final design in the subsequent spirals.
? Construct or Build
Construct phase refers to production of the actual software product at every spi
ral. In the baseline spiral when the product is just thought of and the design i
s being developed a POC (Proof of Concept) is developed in this phase to get cus
tomer feedback.
Then in the subsequent spirals with higher clarity on requirements and design de
tails a working model of the software called build is produced with a version nu
mber. These builds are sent to customer for feedback.
? Evaluation and Risk Analysis
Risk Analysis includes identifying, estimating, and monitoring technical feasibi
lity and management risks, such as schedule slippage and cost overrun. After tes
ting the build, at the end of first iteration, the customer evaluates the softwa
re and provides feedback.
Based on the customer evaluation, software development process enters into the n
ext iteration and subsequently follows the linear approach to implement the feed
back suggested by the customer. The process of iterations along the spiral conti
nues throughout the life of the software.
TUTORIALS POINT
Simply Easy Learning Page 12
Spiral Model Spiral Model Spiral Model Spiral Model Spiral Model Spiral Model Sp
iral Model Spiral Model Spiral Model Spiral Model Spiral Model Spiral Model Spir
al Model ApplicationApplicationApplicationApplicationApplicationApplicationAppli
cationApplicationApplicationApplicationApplication
Spiral Model is very widely used in the software industry as it is in synch with
the natural development process of any product i.e. learning with maturity and
also involves minimum risk for the customer as well as the development firms. Fo
llowing are the typical uses of Spiral model: ? When costs there is a budget con
straint and risk evaluation is important ? For medium to high-risk projects ? Lo
ng-term project commitment because of potential changes to economic priorities a
s the requirements change with time ? Customer is not sure of their requirements
which is usually the case ? Requirements are complex and need evaluation to get
clarity ? New product line which should be released in phases to get enough cus
tomer feedback ? Significant changes are expected in the product during the deve
lopment cycle
Spiral Model Spiral Model Spiral Model Spiral Model Spiral Model Spiral Model Sp
iral Model Spiral Model Spiral Model Spiral Model Spiral Model Spiral Model Spir
al Model Pros and ConsPros and ConsPros and ConsPros and ConsPros and ConsPros a
nd ConsPros and ConsPros and ConsPros and ConsPros and ConsPros and ConsPros and
ConsPros and Cons
The advantage of spiral lifecycle model is that it allows for elements of the pr
oduct to be added in when they become available or known. This assures that ther
e is no conflict with previous requirements and design. This method is consisten
t with approaches that have multiple software builds and releases and allows for
making an orderly transition to a maintenance activity. Another positive aspect
is that the spiral model forces early user involvement in the system developmen
t effort.
On the other side, it takes very strict management to complete such products and
there is a risk of running the spiral in indefinite loop. So the discipline of
change and the extent of taking change requests is very important to develop and
deploy the product successfully.
The following table lists out the pros and cons of Spiral SDLC Model:
Pros Cons
? Changing requirements can be accommodated.
? Allows for extensive use of prototypes
? Requirements can be captured more accurately.
? Users see the system early.
? Development can be divided into smaller parts and more risky parts can be deve
loped earlier which helps better risk management.
? Management is more complex.
? End of project may not be known early.
? Not suitable for small or low risk projects and could be expensive for small p
rojects.
? Process is complex
? Spiral may go indefinitely.
? Large number of intermediate stages requires excessive documentation.
TUTORIALS POINT
Simply Easy Learning Page 13
V - Model Model Model Model Model Model The The V- modelmodelmodelmodelmodel is
SDLC model where execution of processes happens is SDLC model where execution of
processes happens is SDLC model where execution of processes happens is SDLC mo
del where execution of processes happens is SDLC model where execution of proces
ses happens is SDLC model where execution of processes happens is SDLC model whe
re execution of processes happens is SDLC model where execution of processes hap
pens is SDLC model where execution of processes happens is SDLC model where exec
ution of processes happens is SDLC model where execution of processes happens is
SDLC model where execution of processes happens is SDLC model where execution o
f processes happens is SDLC model where execution of processes happens is SDLC m
odel where execution of processes happens is SDLC model where execution of proce
sses happens is SDLC model where execution of processes happens is SDLC model wh
ere execution of processes happens is SDLC model where execution of processes ha
ppens is SDLC model where execution of processes happens is SDLC model where exe
cution of processes happens is SDLC model where execution of processes happens i
s SDLC model where execution of processes happens is SDLC model where execution
of processes happens is SDLC model where execution of processes happens is SDLC
model where execution of processes happens is SDLC model where execution of proc
esses happens is SDLC model where execution of processes happens is SDLC model w
here execution of processes happens is SDLC model where execution of processes h
appens is SDLC model where execution of processes happens is SDLC model where ex
ecution of processes happens is SDLC model where execution of processes happens
is SDLC model where execution of processes happens is SDLC model where execution
of processes happens is SDLC model where execution of processes happens is SDLC
model where execution of processes happens is SDLC model where execution of pro
cesses happens is SDLC model where execution of processes happens is SDLC model
where execution of processes happens is SDLC model where execution of processes
happens is SDLC model where execution of processes happens in a sequential manne
r Vin a sequential manner in Vin a sequential manner in Vin a sequential manner
in Vin a sequential manner in Vin a sequential manner in Vin a sequential manner
in V in a sequential manner Vin a sequential manner in Vin a sequential manner
in Vin a sequential manner in Vin a sequential manner in Vin a sequential manner
in Vin a sequential manner in Vin a sequential manner in Vin a sequential manne
r in Vin a sequential manner in Vin a sequential manner in Vin a sequential mann
er in Vin a sequential manner in V in a sequential manner Vin a sequential manne
r in Vin a sequential manner in Vin a sequential manner in Vin a sequential mann
er in V-shape. shape. shape. shape. shape. shape. It is also known as Verificati
on It is also known as Verification It is also known as Verification It is also
known as Verification It is also known as Verification It is also known as Verif
ication It is also known as Verification It is also known as Verification It is
also known as Verification It is also known as Verification It is also known as
Verification It is also known as Verification It is also known as Verification I
t is also known as Verification It is also known as Verification It is also know
n as Verification It is also known as Verification It is also known as Verificat
ion It is also known as Verification It is also known as Verification It is also
known as Verification It is also known as Verification It is also known as Veri
fication It is also known as Verification It is also known as Verification It is
also known as Verification It is also known as Verification It is also known as
Verification It is also known as Verification and and and and Validation modelV
alidation modelValidation modelValidation modelValidation modelValidation modelV
alidation modelValidation modelValidation modelValidation modelValidation model
Validation modelValidation modelValidation modelValidation model. V -Model is an
extension of the waterfall model and is based on association of a testing phase
for each corresponding development stage. This means that for every single phas
e in the development cycle there is a directly associated testing phase. This is
a highly disciplined model and next phase starts only after completion of the p
revious phase.
V- Model designModel designModel designModel designModel designModel designModel
designModel designModel designModel designModel designModel design
Under V-Model, the corresponding testing phase of the development phase is plann
ed in parallel. So there are Verification phases on one side of the V and Validati
on phases on the other side. Coding phase joins the two sides of the V-Model.
The below figure illustrates the different phases in V-Model of SDLC.
Verification Phases CHAPTER 5
TUTORIALS POINT
Simply Easy Learning Page 14
Following are the Verification phases in V-Model:
? Business Requirement Analysis :
This is the first phase in the development cycle where the product requirements
are understood from the customer perspective. This phase involves detailed commu
nication with the customer to understand his expectations and exact requirement.
This is a very important activity and need to be managed well, as most of the c
ustomers are not sure about what exactly they need. The acceptance test design p
lanning is done at this stage as business requirements can be used as an input f
or acceptance testing.
? System Design:
Once you have the clear and detailed product requirements, its time to design the
complete system. System design would comprise of understanding and detailing th
e complete hardware and communication setup for the product under development. S
ystem test plan is developed based on the system design. Doing this at an earlie
r stage leaves more time for actual test execution later.
? Architectural Design:
Architectural specifications are understood and designed in this phase. Usually
more than one technical approach is proposed and based on the technical and fina
ncial feasibility the final decision is taken. System design is broken down furt
her into modules taking up different functionality. This is also referred to as
High Level Design (HLD).
The data transfer and communication between the internal modules and with the ou
tside world (other systems) is clearly understood and defined in this stage. Wit
h this information, integration tests can be designed and documented during this
stage.
? Module Design:
In this phase the detailed internal design for all the system modules is specifi
ed, referred to as Low Level Design (LLD). It is important that the design is co
mpatible with the other modules in the system architecture and the other externa
l systems. Unit tests are an essential part of any development process and helps
eliminate the maximum faults and errors at a very early stage. Unit tests can b
e designed at this stage based on the internal module designs.
Coding Phase
The actual coding of the system modules designed in the design phase is taken up
in the Coding phase. The best suitable programming language is decided based on
the system and architectural requirements. The coding is performed based on the
coding guidelines and standards. The code goes through numerous code reviews an
d is optimized for best performance before the final build is checked into the r
epository.
Validation Phases
Following are the Validation phases in V-Model:
? Unit Testing
Unit tests designed in the module design phase are executed on the code during t
his validation phase. Unit testing is the testing at code level and helps elimin
ate bugs at an early stage, though all defects cannot be uncovered by unit testi
ng.
TUTORIALS POINT
Simply Easy Learning Page 15
? Integration Testing
Integration testing is associated with the architectural design phase. Integrati
on tests are performed to test the coexistence and communication of the internal
modules within the system.
? System Testing
System testing is directly associated with the System design phase. System tests
check the entire system functionality and the communication of the system under
development with external systems. Most of the software and hardware compatibil
ity issues can be uncovered during system test execution.
? Acceptance Testing
Acceptance testing is associated with the business requirement analysis phase an
d involves testing the product in user environment. Acceptance tests uncover the
compatibility issues with the other systems available in the user environment.
It also discovers the non functional issues such as load and performance defects
in the actual user environment.
V- Model Model Model Model Model Model ApplicationApplicationApplicationApplicat
ionApplicationApplicationApplicationApplicationApplicationApplicationApplication
V- Model application is almost same as waterfall model, as both the models are o
f sequential type. Requirements have to be very clear before the project starts,
because it is usually expensive to go back and make changes. This model is used
in the medical development field, as it is strictly disciplined domain. Followi
ng are the suitable scenarios to use V-Model: ? Requirements are well defined, c
learly documented and fixed. ? Product definition is stable. ? Technology is not
dynamic and is well understood by the project team. ? There are no ambiguous or
undefined requirements ? The project is short.
V- Model Model Model Model Model Model Pros and ConsPros and ConsPros and ConsPr
os and ConsPros and ConsPros and ConsPros and ConsPros and ConsPros and ConsPros
and ConsPros and ConsPros and ConsPros and Cons
The advantage of V-Model is that its very easy to understand and apply. The simpl
icity of this model also makes it easier to manage. The disadvantage is that the
model is not flexible to changes and just in case there is a requirement change
, which is very common in todays dynamic world, it becomes very expensive to make
the change.
The following table lists out the pros and cons of V-Model:
Pros Cons
? This is a highly disciplined model and Phases are completed one at a time. ? W
orks well for smaller projects where requirements are very well understood. ? Si
mple and easy to understand and use. ? Easy to manage due to the
? High risk and uncertainty.
? Not a good model for complex and object-oriented projects.
? Poor model for long and ongoing projects.
? Not suitable for the projects where requirements are at a moderate to high ris
k of changing.
TUTORIALS POINT
Simply Easy Learning Page 16
rigidity of the model each phase has specific deliverables and a review process.
? Once an application is in the testing stage, it is difficult to go back and ch
ange a functionality
? No working software is produced until late during the life cycle.
TUTORIALS POINT
Simply Easy Learning Page 17
Big BangBig BangBig BangBig BangBig BangBig BangBig BangBig Bang Model Model Mod
el Model Model Model The The Big BangBig BangBig BangBig BangBig BangBig BangBig
BangBig Bang modelmodelmodelmodelmodel is SDLC model where is SDLC model where
is SDLC model where is SDLC model where is SDLC model where is SDLC model where
is SDLC model where is SDLC model where is SDLC model where is SDLC model where
is SDLC model where is SDLC model where is SDLC model where is SDLC model where
is SDLC model where is SDLC model where there is no specific there is no specifi
c there is no specific there is no specific there is no specific there is no spe
cific there is no specific there is no specific there is no specific there is no
specific there is no specific there is no specific there is no specific there i
s no specific there is no specific there is no specific there is no specific the
re is no specific there is no specific process followed. The development just st
arts with the required process followed. The development just starts with the re
quired process followed. The development just starts with the required process f
ollowed. The development just starts with the required process followed. The dev
elopment just starts with the required process followed. The development just st
arts with the required process followed. The development just starts with the re
quired process followed. The development just starts with the required process f
ollowed. The development just starts with the required process followed. The dev
elopment just starts with the required process followed. The development just st
arts with the required process followed. The development just starts with the re
quired process followed. The development just starts with the required process f
ollowed. The development just starts with the required process followed. The dev
elopment just starts with the required process followed. The development just st
arts with the required process followed. The development just starts with the re
quired process followed. The development just starts with the required process f
ollowed. The development just starts with the required process followed. The dev
elopment just starts with the required process followed. The development just st
arts with the required process followed. The development just starts with the re
quired process followed. The development just starts with the required process f
ollowed. The development just starts with the required process followed. The dev
elopment just starts with the required process followed. The development just st
arts with the required process followed. The development just starts with the re
quired process followed. The development just starts with the required process f
ollowed. The development just starts with the required process followed. The dev
elopment just starts with the required process followed. The development just st
arts with the required process followed. The development just starts with the re
quired process followed. The development just starts with the required process f
ollowed. The development just starts with the required process followed. The dev
elopment just starts with the required process followed. The development just st
arts with the required process followed. The development just starts with the re
quired process followed. The development just starts with the required process f
ollowed. The development just starts with the required process followed. The dev
elopment just starts with the required process followed. The development just st
arts with the required process followed. The development just starts with the re
quired process followed. The development just starts with the required process f
ollowed. The development just starts with the required process followed. The dev
elopment just starts with the required process followed. The development just st
arts with the required process followed. The development just starts with the re
quired process followed. The development just starts with the required process f
ollowed. The development just starts with the required process followed. The dev
elopment just starts with the required process followed. The development just st
arts with the required process followed. The development just starts with the re
quired process followed. The development just starts with the required process f
ollowed. The development just starts with the required process followed. The dev
elopment just starts with the required process followed. The development just st
arts with the required process followed. The development just starts with the re
quired money and efforts as the input, output is software money and efforts as t
he input, output is software money and efforts as the input, output is software
money and efforts as the input, output is software money and efforts as the inpu
t, output is software money and efforts as the input, output is software money a
nd efforts as the input, output is software money and efforts as the input, outp
ut is software money and efforts as the input, output is software money and effo
rts as the input, output is software money and efforts as the input, output is s
oftware money and efforts as the input, output is software money and efforts as
the input, output is software money and efforts as the input, output is software
money and efforts as the input, output is software money and efforts as the inp
ut, output is software money and efforts as the input, output is software money
and efforts as the input, output is software money and efforts as the input, out
put is software money and efforts as the input, output is software money and eff
orts as the input, output is software money and efforts as the input, output is
software money and efforts as the input, output is software money and efforts as
the input, output is software money and efforts as the input, output is softwar
e money and efforts as the input, output is software money and efforts as the in
put, output is software money and efforts as the input, output is software money
and efforts as the input, output is software money and efforts as the input, ou
tput is software money and efforts as the input, output is software money and ef
forts as the input, output is software money and efforts as the input, output is
software money and efforts as the input, output is software money and efforts a
s the input, output is software money and efforts as the input, output is softwa
re money and efforts as the input, output is software money and efforts as the i
nput, output is software money and efforts as the input, output is software mone
y and efforts as the input, output is software money and efforts as the input, o
utput is software money and efforts as the input, output is software money and e
fforts as the input, output is software money and efforts as the input, output i
s software money and efforts as the input, output is software money and efforts
as the input, output is software money and efforts as the input, output is softw
are money and efforts as the input, output is software money and efforts as the
input, output is software money and efforts as the input, output is software mon
ey and efforts as the input, output is software money and efforts as the input,
output is software money and efforts as the input, output is software money and
efforts as the input, output is software developed developed developed developed
developed developed developed developed which may or not be as per customer req
uirement.which may or not be as per customer requirement.which may or not be as
per customer requirement.which may or not be as per customer requirement. which
may or not be as per customer requirement. which may or not be as per customer r
equirement.which may or not be as per customer requirement.which may or not be a
s per customer requirement. which may or not be as per customer requirement. whi
ch may or not be as per customer requirement.which may or not be as per customer
requirement. which may or not be as per customer requirement.which may or not b
e as per customer requirement.which may or not be as per customer requirement.wh
ich may or not be as per customer requirement.which may or not be as per custome
r requirement. which may or not be as per customer requirement.which may or not
be as per customer requirement.which may or not be as per customer requirement.w
hich may or not be as per customer requirement. which may or not be as per custo
mer requirement.which may or not be as per customer requirement. which may or no
t be as per customer requirement.which may or not be as per customer requirement
.which may or not be as per customer requirement.which may or not be as per cust
omer requirement.which may or not be as per customer requirement. which may or n
ot be as per customer requirement.which may or not be as per customer requiremen
t.which may or not be as per customer requirement.which may or not be as per cus
tomer requirement.which may or not be as per customer requirement.which may or n
ot be as per customer requirement.which may or not be as per customer requiremen
t.which may or not be as per customer requirement. which may or not be as per cu
stomer requirement.which may or not be as per customer requirement.which may or
not be as per customer requirement.which may or not be as per customer requireme
nt. B ig Bang Model is SDLC model where there is no formal development followed
and very little planning is required. Even the customer is not sure about what e
xactly he wants and the requirements are implemented on the fly without much ana
lysis. Usually this model is followed for small projects where the development t
eams are very small.
Big BangBig BangBig BangBig BangBig BangBig BangBig BangBig Bang Model designMod
el designModel designModel designModel designModel designModel designModel desig
nModel designModel designModel designModel design and Applicationand Application
and Applicationand Applicationand Applicationand Applicationand Applicationand A
pplicationand Applicationand Applicationand Applicationand Applicationand Applic
ationand Applicationand Application
Big bang model comprises of focusing all the possible resources in software deve
lopment and coding, with very little or no planning. The requirements are unders
tood and implemented as they come. Any changes required may or may not need to r
evamp the complete software.
This model is ideal for small projects with one or two developers working togeth
er and is also useful for academic or practice projects. Its an ideal model for t
he product where requirements are not well understood and the final release date
is not given.
Big BangBig BangBig BangBig BangBig BangBig BangBig BangBig Bang ModelModelModel
ModelModel Pros and ConsPros and ConsPros and ConsPros and ConsPros and ConsPros
and ConsPros and ConsPros and ConsPros and ConsPros and ConsPros and ConsPros a
nd ConsPros and Cons
The advantage of Big Bang is that its very simple and requires very little or no
planning. Easy to mange and no formal procedure are required.
However the Big Bang model is a very high risk model and changes in the requirem
ents or misunderstood requirements may even lead to complete reversal or scrapin
g of the project. It is ideal for repetitive or small projects with minimum risk
s. Following table lists out the pros and cons of Big Bang Model Pros Cons
CHAPTER 6
TUTORIALS POINT
Simply Easy Learning Page 18
? This is a very simple model
? Little or no planning required
? Easy to manage
? Very few resources required
? Gives flexibility to developers
? Is a good learning aid for new comers or students
? Very High risk and uncertainty.
? Not a good model for complex and object-oriented projects.
? Poor model for long and ongoing projects.
? Can turn out to be very expensive if requirements are misunderstood
TUTORIALS POINT
Simply Easy Learning Page 19
AgileAgileAgileAgileAgile Model Model Model Model Model Model Agile SDLCAgile SD
LCAgile SDLCAgile SDLCAgile SDLC Agile SDLCAgile SDLCAgile SDLC modelmodelmodelm
odelmodel is is is a combination of iterative and incremental a combination of i
terative and incremental a combination of iterative and incremental a combinatio
n of iterative and incremental a combination of iterative and incremental a comb
ination of iterative and incremental a combination of iterative and incremental
a combination of iterative and incremental a combination of iterative and increm
ental a combination of iterative and incremental a combination of iterative and
incremental a combination of iterative and incremental a combination of iterativ
e and incremental a combination of iterative and incremental a combination of it
erative and incremental a combination of iterative and incremental a combination
of iterative and incremental a combination of iterative and incremental a combi
nation of iterative and incremental a combination of iterative and incremental a
combination of iterative and incremental a combination of iterative and increme
ntal a combination of iterative and incremental a combination of iterative and i
ncremental a combination of iterative and incremental a combination of iterative
and incremental a combination of iterative and incremental a combination of ite
rative and incremental a combination of iterative and incremental a combination
of iterative and incremental a combination of iterative and incremental a combin
ation of iterative and incremental a combination of iterative and incremental a
combination of iterative and incremental a combination of iterative and incremen
tal a combination of iterative and incremental a combination of iterative and in
cremental a combination of iterative and incremental process models with focus o
n adaptability and customer process models with focus on adaptability and custom
er process models with focus on adaptability and customer process models with fo
cus on adaptability and customer process models with focus on adaptability and c
ustomer process models with focus on adaptability and customer process models wi
th focus on adaptability and customer process models with focus on adaptability
and customer process models with focus on adaptability and customer process mode
ls with focus on adaptability and customer process models with focus on adaptabi
lity and customer process models with focus on adaptability and customer process
models with focus on adaptability and customer process models with focus on ada
ptability and customer process models with focus on adaptability and customer pr
ocess models with focus on adaptability and customer process models with focus o
n adaptability and customer process models with focus on adaptability and custom
er process models with focus on adaptability and customer process models with fo
cus on adaptability and customer process models with focus on adaptability and c
ustomer process models with focus on adaptability and customer process models wi
th focus on adaptability and customer process models with focus on adaptability
and customer process models with focus on adaptability and customer process mode
ls with focus on adaptability and customer process models with focus on adaptabi
lity and customer process models with focus on adaptability and customer process
models with focus on adaptability and customer process models with focus on ada
ptability and customer process models with focus on adaptability and customer pr
ocess models with focus on adaptability and customer process models with focus o
n adaptability and customer process models with focus on adaptability and custom
er process models with focus on adaptability and customer process models with fo
cus on adaptability and customer process models with focus on adaptability and c
ustomer process models with focus on adaptability and customer process models wi
th focus on adaptability and customer process models with focus on adaptability
and customer process models with focus on adaptability and customer process mode
ls with focus on adaptability and customer process models with focus on adaptabi
lity and customer process models with focus on adaptability and customer process
models with focus on adaptability and customer process models with focus on ada
ptability and customer process models with focus on adaptability and customer pr
ocess models with focus on adaptability and customer process models with focus o
n adaptability and customer process models with focus on adaptability and custom
er process models with focus on adaptability and customer process models with fo
cus on adaptability and customer process models with focus on adaptability and c
ustomer process models with focus on adaptability and customer process models wi
th focus on adaptability and customer process models with focus on adaptability
and customer process models with focus on adaptability and customer process mode
ls with focus on adaptability and customer process models with focus on adaptabi
lity and customer satisfaction by rapid delivery of working software product. sa
tisfaction by rapid delivery of working software product. satisfaction by rapid
delivery of working software product. satisfaction by rapid delivery of working
software product. satisfaction by rapid delivery of working software product. sa
tisfaction by rapid delivery of working software product. satisfaction by rapid
delivery of working software product. satisfaction by rapid delivery of working
software product. satisfaction by rapid delivery of working software product. sa
tisfaction by rapid delivery of working software product. satisfaction by rapid
delivery of working software product. satisfaction by rapid delivery of working
software product. satisfaction by rapid delivery of working software product. sa
tisfaction by rapid delivery of working software product. satisfaction by rapid
delivery of working software product. satisfaction by rapid delivery of working
software product. satisfaction by rapid delivery of working software product. sa
tisfaction by rapid delivery of working software product. satisfaction by rapid
delivery of working software product. satisfaction by rapid delivery of working
software product. satisfaction by rapid delivery of working software product. sa
tisfaction by rapid delivery of working software product. satisfaction by rapid
delivery of working software product. satisfaction by rapid delivery of working
software product. satisfaction by rapid delivery of working software product. sa
tisfaction by rapid delivery of working software product. satisfaction by rapid
delivery of working software product. satisfaction by rapid delivery of working
software product. satisfaction by rapid delivery of working software product. sa
tisfaction by rapid delivery of working software product. satisfaction by rapid
delivery of working software product. satisfaction by rapid delivery of working
software product. satisfaction by rapid delivery of working software product. sa
tisfaction by rapid delivery of working software product. satisfaction by rapid
delivery of working software product. satisfaction by rapid delivery of working
software product. satisfaction by rapid delivery of working software product. sa
tisfaction by rapid delivery of working software product. satisfaction by rapid
delivery of working software product. satisfaction by rapid delivery of working
software product. satisfaction by rapid delivery of working software product. sa
tisfaction by rapid delivery of working software product. satisfaction by rapid
delivery of working software product. satisfaction by rapid delivery of working
software product. satisfaction by rapid delivery of working software product. sa
tisfaction by rapid delivery of working software product. satisfaction by rapid
delivery of working software product. satisfaction by rapid delivery of working
software product. Agile Methods break the product into small incremental builds.
These builds are provided in iterations. Each iteration typically lasts from ab
out one to three weeks. Every iteration involves cross functional teams working
simultaneously on various areas like planning, requirements analysis, design, co
ding, unit testing, and acceptance testing. At the end of the iteration a workin
g product is displayed to the customer and important stakeholders.
What is What is What is What is What is What is What is What is Agile?Agile?Agil
e?Agile?Agile?Agile?
Agile model believes that every project needs to be handled differently and the
existing methods need to be tailored to best suit the project requirements. In a
gile the tasks are divided to time boxes (small time frames) to deliver specific
features for a release. Iterative approach is taken and working software build
is delivered after each iteration. Each build is incremental in terms of feature
s; the final build holds all the features required by the customer. Here is a gr
aphical illustration of the Agile Model: CHAPTER 7
TUTORIALS POINT
Simply Easy Learning Page 20
Agile thought process had started early in the software development and started
becoming popular with time due to its flexibility and adaptability. The most pop
ular agile methods include Rational Unified Process (1994), Scrum (1995), Crysta
l Clear, Extreme Programming (1996), Adaptive Software Development, Feature Driv
en Development, and Dynamic Systems Development Method (DSDM) (1995). These are
now collectively referred to as agile methodologies, after the Agile Manifesto w
as published in 2001. Following are the Agile Manifesto principles: ? Individual
s and interactions in agile development, self-organization and motivation are im
portant, as are interactions like co-location and pair programming. ? Working so
ftware Demo working software is considered the best means of communication with
the customer to understand their requirement, instead of just depending on docum
entation. ? Customer collaboration As the requirements cannot be gathered comple
tely in the beginning of the project due to various factors, continuous customer
interaction is very important to get proper product requirements. ? Responding
to change agile development is focused on quick responses to change and continuo
us development.
Agile Vs Traditional SDLC Models Agile Vs Traditional SDLC Models Agile Vs Tradi
tional SDLC Models Agile Vs Traditional SDLC Models Agile Vs Traditional SDLC Mo
dels Agile Vs Traditional SDLC Models Agile Vs Traditional SDLC Models Agile Vs
Traditional SDLC Models Agile Vs Traditional SDLC Models Agile Vs Traditional SD
LC Models Agile Vs Traditional SDLC Models Agile Vs Traditional SDLC Models Agil
e Vs Traditional SDLC Models Agile Vs Traditional SDLC Models Agile Vs Tradition
al SDLC Models Agile Vs Traditional SDLC Models Agile Vs Traditional SDLC Models
Agile Vs Traditional SDLC Models Agile Vs Traditional SDLC Models Agile Vs Trad
itional SDLC Models Agile Vs Traditional SDLC Models Agile Vs Traditional SDLC M
odels Agile Vs Traditional SDLC Models Agile Vs Traditional SDLC Models Agile Vs
Traditional SDLC Models Agile Vs Traditional SDLC Models Agile Vs Traditional S
DLC Models Agile Vs Traditional SDLC Models Agile Vs Traditional SDLC Models Agi
le Vs Traditional SDLC Models Agile Vs Traditional SDLC Models Agile Vs Traditio
nal SDLC Models Agile Vs Traditional SDLC Models
Agile is based on the adaptive software development methods where as the traditi
onal SDLC models like waterfall model is based on predictive approach.
Predictive teams in the traditional SDLC models usually work with detailed plann
ing and have a complete forecast of the exact tasks and features to be delivered
in the next few months or during the product life cycle. Predictive methods ent
irely depend on the requirement analysis and planning done in the beginning of c
ycle. Any changes to be incorporated go through a strict change control manageme
nt and prioritization.
TUTORIALS POINT
Simply Easy Learning Page 21
Agile uses adaptive approach where there is no detailed planning and there is cl
arity on future tasks only in respect of what features need to be developed. The
re is feature driven development and the team adapts to the changing product req
uirements dynamically. The product is tested very frequently, through the releas
e iterations, minimizing the risk of any major failures in future.
Customer interaction is the backbone of Agile methodology, and open communicatio
n with minimum documentation are the typical features of Agile development envir
onment. The agile teams work in close collaboration with each other and are most
often located in the same geographical location.
Agile Model Pros and ConsAgile Model Pros and ConsAgile Model Pros and ConsAgile
Model Pros and ConsAgile Model Pros and ConsAgile Model Pros and ConsAgile Mode
l Pros and ConsAgile Model Pros and ConsAgile Model Pros and ConsAgile Model Pro
s and ConsAgile Model Pros and ConsAgile Model Pros and ConsAgile Model Pros and
ConsAgile Model Pros and ConsAgile Model Pros and ConsAgile Model Pros and Cons
Agile Model Pros and ConsAgile Model Pros and ConsAgile Model Pros and ConsAgile
Model Pros and ConsAgile Model Pros and ConsAgile Model Pros and ConsAgile Mode
l Pros and ConsAgile Model Pros and ConsAgile Model Pros and Cons
Agile methods are being widely accepted in the software world recently, however,
this method may not always be suitable for all products. Here are some pros and
cons of the agile model. Following table lists out the pros and cons of Agile M
odel Pros Cons
? Is a very realistic approach to software development
? Promotes teamwork and cross training.
? Functionality can be developed rapidly and demonstrated.
? Resource requirements are minimum.
? Suitable for fixed or changing requirements
? Delivers early partial working solutions.
? Good model for environments that change steadily.
? Minimal rules, documentation easily employed.
? Enables concurrent development and delivery within an overall planned context.
? Little or no planning required
? Easy to manage
? Gives flexibility to developers
? Not suitable for handling complex dependencies.
? More risk of sustainability, maintainability and extensibility.
? An overall plan, an agile leader and agile PM practice is a must without which
it will not work.
? Strict delivery management dictates the scope, functionality to be delivered,
and adjustments to meet the deadlines.
? Depends heavily on customer interaction, so if customer is not clear, team can
be driven in the wrong direction.
? There is very high individual dependency, since there is minimum documentation
generated.
? Transfer of technology to new team members may be quite challenging due to lac
k of documentation.
TUTORIALS POINT
Simply Easy Learning Page 22
RAD OverviewRAD OverviewRAD OverviewRAD OverviewRAD OverviewRAD OverviewRAD Over
viewRAD OverviewRAD OverviewRAD OverviewRAD OverviewRAD Overview The The RAD (Ra
pid Application Development)RAD (Rapid Application Development)RAD (Rapid Applic
ation Development)RAD (Rapid Application Development)RAD (Rapid Application Deve
lopment) RAD (Rapid Application Development)RAD (Rapid Application Development)R
AD (Rapid Application Development)RAD (Rapid Application Development)RAD (Rapid
Application Development)RAD (Rapid Application Development)RAD (Rapid Applicatio
n Development)RAD (Rapid Application Development)RAD (Rapid Application Developm
ent)RAD (Rapid Application Development)RAD (Rapid Application Development) RAD (
Rapid Application Development)RAD (Rapid Application Development)RAD (Rapid Appl
ication Development)RAD (Rapid Application Development)RAD (Rapid Application De
velopment)RAD (Rapid Application Development)RAD (Rapid Application Development)
RAD (Rapid Application Development)RAD (Rapid Application Development)RAD (Rapi
d Application Development)RAD (Rapid Application Development) RAD (Rapid Applica
tion Development)RAD (Rapid Application Development) modelmodelmodelmodel is is
is based on based on based on based on based on based on based on based on proto
typingprototypingprototypingprototypingprototypingprototypingprototypingprototyp
ingprototypingprototypingprototyping and iterative development and iterative dev
elopment and iterative development and iterative development and iterative devel
opment and iterative development and iterative development and iterative develop
ment and iterative development and iterative development and iterative developme
nt and iterative development and iterative development and iterative development
and iterative development and iterative development and iterative development a
nd iterative development and iterative development and iterative development wit
hithith no specific pno specific pno specific pno specific pno specific pno spec
ific p no specific pno specific pno specific pno specific p no specific planning
lanning lanning lanning lanning lanning lanning lanning involved. involved. inv
olved. involved. involved. involved. involved. involved. The process The process
The processThe processThe processThe process The processThe process of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves of writing
the software itself involves of writing the software itself involves planning re
quired for developing the productplanning required for developing the productpla
nning required for developing the productplanning required for developing the pr
oductplanning required for developing the productplanning required for developin
g the productplanning required for developing the productplanning required for d
eveloping the productplanning required for developing the productplanning requir
ed for developing the productplanning required for developing the productplannin
g required for developing the productplanning required for developing the produc
tplanning required for developing the productplanning required for developing th
e productplanning required for developing the productplanning required for devel
oping the productplanning required for developing the product planning required
for developing the productplanning required for developing the productplanning r
equired for developing the product planning required for developing the productp
lanning required for developing the productplanning required for developing the
productplanning required for developing the productplanning required for develop
ing the productplanning required for developing the productplanning required for
developing the productplanning required for developing the product planning req
uired for developing the productplanning required for developing the product pla
nning required for developing the productplanning required for developing the pr
oductplanning required for developing the productplanning required for developin
g the productplanning required for developing the productplanning required for d
eveloping the product . R apid Application development focuses on gathering cust
omer requirements through workshops or focus groups, early testing of the protot
ypes by the customer using iterative concept, reuse of the existing prototypes (
components), continuous integration and rapid delivery.
What isWhat isWhat isWhat isWhat isWhat isWhat is RAD?RAD?RAD?RAD?
Rapid application development (RAD) is a software development methodology that u
ses minimal planning in favor of rapid prototyping. A prototype is a working mod
el that is functionally equivalent to a component of the product. In RAD model t
he functional modules are developed in parallel as prototypes and are integrated
to make the complete product for faster product delivery.
Since there is no detailed preplanning, it makes it easier to incorporate the ch
anges within the development process. RAD projects follow iterative and incremen
tal model and have small teams comprising of developers, domain experts, custome
r representatives and other IT resources working progressively on their componen
t or prototype. The most important aspect for this model to be successful is to
make sure that the prototypes developed are reusable.
RADRADRAD ModelModelModelModelModel DesignDesignDesignDesignDesignDesign
RAD model distributes the analysis, design, build, and test phases into a series
of short, iterative development cycles. Following are the phases of RAD Model:
? Business Modeling:
The business model for the product under development is designed in terms of flo
w of information and the distribution of information between various business ch
annels. A complete business analysis is performed to find the vital information
for business, how it can be obtained, how and when is the information processed
and what are the factors driving successful flow of information.
? Data Modeling: CHAPTER 8
TUTORIALS POINT
Simply Easy Learning Page 23
The information gathered in the Business Modeling phase is reviewed and analyzed
to form sets of data objects vital for the business. The attributes of all data
sets is identified and defined. The relation between these data objects are est
ablished and defined in detail in relevance to the business model.
? Process Modeling:
The data object sets defined in the Data Modeling phase are converted to establi
sh the business information flow needed to achieve specific business objectives
as per the business model. The process model for any changes or enhancements to
the data object sets is defined in this phase. Process descriptions for adding ,
deleting, retrieving or modifying a data object are given.
? Application Generation:
The actual system is built and coding is done by using automation tools to conve
rt process and data models into actual prototypes.
? Testing and Turnover:
The overall testing time is reduced in RAD model as the prototypes are independe
ntly tested during every iteration. However the data flow and the interfaces bet
ween all the components need to be thoroughly tested with complete test coverage
. Since most of the programming components have already been tested, it reduces
the risk of any major issues.
Following image illustrates the RAD Model:
TUTORIALS POINT
Simply Easy Learning Page 24
RADRADRAD ModelModelModelModelModel Vs TraditionalTraditionalTraditionalTraditio
nalTraditionalTraditionalTraditionalTraditionalTraditionalTraditionalTraditional
SDLCSDLCSDLCSDLC
The traditional SDLC follows a rigid process models with high emphasis on requir
ement analysis and gathering before the coding starts. It puts a pressure on the
customer to sign off the requirements before the project starts and the custome
r doesnt get the feel of the product as there is no working build available for a
long time.
The customer may need some changes after he actually gets to see the software, h
owever the change process is quite rigid and it may not be feasible to incorpora
te major changes in the product in traditional SDLC.
RAD model focuses on iterative and incremental delivery of working models to the
customer. This results in rapid delivery to the customer and customer involveme
nt during the complete development cycle of product reducing the risk of non con
formance with the actual user requirements.
RADRADRAD ModelModelModelModelModel ApplicationApplicationApplicationApplication
ApplicationApplicationApplicationApplicationApplicationApplicationApplication
RAD model can be applied successfully to the projects in which clear modularizat
ion is possible. If the project cannot be broken into modules, RAD may fail. Fol
lowing are the typical scenarios where RAD can be used:
? RAD should be used only when a system can be modularized to be delivered in in
cremental manner.
? It should be used if theres high availability of designers for modeling
? It should be used only if the budget permits use of automated code generating
tools.
? RAD SDLC model should be chosen only if domain experts are available with rele
vant business knowledge
? Should be used where the requirements change during the course of the project
and working prototypes are to be presented to customer in small iterations of 2-
3 months.
RADRADRAD ModelModelModelModelModel Pros and ConsPros and ConsPros and ConsPros
and ConsPros and ConsPros and ConsPros and ConsPros and ConsPros and ConsPros an
d ConsPros and ConsPros and ConsPros and Cons
RAD model enables rapid delivery as it reduces the overall development time due
to reusability of the components and parallel development. RAD works well only i
f high skilled engineers are available and the customer is also committed to ach
ieve the targeted prototype in the given time frame. If there is commitment lack
ing on either side the model may fail. Following table lists out the pros and co
ns of RAD Model Pros Cons
? Changing requirements can be accommodated.
? Progress can be measured.
? Iteration time can be short with use of powerful RAD tools.
? Productivity with fewer people in short time.
? Reduced development time.
? Increases reusability of components
? Dependency on technically strong team members for identifying business require
ments. ? Only system that can be modularized can be built using RAD ? Requires h
ighly skilled developers/designers. ? High dependency on modeling skills ? Inapp
licable to cheaper projects as cost
TUTORIALS POINT
Simply Easy Learning Page 25
? Quick initial reviews occur
? Encourages customer feedback
? Integration from very beginning solves a lot of integration issues.
of modeling and automated code generation is very high. ? Management complexity
is more. ? Suitable for systems that are component based and scalable. ? Require
s user involvement throughout the life cycle. ? Suitable for project requiring s
horter development times.
TUTORIALS POINT
Simply Easy Learning Page 26
Software Software Software Software Software Software Software Software Software
Prototyping OverviewPrototyping OverviewPrototyping OverviewPrototyping Overvie
wPrototyping OverviewPrototyping OverviewPrototyping OverviewPrototyping Overvie
wPrototyping OverviewPrototyping OverviewPrototyping OverviewPrototyping Overvie
wPrototyping OverviewPrototyping OverviewPrototyping OverviewPrototyping Overvie
wPrototyping OverviewPrototyping OverviewPrototyping OverviewPrototyping Overvie
w The The Software Prototyping Software Prototyping Software Prototyping Softwar
e Prototyping Software Prototyping Software Prototyping Software Prototyping Sof
tware Prototyping Software Prototyping Software Prototyping Software Prototyping
Software Prototyping Software Prototyping Software Prototyping Software Prototy
ping Software Prototyping Software Prototyping Software Prototyping refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application refers to building software application refers to bu
ilding software application prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under prototypes which display the functionality of product under prototypes w
hich display the functionality of product under prototypes which display the fun
ctionality of product under prototypes which display the functionality of produc
t under development but may not actually hold the exact logic of development but
may not actually hold the exact logic of development but may not actually hold
the exact logic of development but may not actually hold the exact logic of deve
lopment but may not actually hold the exact logic of development but may not act
ually hold the exact logic of development but may not actually hold the exact lo
gic of development but may not actually hold the exact logic of development but
may not actually hold the exact logic of development but may not actually hold t
he exact logic of development but may not actually hold the exact logic of devel
opment but may not actually hold the exact logic of development but may not actu
ally hold the exact logic of development but may not actually hold the exact log
ic of development but may not actually hold the exact logic of development but m
ay not actually hold the exact logic of development but may not actually hold th
e exact logic of development but may not actually hold the exact logic of develo
pment but may not actually hold the exact logic of development but may not actua
lly hold the exact logic of development but may not actually hold the exact logi
c of development but may not actually hold the exact logic of development but ma
y not actually hold the exact logic of development but may not actually hold the
exact logic of development but may not actually hold the exact logic of develop
ment but may not actually hold the exact logic of development but may not actual
ly hold the exact logic of development but may not actually hold the exact logic
of development but may not actually hold the exact logic of development but may
not actually hold the exact logic of development but may not actually hold the
exact logic of development but may not actually hold the exact logic of developm
ent but may not actually hold the exact logic of development but may not actuall
y hold the exact logic of development but may not actually hold the exact logic
of development but may not actually hold the exact logic of development but may
not actually hold the exact logic of development but may not actually hold the e
xact logic of development but may not actually hold the exact logic of developme
nt but may not actually hold the exact logic of development but may not actually
hold the exact logic of development but may not actually hold the exact logic o
f development but may not actually hold the exact logic of development but may n
ot actually hold the exact logic of development but may not actually hold the ex
act logic of development but may not actually hold the exact logic of developmen
t but may not actually hold the exact logic of development but may not actually
hold the exact logic of development but may not actually hold the exact logic of
development but may not actually hold the exact logic of development but may no
t actually hold the exact logic of development but may not actually hold the exa
ct logic of development but may not actually hold the exact logic of original or
iginal original original original original original original original software.s
oftware.software.software.software.software.software.software. S oftware prototy
ping is becoming very popular as a software development model, as it enables to
understand customer requirements at an early stage of development. It helps get
valuable feedback from the customer and helps software designers and developers
understand about what exactly is expected from the product under development.
What is Software What is Software What is Software What is Software What is Soft
ware What is Software What is Software What is Software What is Software What is
Software What is Software What is Software What is Software What is Software Wh
at is Software What is Software What is Software Prototyping?Prototyping?Prototy
ping?Prototyping?Prototyping?Prototyping?Prototyping?Prototyping?Prototyping?Pro
totyping?Prototyping?Prototyping? Prototype is a working model of software with
some limited functionality. The prototype does not always hold the exact logic u
sed in the actual software application and is an extra effort to be considered u
nder effort estimation. Prototyping is used to allow the users evaluate develope
r proposals and try them out before implementation. It also helps understand the
requirements which are user specific and may not have been considered by the de
veloper during product design. Following is the stepwise approach to design a so
ftware prototype:
? Basic Requirement Identification
This step involves understanding the very basics product requirements especially
in terms of user interface. The more intricate details of the internal design a
nd external aspects like performance and security can be ignored at this stage.
? Developing the initial Prototype
The initial Prototype is developed in this stage, where the very basic requireme
nts are showcased and user interfaces are provided. These features may not exact
ly work in the same manner internally in the actual software developed and the w
orkarounds are used to give the same look and feel to the customer in the protot
ype developed.
? Review of the Prototype
The prototype developed is then presented to the customer and the other importan
t stakeholders in the project. The feedback is collected in an organized manner
and used for further enhancements in the product under development. CHAPTER 9
TUTORIALS POINT
Simply Easy Learning Page 27
? Revise and enhance the Prototype
The feedback and the review comments are discussed during this stage and some ne
gotiations happen with the customer based on factors like , time and budget cons
traints and technical feasibility of actual implementation. The changes accepted
are again incorporated in the new Prototype developed and the cycle repeats unt
il customer expectations are met. Prototypes can have horizontal or vertical dim
ensions. Horizontal prototype displays the user interface for the product and gi
ves a broader view of the entire system, without concentrating on internal funct
ions. A vertical prototype on the other side is a detailed elaboration of a spec
ific function or a sub system in the product. The purpose of both horizontal and
vertical prototype is different. Horizontal prototypes are used to get more inf
ormation on the user interface level and the business requirements. It can even
be presented in the sales demos to get business in the market. Vertical prototyp
es are technical in nature and are used to get details of the exact functioning
of the sub systems. For example, database requirements, interaction and data pro
cessing loads in a given sub system.
Software Software Software Software Software Software Software Software Software
PrototypingPrototypingPrototypingPrototypingPrototypingPrototypingPrototypingPr
ototypingPrototypingPrototypingPrototyping TypesTypesTypesTypesTypes
There are different types of software prototypes used in the industry. Following
are the major software prototyping types used widely:
? Throwaway/Rapid Prototyping
Throwaway prototyping is also called as rapid or close ended prototyping. This t
ype of prototyping uses very little efforts with minimum requirement analysis to
build a prototype. Once the actual requirements are understood, the prototype i
s discarded and the actual system is developed with a much clear understanding o
f user requirements.
? Evolutionary Prototyping
Evolutionary prototyping also called as breadboard prototyping is based on build
ing actual functional prototypes with minimal functionality in the beginning. Th
e prototype developed forms the heart of the future prototypes on top of which t
he entire system is built. Using evolutionary prototyping only well understood r
equirements are included in the prototype and the requirements are added as and
when they are understood.
? Incremental Prototyping
Incremental prototyping refers to building multiple functional prototypes of the
various sub systems and then integrating all the available prototypes to form a
complete system.
? Extreme Prototyping
Extreme prototyping is used in the web development domain. It consists of three
sequential phases. First, a basic prototype with all the existing pages is prese
nted in the html format. Then the data processing is simulated using a prototype
services layer. Finally the services are implemented and integrated to the fina
l prototype. This process is called Extreme Prototyping used to draw attention t
o the second phase of the process, where a fully functional UI is developed with
very little regard to the actual services.
TUTORIALS POINT
Simply Easy Learning Page 28
Software PrototypingSoftware PrototypingSoftware PrototypingSoftware Prototyping
Software PrototypingSoftware PrototypingSoftware PrototypingSoftware Prototyping
Software PrototypingSoftware PrototypingSoftware PrototypingSoftware Prototyping
Software PrototypingSoftware PrototypingSoftware PrototypingSoftware Prototyping
Software PrototypingSoftware PrototypingSoftware PrototypingSoftware Prototyping
ApplicationApplicationApplicationApplicationApplicationApplicationApplicationAp
plicationApplicationApplicationApplication
Software Prototyping is most useful in development of systems having high level
of user interactions such as online systems. Systems which need users to fill ou
t forms or go through various screens before data is processed can use prototypi
ng very effectively to give the exact look and feel even before the actual softw
are is developed.
Software that involves too much of data processing and most of the functionality
is internal with very little user interface does not usually benefit from proto
typing. Prototype development could be an extra overhead in such projects and ma
y need lot of extra efforts.
Software Software Software Software Software Software Software Software Software
PrototypingPrototypingPrototypingPrototypingPrototypingPrototypingPrototypingPr
ototypingPrototypingPrototypingPrototyping Pros and ConsPros and ConsPros and Co
nsPros and ConsPros and ConsPros and ConsPros and ConsPros and ConsPros and Cons
Pros and ConsPros and ConsPros and ConsPros and Cons
Software prototyping is used in typical cases and the decision should be taken v
ery carefully so that the efforts spent in building the prototype add considerab
le value to the final software developed. The model has its own pros and cons di
scussed as below. Following table lists out the pros and cons of Big Bang Model
Pros Cons
? Increased user involvement in the product even before implementation ? Since a
working model of the system is displayed, the users get a better understanding
of the system being developed. ? Reduces time and cost as the defects can be det
ected much earlier. ? Quicker user feedback is available leading to better solut
ions. ? Missing functionality can be identified easily ? Confusing or difficult
functions can be identified
? Risk of insufficient requirement analysis owing to too much dependency on prot
otype ? Users may get confused in the prototypes and actual systems. ? Practical
ly, this methodology may increase the complexity of the system as scope of the s
ystem may expand beyond original plans. ? Developers may try to reuse the existi
ng prototypes to build the actual system, even when its not technically feasible
? The effort invested in building prototypes may be too much if not monitored p
roperly
TUTORIALS POINT
Simply Easy Learning Page 29
SDLC DLC DLC DLC SummarySummarySummarySummarySummarySummarySummary This was abou
t the various SDLC models available and the scenarios in which these SDLC models
are used. The information in this tutorial will help the project managers decid
e what SDLC model would be suitable for their project and it would also help the
developers and testers understand basics of the development model being used fo
r their project. We have discussed all the popular SDLC models in the industry,
both traditional and Modern. This tutorial also gives you an insight into the pr
os and cons and the practical applications of the SDLC models discussed. Waterfa
ll and V model are traditional SDLC models and are of sequential type. Sequentia
l means that the next phase can start only after the completion of first phase.
Such models are suitable for projects with very clear product requirements and w
here the requirements will not change dynamically during the course of project c
ompletion. Iterative and Spiral models are more accommodative in terms of change
and are suitable for projects where the requirements are not so well defined, o
r the market requirements change quite frequently. Big Bang model is a random ap
proach to Software development and is suitable for small or academic projects. A
gile is the most popular model used in the industry. Agile introduces the concep
t of fast delivery to customers using prototype approach. Agile divides the proj
ect into small iterations with specific deliverable features. Customer interacti
on is the backbone of Agile methodology, and open communication with minimum doc
umentation are the typical features of Agile development environment. RAD (Rapid
Application Development) and Software Prototype are modern techniques to unders
tand the requirements in a better way early in the project cycle. These techniqu
es work on the concept of providing a working model to the customer and stockhol
ders to give the look and feel and collect the feedback. This feedback is used i
n an organized manner to improve the product. The Resources section below lists so
me suggested books and online resources to gain further understanding of the SDL
C concepts. Please send us your feedback at webmaster@tutorialspoint.com Keep vi
siting to us, Happy Learning! CHAPTER 10
TUTORIALS POINT
Simply Easy Learning Page 30
Referenceseferenceseferenceseferenceseferenceseferenceseferenceseferenceseferenc
es
Books:Books:Books:Books:Books:Books: 1) Lean Software Development: An Agile Tool
kit for Software Development Managers - by Mary Poppendieck, Tom Poppendieck, Ke
n Schwaber 2) The Art Of Software Testing - By Glenford J Mayers
3) Agile Project Management with Scrum - by Ken Schwaber
4) Extreme Programming Explained - Book by Kent Beck
WebsitesWebsitesWebsitesWebsitesWebsitesWebsitesWebsitesWebsites: http://en.wiki
pedia.org/wiki/Systems_Development_Life_Cycle http://en.wikipedia.org/wiki/Agile
_software_development http://agilemanifesto.org/ http://www.agilealliance.org/