Date post: | 05-Apr-2018 |
Category: |
Documents |
Upload: | alok-vishwakarma |
View: | 215 times |
Download: | 0 times |
of 93
8/2/2019 M2-SDLC
1/93
MODULE:IIMODULE:II
LIFE CYCLE(SDLC)LIFE CYCLE(SDLC)
2/21/20122/21/2012 11MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
2/93
Software Life CycleSoftware Life Cycle Software life cycle (softwareSoftware life cycle (software processprocess):):
Series ofSeries ofidentifiable stagesidentifiable stages that a softwarethat a software
product undergoes during its life time:product undergoes during its life time:
--
Feasibility study (System Engineering),Feasibility study (System Engineering),
--Requirements Analysis and specification,Requirements Analysis and specification,
--Design,Design,
--
Coding,Coding,
-- TestingTesting
--Maintenance (Deployment)Maintenance (Deployment)2/21/20122/21/2012 22MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
3/93
Life Cycle ModelLife Cycle Model
AA softwaresoftware lifelife cyclecycle modelmodel ((oror ProcessProcess ModelModel))::
aa descriptivedescriptive andand diagrammaticdiagrammatic modelmodel ofof
softwaresoftware lifelife cyclecycle::identifiesidentifies allall thethe activitiesactivities requiredrequired forfor
productproduct development,development,
establishesestablishes aa precedenceprecedence orderingordering amongamong thethedifferentdifferent activities,activities,
DividesDivides lifelife cyclecycle intointo phasesphases..2/21/20122/21/2012 33MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
4/93
Life Cycle Model (CONT.)Life Cycle Model (CONT.)
SeveralSeveral different activitiesdifferent activities may be carried outmay be carried out
in each life cycle phase.in each life cycle phase.
For example, theFor example, the designdesign stage mightstage mightconsist of:consist of:
structured analysis activity followed bystructured analysis activity followed by
structured design activity.structured design activity.
2/21/20122/21/2012 44MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
5/93
Why Model Life Cycle ?Why Model Life Cycle ?
A written description:A written description:
Forms a commonForms a common understanding ofunderstanding of
activitiesactivities among the software developers.among the software developers.Helps in identifyingHelps in identifying inconsistencies,inconsistencies,
redundancies, and omissionsredundancies, and omissions in thein the
development process.development process.Helps inHelps in tailoring a process modeltailoring a process model forfor
specific projects.specific projects.2/21/20122/21/2012 55MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
6/93
Life Cycle Model (CONT.)Life Cycle Model (CONT.)
The development team mustThe development team must identify aidentify a
suitable life cycle modelsuitable life cycle model::
and then adhere to it.and then adhere to it.Primary advantage of adhering to a lifePrimary advantage of adhering to a life
cycle model:cycle model:
Helps development of software in aHelps development of software in asystematicsystematic andand disciplineddisciplined manner.manner.
2/21/20122/21/2012 66MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
7/93
Life Cycle Model (CONT.)Life Cycle Model (CONT.)
When a program is developed byWhen a program is developed by
a single programmera single programmer ------
he has the freedom to decide his exact steps.he has the freedom to decide his exact steps.
2/21/20122/21/2012 77MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
8/93
Life Cycle Model (CONT.)Life Cycle Model (CONT.)
When a software product is beingWhen a software product is being
developed by a team:developed by a team:
there must be athere must be a precise understandingprecise understandingamong team membersamong team members as to when to doas to when to do
what,what,
otherwise it would lead tootherwise it would lead to project failureproject failure..
2/21/20122/21/2012 88MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
9/93
Life Cycle Model (CONT.)Life Cycle Model (CONT.)
A software project will never succeed if:A software project will never succeed if:
one engineer starts writing code,one engineer starts writing code,
another concentrates on writing theanother concentrates on writing thetest document first,test document first,
yet another engineer first defines theyet another engineer first defines the
file structurefile structureanother defines the I/O for his portion firstanother defines the I/O for his portion first
2/21/20122/21/2012 99MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
10/93
Life Cycle Model (CONT.)Life Cycle Model (CONT.)
A life cycle model:A life cycle model:
definesdefines entryentry and exitand exit criteriacriteria for everyfor every
phase.phase.A phase is considered to e complete:A phase is considered to e complete:
only when all its exit criteria areonly when all its exit criteria are
satisfied.satisfied.
2/21/20122/21/2012 1010MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
11/93
Life Cycle Model (CONT.)Life Cycle Model (CONT.)
The phase exit criteria for the softwareThe phase exit criteria for the software
requirements specification phase:requirements specification phase:
Software Requirements Specification (SRS)Software Requirements Specification (SRS)document isdocument is completecomplete,, reviewedreviewed, and, and
approvedapproved by the customer.by the customer.
A phase can start:A phase can start:only if its phaseonly if its phase--entry criteria have beenentry criteria have been
satisfied.satisfied.2/21/20122/21/2012 1111MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
12/93
Life Cycle Model (CONT.)Life Cycle Model (CONT.)
It becomes easier for softwareIt becomes easier for software
project managers:project managers:
oo mon ormon or ee progressprogress o e pro ec .o e pro ec .
2/21/20122/21/2012 1212MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
13/93
Life Cycle Model (CONT.)Life Cycle Model (CONT.)
When a life cycle model is adhered to,When a life cycle model is adhered to,
the project manager can at any timethe project manager can at any time
fairly accurately tell,fairly accurately tell,
of the project is.of the project is.
Otherwise, it becomes very difficultOtherwise, it becomes very difficult
to track the progress of the projectto track the progress of the project
the project manager would have to dependthe project manager would have to depend
on the guesses of the team members.on the guesses of the team members.2/21/20122/21/2012 1313MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
14/93
Life Cycle Model (CONT.)Life Cycle Model (CONT.)
This usually leads to a problem:This usually leads to a problem:known as theknown as the 99% complete syndrome99% complete syndrome..
2/21/20122/21/2012 1414MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
15/93
Life Cycle Model (CONT.)Life Cycle Model (CONT.)
Many life cycle models have been proposed.Many life cycle models have been proposed. We will confine our attention to a fewWe will confine our attention to a few
important and commonly used models.important and commonly used models.
Classical waterfall modelClassical waterfall model ----RAD ModelRAD ModelIterative waterfall,Iterative waterfall,
Evolutionary,Evolutionary,
Prototyping,Prototyping,SpiralSpiral model, andmodel, and
2/21/20122/21/2012 1515MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
16/93
Classical Waterfall ModelClassical Waterfall Model
Classical waterfall model divides life cycleClassical waterfall model divides life cycle
into phases:into phases:
Feasibility StudyFeasibility Study equ remen s na ys s an pec ca on,
Design,
Coding and Unit Testing,Coding and Unit Testing,
Integration and System testing,Integration and System testing, Maintenance (Deployment)Maintenance (Deployment)
2/21/20122/21/2012 1616MODULEMODULE--II SDLCII SDLC
8/2/2019 M2-SDLC
17/93
Classical Waterfall ModelClassical Waterfall Model
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 1717
8/2/2019 M2-SDLC
18/93
Classical Waterfall ModelClassical Waterfall Model
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 1818
8/2/2019 M2-SDLC
19/93
Classical Waterfall ModelClassical Waterfall ModelFeasibility Study:Feasibility Study:Main aim of feasibility study: determine whetherMain aim of feasibility study: determine whether
developing the productdeveloping the product
financiallyfinancially worthwhileworthwhile
technicalltechnicall feasible.feasible.
FirstFirst roughly understandroughly understand what the customer wants:what the customer wants:
different data which would bedifferent data which would be inputinput to the system,to the system,
processingprocessing needed on these data,needed on these data,
outputoutput data to be produced by the system,data to be produced by the system,
variousvarious constraintsconstraints on the behavior of the systemon the behavior of the system
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 1919
8/2/2019 M2-SDLC
20/93
Classical Waterfall ModelClassical Waterfall ModelActivities during Feasibility StudyActivities during Feasibility Study
Work out an overall understanding of theWork out an overall understanding of the
Problem(An abstract problem definition ).Problem(An abstract problem definition ).
Formulate differentFormulate different solution strategiessolution strategies..
ExamineExamine alternate solutionalternate solution strategies instrategies in
terms of:terms of:
-- resources required,resources required,
-- cost of development,cost of development,
-- development time.development time.2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2020
8/2/2019 M2-SDLC
21/93
Classical Waterfall ModelClassical Waterfall ModelSystem EngineeringSystem Engineering::
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2121
8/2/2019 M2-SDLC
22/93
Classical Waterfall ModelClassical Waterfall Model
Requirements Analysis and SpecificationRequirements Analysis and Specification
Aim of this phase:Aim of this phase:
understand theunderstand the exact requirementsexact requirements ofof
,,
documentdocument them properly.them properly.
Consists of two distinct activities:Consists of two distinct activities:
requirementsrequirements gatheringgathering andand analysisanalysis requirementsrequirements specificationspecification..
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2222
8/2/2019 M2-SDLC
23/93
Classical Waterfall ModelClassical Waterfall Model
Goals of Requirements AnalysisGoals of Requirements Analysis
Collect all related data from the customer:Collect all related data from the customer:
analyze the collected data toanalyze the collected data to clearlyclearly
,,
find out anyfind out any inconsistenciesinconsistencies andand
incompletenessincompleteness in the requirements,in the requirements,
resolve all inconsistencies andresolve all inconsistencies andincompleteness.incompleteness.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2323
8/2/2019 M2-SDLC
24/93
Classical Waterfall ModelClassical Waterfall Model
Requirements GatheringRequirements Gathering
Gathering relevant data:Gathering relevant data:
usually collected from theusually collected from the endend--usersusersthroughthrough interviewsinterviews andand discussions.discussions.
For example, for a business accountingFor example, for a business accounting
software:software: interviewinterview all theall the accountantsaccountants of theof the
organization to find out their requirementsorganization to find out their requirements2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2424
8/2/2019 M2-SDLC
25/93
Classical Waterfall ModelClassical Waterfall Model
Requirements AnalysisRequirements Analysis
The data you initially collect from the users:The data you initially collect from the users:
would usually contain several contradictionswould usually contain several contradictionsan am gu t es:an am gu t es:
each user typically has only a partial andeach user typically has only a partial and
incomplete view of the systemincomplete view of the system
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2525
8/2/2019 M2-SDLC
26/93
Classical Waterfall ModelClassical Waterfall Model
Requirements Analysis (Requirements Analysis (CONTCONT))
Ambiguities and Contradictions:Ambiguities and Contradictions:
must be identifiedmust be identifiedresolved by discussions with the customersresolved by discussions with the customers..
Next, requirements are organized:Next, requirements are organized:
into ainto a SSoftwareoftware RRequirementsequirements SSpecificationpecification(SRS) document.(SRS) document.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2626
8/2/2019 M2-SDLC
27/93
Classical Waterfall ModelClassical Waterfall Model
Requirements Analysis (Requirements Analysis (CONTCONT))
Engineers doing requirements analysis andEngineers doing requirements analysis and
specification:specification: are es gnate asare es gnate as Ana ystsAna ysts..
Artifacts:Artifacts:
--Software Requirement SpecificationSoftware Requirement Specification
--Acceptance Test PlanAcceptance Test Plan
--System Test PlanSystem Test Plan
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2727
8/2/2019 M2-SDLC
28/93
Classical Waterfall ModelClassical Waterfall Model
Requirement Analysis:Requirement Analysis:
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2828
8/2/2019 M2-SDLC
29/93
Classical Waterfall ModelClassical Waterfall Model
DesignDesign
Design phase transforms requirementsDesign phase transforms requirements
specification:specification: nto a ormnto a orm su ta e or mp ementat onsu ta e or mp ementat on nn
some programming language.some programming language.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 2929
8/2/2019 M2-SDLC
30/93
Classical Waterfall ModelClassical Waterfall Model
DesignDesign((CONTCONT))
In technical terms:In technical terms:
during design phase,during design phase, software architecturesoftware architecture isiser ve rom t e SRS ocument.er ve rom t e SRS ocument.
Two design approaches:Two design approaches:
traditional approach,traditional approach, object oriented approach.object oriented approach.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3030
8/2/2019 M2-SDLC
31/93
Classical Waterfall ModelClassical Waterfall ModelDesignDesign(CONT.)(CONT.)
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3131
8/2/2019 M2-SDLC
32/93
Classical Waterfall ModelClassical Waterfall Model
Design(Design(CONTCONT))
Traditional Design Approach consists ofTraditional Design Approach consists oftwo activities:two activities:
Structured AnalysisStructured Analysis
Structured DesignStructured Design
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3232
8/2/2019 M2-SDLC
33/93
Classical Waterfall ModelClassical Waterfall ModelStructured DesignStructured Design HighHigh--level design:level design:
decompose the system into modules,decompose the system into modules,
represent invocation relationships amongrepresent invocation relationships among
Detailed design:Detailed design:
different modules designed in greaterdifferent modules designed in greater
detail:detail: data structures and algorithms for each moduledata structures and algorithms for each module
are designed.are designed.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3333
8/2/2019 M2-SDLC
34/93
Classical Waterfall ModelClassical Waterfall Model
Structured Analysis ActivityStructured Analysis Activity
Identify all the functions to be performed.Identify all the functions to be performed.
Identify data flow among the functions.Identify data flow among the functions. Decompose each function recursively intoDecompose each function recursively into
subsub--functions.functions.
Identify data flow among the subIdentify data flow among the sub--functions as well.functions as well.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3434
8/2/2019 M2-SDLC
35/93
Classical Waterfall ModelClassical Waterfall Model
Structured AnalysisStructured Analysis ((CONT.)CONT.)
Carried out using Data flow diagrams (DFDs).Carried out using Data flow diagrams (DFDs).
After structured analysis, carry out structuredAfter structured analysis, carry out structuredes gn:es gn:
architectural design (or higharchitectural design (or high--level design)level design)
detailed design (or lowdetailed design (or low--level design).level design).
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3535
8/2/2019 M2-SDLC
36/93
Classical Waterfall ModelClassical Waterfall Model
Object Oriented DesignObject Oriented Design
First identify various objects (real worldFirst identify various objects (real world
entities) occurring in the problem:entities) occurring in the problem: identify the relationships among the objects.identify the relationships among the objects.
For example, the objects in a payFor example, the objects in a pay--roll softwareroll software
may be:may be: employees, managers, payemployees, managers, pay--roll register, Departments,roll register, Departments,
etcetc..
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3636
8/2/2019 M2-SDLC
37/93
Classical Waterfall ModelClassical Waterfall Model
DesignDesign(CONT.)(CONT.)
Artifacts:Artifacts:
--Detailed Design DocumentDetailed Design Document
--Integration Test PlanIntegration Test Plan
--Unit Test PlanUnit Test Plan
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3737
8/2/2019 M2-SDLC
38/93
Classical Waterfall ModelClassical Waterfall Model
ImplementationImplementation
Purpose of implementation phasePurpose of implementation phase
( coding and unit testing phase):( coding and unit testing phase): translate software design into source code.translate software design into source code.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3838
8/2/2019 M2-SDLC
39/93
Classical Waterfall ModelClassical Waterfall Model
ImplementationImplementation(CONT)(CONT)
During the implementation phase:During the implementation phase:
each module of the design is coded,each module of the design is coded, each module is unit testedeach module is unit tested
tested independently as a stand alone unit,tested independently as a stand alone unit,
and debugged,and debugged, each module is documented.each module is documented.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 3939
8/2/2019 M2-SDLC
40/93
Classical Waterfall ModelClassical Waterfall Model
ImplementationImplementation(CONT)(CONT)
The purpose of unit testing:The purpose of unit testing:
test if individual modules work correctly.test if individual modules work correctly. The end product of implementation phase:The end product of implementation phase:
a set of program modules that have beena set of program modules that have been
tested individually.tested individually.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4040
8/2/2019 M2-SDLC
41/93
Classical Waterfall ModelClassical Waterfall Model
Implementation(Coding)Implementation(Coding)
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4141
8/2/2019 M2-SDLC
42/93
Classical Waterfall ModelClassical Waterfall Model
Integration and System TestingIntegration and System Testing
Different modules are integrated in a plannedDifferent modules are integrated in a planned
manner:manner:
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4242
..
Normally integration is carried out throughNormally integration is carried out through
number of steps.(incremental way)number of steps.(incremental way)
During each integration step,During each integration step, partially integrated system is tested.partially integrated system is tested.
8/2/2019 M2-SDLC
43/93
Classical Waterfall ModelClassical Waterfall Model
System TestingSystem Testing
After all the modules have been successfullyAfter all the modules have been successfully
integrated and tested:integrated and tested: system test ng s carr e out.system test ng s carr e out.
Goal of system testing:Goal of system testing:
ensure that the developed system functionsensure that the developed system functionsaccording to its requirements as specified inaccording to its requirements as specified in
the SRS document.the SRS document.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4343
8/2/2019 M2-SDLC
44/93
Classical Waterfall ModelClassical Waterfall ModelTestingTesting(CONT)(CONT)
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4444
8/2/2019 M2-SDLC
45/93
Classical Waterfall ModelClassical Waterfall Model
Artifacts (Coding & Testing):Artifacts (Coding & Testing):
--Unit Tested CodeUnit Tested Code
--Test Script for Integration TestingTest Script for Integration Testing--Test logs and reports after TestingTest logs and reports after Testing
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4545
8/2/2019 M2-SDLC
46/93
Classical Waterfall ModelClassical Waterfall Model
DeploymentDeployment
--This phase mainly deals withThis phase mainly deals with packagingpackaging,,installationinstallation,, deliverydelivery andand supportsupport ofof
develo ed softwaredevelo ed software..
--The complete delivery package need to beThe complete delivery package need to beassembled and tested.assembled and tested.
--Ensure that plan for support is ready.Ensure that plan for support is ready.
--Early communication to the customers aboutEarly communication to the customers about
the changes the software will bring about.the changes the software will bring about.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4646
8/2/2019 M2-SDLC
47/93
Classical Waterfall ModelClassical Waterfall Model
MaintenanceMaintenance
Maintenance of any software product:Maintenance of any software product:
requires much more effort than therequires much more effort than theeffort to develop the product itself.effort to develop the product itself.
development effort to maintenance effortdevelopment effort to maintenance effort
is typically 40:60.is typically 40:60.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4747
8/2/2019 M2-SDLC
48/93
Pros and ConsPros and Cons Waterfall ModelWaterfall Model
The Waterfall Model is very simple as the steps The Waterfall Model is very simple as the stepsare quite logical.are quite logical.
But the user may not be able to specify all the But the user may not be able to specify all the
requirements in the beginning itself.requirements in the beginning itself. Moreover, the final product is visible only at a Moreover, the final product is visible only at a
very later stage.very later stage.
It does not capture potential risks. It does not capture potential risks. Major errors discovered at later stage leads to Major errors discovered at later stage leads to
disastrous results.disastrous results.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4848
8/2/2019 M2-SDLC
49/93
Iterative Waterfall ModelIterative Waterfall Model
Classical waterfall model is idealistic:Classical waterfall model is idealistic:
assumes that no defect is introduced during anyassumes that no defect is introduced during any
development activity.development activity. n pract ce:n pract ce:
defects do get introduced in almost everydefects do get introduced in almost every
phase of the life cycle.phase of the life cycle.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 4949
8/2/2019 M2-SDLC
50/93
8/2/2019 M2-SDLC
51/93
Iterative Waterfall ModelIterative Waterfall Model (CONT.)(CONT.)
Once a defect is detected:Once a defect is detected:
we need to go back to the phase where it waswe need to go back to the phase where it was
introducedintroduced redo some of the work done during that andredo some of the work done during that and
all subsequent phases.all subsequent phases.
Therefore we need feedback paths in theTherefore we need feedback paths in theclassical waterfall model.classical waterfall model.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5151
8/2/2019 M2-SDLC
52/93
Iterative Waterfall ModelIterative Waterfall Model (CONT.)(CONT.)
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5252
8/2/2019 M2-SDLC
53/93
Iterative Waterfall ModelIterative Waterfall Model (CONT.)(CONT.)
Errors should be detectedErrors should be detected in the same phasein the same phasein which they are introduced.in which they are introduced.
For example:For example:
if a design problem is detected in the design if a design problem is detected in the designphase itself,phase itself,
the problem can be taken care of muchthe problem can be taken care of much
more easilymore easily than say if it is identified at the end ofthan say if it is identified at the end of
the integration and system testing phase.the integration and system testing phase.2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5353
8/2/2019 M2-SDLC
54/93
Iterative Waterfall ModelIterative Waterfall Model (CONT.)(CONT.)
Phase containment of errorsPhase containment of errors
Reason: rework must be carried out not only toReason: rework must be carried out not only to
the design but also to code and test phases.the design but also to code and test phases.
The principle of detecting errors as close to itsThe principle of detecting errors as close to itspoint of introduction as possible:point of introduction as possible:
is known as phase containment of errors.is known as phase containment of errors.
Iterative waterfall model is by far the mostIterative waterfall model is by far the most
widely used model.widely used model.
Almost every other model is derived from theAlmost every other model is derived from the
waterfall model.waterfall model.2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5454
8/2/2019 M2-SDLC
55/93
Prototyping ModelPrototyping Model
Before starting actual development,Before starting actual development,
a working prototype of the system shoulda working prototype of the system should
first be built.first be built.
A rotot e is a to im lementation of aA rotot e is a to im lementation of a
system:system:
limited functional capabilitieslimited functional capabilities,,
low reliabilitylow reliability,,
inefficient performanceinefficient performance..
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5555
8/2/2019 M2-SDLC
56/93
Prototyping ModelPrototyping Model (CONT.)(CONT.)
Reasons for developing a prototypeReasons for developing a prototype
Illustrate to the customer:Illustrate to the customer:
input data formatsinput data formats,, messagesmessages,, reportsreports, or, or
interactive dialogsinteractive dialogs.. xam ne ec n ca ssues assoc a e w pro ucxam ne ec n ca ssues assoc a e w pro uc
development:development:
Often major design decisions depend on issues like:Often major design decisions depend on issues like:
response time of a hardware controller,response time of a hardware controller, efficiency of a sorting algorithm, etc.efficiency of a sorting algorithm, etc.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5656
8/2/2019 M2-SDLC
57/93
Prototyping ModelPrototyping Model (CONT.)(CONT.)
The third reason for developing a prototype is:The third reason for developing a prototype is:
it is impossible toit is impossible to ``get it right''``get it right'' the first time,the first time, we must plan to throw away the first productwe must plan to throw away the first product
if we want to develop a good product.if we want to develop a good product.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5757
8/2/2019 M2-SDLC
58/93
Prototyping ModelPrototyping Model (CONT.)(CONT.)
Start with approximate requirements.Start with approximate requirements.
Carry out a quick design.Carry out a quick design.
Prototype model is built using several shortPrototype model is built using several short--cuts:cuts:
ShortShort--cuts might involve using inefficient,cuts might involve using inefficient,
inaccurate, or dummy functions.inaccurate, or dummy functions.
A function may use a table lookA function may use a table look--up ratherup rather
than performing the actual computations.than performing the actual computations.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5858
8/2/2019 M2-SDLC
59/93
Prototyping ModelPrototyping Model (CONT.)(CONT.)
The developed prototype is submitted toThe developed prototype is submitted to
the customer for his evaluation:the customer for his evaluation:
Based on the user feedback, requirementsBased on the user feedback, requirements
This cycle continues until the user approvesThis cycle continues until the user approves
the prototype.the prototype.
The actual system is developed using theThe actual system is developed using the
classical waterfall approachclassical waterfall approach
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 5959
8/2/2019 M2-SDLC
60/93
Prototyping ModelPrototyping Model (CONT.)(CONT.)
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6060
8/2/2019 M2-SDLC
61/93
Prototyping ModelPrototyping Model (CONT.)(CONT.)
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6161
8/2/2019 M2-SDLC
62/93
Prototyping ModelPrototyping Model (CONT.)(CONT.)Requirements analysis and specification phaseRequirements analysis and specification phase
becomes redundant:becomes redundant:
final working prototype(with all user feedbacksfinal working prototype(with all user feedbacks
incorporated)serves as an animated requirementsincorporated)serves as an animated requirementsspec cat on.spec cat on.
Design and code for the prototype is usuallyDesign and code for the prototype is usually
thrown away:thrown away:
However, the experience gathered from developingHowever, the experience gathered from developingthe prototype helps a great deal while developingthe prototype helps a great deal while developing
the actual product.the actual product.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6262
8/2/2019 M2-SDLC
63/93
Prototyping ModelPrototyping Model (CONT.)(CONT.)
Even though construction of a working prototypeEven though construction of a working prototypemodel involves additional costmodel involves additional cost ------ overalloverall
development cost might be lower for:development cost might be lower for:
systems with unclear user requirements,systems with unclear user requirements,
..
Many user requirements get properly definedMany user requirements get properly defined
and technical issues get resolved:and technical issues get resolved:
these would have appeared later as changethese would have appeared later as changerequests and resulted in incurring massiverequests and resulted in incurring massive
redesign costs.redesign costs.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6363
8/2/2019 M2-SDLC
64/93
Pros and ConsPros and Cons -- Prototype ModelPrototype Model
The prototyping model has less technical risks The prototyping model has less technical risks
There is scope for accommodating new There is scope for accommodating new
requirementsrequirements
A part o t e pro uct s v s e at an ear y stage A part o t e pro uct s v s e at an ear y stage
itselfitself
This model may lead to indiscipline in software This model may lead to indiscipline in software
developmentdevelopment
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6464
8/2/2019 M2-SDLC
65/93
Evolutionary ModelEvolutionary Model
Evolutionary model (aka successive versionsEvolutionary model (aka successive versionsor incremental model):or incremental model):
The system is broken down into severalThe system is broken down into several
modules which can be incrementallymodules which can be incrementallymp emente an e vere .mp emente an e vere .
First develop theFirst develop the core modulescore modules of the system.of the system.
The initial product skeleton is refined intoThe initial product skeleton is refined into
increasing levels of capability byincreasing levels of capability by adding newadding new
functionalities in successive versions.functionalities in successive versions.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6565
8/2/2019 M2-SDLC
66/93
Evolutionary ModelEvolutionary Model(CONT.)(CONT.)
Successive version of the product:Successive version of the product:
functioning systems capable of performingfunctioning systems capable of performing
some useful work.some useful work.
A new re ease may nc u e new unct ona ty:A new re ease may nc u e new unct ona ty:
also existing functionality in the currentalso existing functionality in the current
release might have been enhanced.release might have been enhanced.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6666
8/2/2019 M2-SDLC
67/93
Evolutionary ModelEvolutionary Model(CONT.)(CONT.)
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6767
8/2/2019 M2-SDLC
68/93
Evolutionary ModelEvolutionary Model(CONT.)(CONT.)
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6868
8/2/2019 M2-SDLC
69/93
Evolutionary ModelEvolutionary Model(CONT.)(CONT.)
Advantages of Evolutionary ModelAdvantages of Evolutionary Model
Users get a chance to experiment with a partiallyUsers get a chance to experiment with a partially
developed system:developed system:
,,
Helps finding exact user requirements:Helps finding exact user requirements:
much before fully working system is developed.much before fully working system is developed.
Core modules get tested thoroughly:Core modules get tested thoroughly: reduces chances of errors in final product.reduces chances of errors in final product.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 6969
8/2/2019 M2-SDLC
70/93
Evolutionary ModelEvolutionary Model(CONT.)(CONT.)
Disadvantages of Evolutionary ModelDisadvantages of Evolutionary Model
Often, difficult to subdivide problemsOften, difficult to subdivide problems
into functional units:into functional units:
w n n r m n y m m nw n n r m n y m m n
and delivered.and delivered.
evolutionary model is useful for very largeevolutionary model is useful for very large
problems,problems, where it is easier to find modules for incrementalwhere it is easier to find modules for incremental
implementation.implementation.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7070
8/2/2019 M2-SDLC
71/93
Evolutionary Model withEvolutionary Model with
IterationIterationMany organizations use a combinationMany organizations use a combination
of iterative and incremental development:of iterative and incremental development:
a new release may include new functionalitya new release may include new functionality
existing functionality from the current releaseexisting functionality from the current release
may also have been modified.may also have been modified.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7171
8/2/2019 M2-SDLC
72/93
Evolutionary Model withEvolutionary Model with
IterationIteration(CONT.)(CONT.)
Several advantages:Several advantages:
Training can start on an earlier releaseTraining can start on an earlier release
customer feedback taken into accountcustomer feedback taken into account Markets can be created:Markets can be created:
for functionality that has never been offered.for functionality that has never been offered.
Frequent releases allow developers to fixFrequent releases allow developers to fixunanticipated problems quickly.unanticipated problems quickly.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7272
8/2/2019 M2-SDLC
73/93
Spiral ModelSpiral Model
Proposed by Boehm in 1988.Proposed by Boehm in 1988. Each loop of the spiral represents aEach loop of the spiral represents a phase of thephase of the
software process:software process:
the innermost loop might be concerned with systemthe innermost loop might be concerned with system
feasibilitfeasibilit
the next loop with system requirements definition,the next loop with system requirements definition,
the next one with system design, and so on.the next one with system design, and so on.
There are no fixed phases in this model, the phasesThere are no fixed phases in this model, the phasesshown in the figure are just examples.shown in the figure are just examples.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7373
8/2/2019 M2-SDLC
74/93
Spiral ModelSpiral Model(CONT.)(CONT.)
Spiral model is a meta Spiral model is a meta--model, that is model formodel, that is model forother models.other models.
Spiral Model gives room for risk analysis also Spiral Model gives room for risk analysis also
Each phase, let it be Analysis or Design or Each phase, let it be Analysis or Design orCoding should iterate through four activitiesCoding should iterate through four activities
PlanningPlanning
Evaluate AlternativesEvaluate Alternatives
Analyze RisksAnalyze Risks EngineeringEngineering
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7474
8/2/2019 M2-SDLC
75/93
Spiral ModelSpiral Model(CONT.)(CONT.)
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7575
8/2/2019 M2-SDLC
76/93
Spiral ModelSpiral Model(CONT.)(CONT.)
Objective Setting (First Quadrant)Objective Setting (First Quadrant)
Identify objectivesIdentify objectives of the phase,of the phase,
Examine the risksExamine the risks associated with theseassociated with theseobjectives.objectives.
Risk:Risk:
any adverse circumstance that might hamperany adverse circumstance that might hampersuccessful completion of a software project.successful completion of a software project.
FindFind alternate solutionalternate solutions possible.s possible.2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7676
8/2/2019 M2-SDLC
77/93
Spiral ModelSpiral Model(CONT.)(CONT.)
Risk Assessment and Reduction (Second Quadrant)Risk Assessment and Reduction (Second Quadrant)
For each identifiedFor each identified project riskproject risk,,
aa detailed analysisdetailed analysis is carried out.is carried out. Steps are taken toSteps are taken to reduce the riskreduce the risk..
For example, if there is a risk that theFor example, if there is a risk that the
requirements are inappropriate or not sufficientrequirements are inappropriate or not sufficient
enough:enough:
a prototype system may be developeda prototype system may be developed
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7777
8/2/2019 M2-SDLC
78/93
Spiral ModelSpiral Model(CONT.)(CONT.)
Development and Validation (Third quadrant):Development and Validation (Third quadrant):
develop and validatedevelop and validate the next level of thethe next level of the
product.product.
Review and Planning (Fourth quadrant):Review and Planning (Fourth quadrant):review the resultsreview the results achieved so far with theachieved so far with the
customercustomer andand plan the next iterationplan the next iteration around thearound the
spiral.spiral.
With each iteration around the spiral:With each iteration around the spiral:
progressively more complete version of theprogressively more complete version of the
software gets builtsoftware gets built..2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7878
8/2/2019 M2-SDLC
79/93
Spiral ModelSpiral Model(CONT.)(CONT.)
For example, in coding, we can plan who will For example, in coding, we can plan who will
code what and time required for coding.code what and time required for coding.
A different algorithm can be considered as an A different algorithm can be considered as an
alternative.alternative. Risks can be Risks can be nonnon--availability of the latestavailability of the latest
compilercompiler ororinexperienced developmentinexperienced development
teamteam..
The real execution of coding is done only after The real execution of coding is done only after
considering all these.considering all these.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 7979
8/2/2019 M2-SDLC
80/93
Spiral ModelSpiral Model(CONT.)(CONT.)
Spiral Model as a meta modelSpiral Model as a meta model Subsumes all discussed models:Subsumes all discussed models:
a single loop spiral represents waterfall model.a single loop spiral represents waterfall model.
uses an evolutionary approachuses an evolutionary approach ----
iterations throu h the s iral are evolutionar levels.iterations throu h the s iral are evolutionar levels.
enables understanding and reacting to risks during eachenables understanding and reacting to risks during each
iteration along the spiral.iteration along the spiral.
uses:uses:
prototyping as a risk reduction mechanismprototyping as a risk reduction mechanism retains the stepretains the step--wise approach of the waterfall modelwise approach of the waterfall model
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8080
8/2/2019 M2-SDLC
81/93
Pros and ConsPros and Cons Spiral ModelSpiral Model
The Spiral Model gives room for The Spiral Model gives room forrisk analysisrisk analysis..
It is more realistic as it is iterative. It is more realistic as it is iterative. It requires It requires good expertise in risk analysisgood expertise in risk analysis andand
project management.project management.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8181
8/2/2019 M2-SDLC
82/93
Comparison of Different LifeComparison of Different Life
Cycle ModelsCycle Models Iterative waterfall modelIterative waterfall modelmost widely used model.most widely used model.
But, suitable only for wellBut, suitable only for well--understoodunderstoodproblems.problems.
Prototype model is suitable for projects notPrototype model is suitable for projects not
well understood:well understood:
user requirementsuser requirements
technical aspectstechnical aspects2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8282
8/2/2019 M2-SDLC
83/93
Comparison of Different LifeComparison of Different Life
Cycle Models..Cycle Models.. Evolutionary model is suitable for largeproblems:
can be decomposed into a set of modules
that can be incrementall im lemented incremental delivery of the system is
acceptable to the customer.
The spiral model:
suitable for development of technicallychallenging software products that are
subject to several kinds of risks..2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8383
8/2/2019 M2-SDLC
84/93
RAD MODELRAD MODEL
A NewA New version of waterfall modelversion of waterfall model
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8484
8/2/2019 M2-SDLC
85/93
RAD MODELRAD MODEL(CONT..)(CONT..)
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8585
8/2/2019 M2-SDLC
86/93
RAD MODELRAD MODEL(CONT)(CONT)
RRapidapid AApplicationpplication DDevelopment(RAD) is an incremental s/wevelopment(RAD) is an incremental s/w
process model that emphasizes a short development cycle.process model that emphasizes a short development cycle.
It is a high speed adoption of the waterfall model ,in which rapidIt is a high speed adoption of the waterfall model ,in which rapid
development is achieved by using adevelopment is achieved by using a component basedcomponent based
approac .approac .
COMMUNICATIONCOMMUNICATION: Works to: Works to understand the businessunderstand the business
problemproblem and the information characteristics the s/w mustand the information characteristics the s/w must
accommodate.accommodate.
PLANNINGPLANNING : It is essential because multiple s/w team work in: It is essential because multiple s/w team work inparallel on different system functions . It is theparallel on different system functions . It is the estimation ofestimation of
scheduling trackingscheduling tracking..
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8686
8/2/2019 M2-SDLC
87/93
RAD MODELRAD MODEL(CONT)(CONT)
MODELING :MODELING : There are three types ofThere are three types of
modelingmodeling
--business modelingbusiness modeling
-- ata mo e ngata mo e ng
--process modelingprocess modeling
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8787
8/2/2019 M2-SDLC
88/93
RAD MODELRAD MODEL(CONT)(CONT)
Business modelingBusiness modeling : In this phase the following: In this phase the following
question are to be askedquestion are to be asked
1.What information is required1.What information is required
2.W at n ormat on s to e generate2.W at n ormat on s to e generate
3.Who generate the information3.Who generate the information
4.Where does the information go4.Where does the information go
5.Who process the information5.Who process the information
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8888
8/2/2019 M2-SDLC
89/93
RAD MODELRAD MODEL(CONT)(CONT)
Data modelingData modeling : The above phase is refined into: The above phase is refined intoa set ofa set ofdata objectsdata objects that are required tothat are required to
support the business.support the business.
The characteristics of each object areThe characteristics of each object areidentified and their relationship etweenidentified and their relationship etween
these objects are identifiedthese objects are identified..
Process modelingProcess modeling : In this phase: In this phase processingprocessing
description are createddescription are created for adding ,modifyingfor adding ,modifying, deleting or retrieving data object ., deleting or retrieving data object .
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 8989
8/2/2019 M2-SDLC
90/93
RAD MODELRAD MODEL(CONT)(CONT) CONSTRUCTION:CONSTRUCTION: It emphasizesIt emphasizes the use ofthe use of
pre existing s/w componentspre existing s/w components which havewhich have
already been tested and the application ofalready been tested and the application of
automatic code generation . it is of 3 stages:automatic code generation . it is of 3 stages:
omponen reuse ava a eomponen reuse ava a e
(ii)Automatic code generation ((ii)Automatic code generation ( EclipesEclipes, MS Visual, MS Visual
Studio)Studio)
(iii)Testing(iii)TestingSo itSo it minimizes the testing and developmentminimizes the testing and development
time.time.2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 9090
8/2/2019 M2-SDLC
91/93
RAD MODELRAD MODEL(CONT)(CONT)
DEPLOYMENT :DEPLOYMENT : It is of 3 phasesIt is of 3 phases
((ii) Integration of the component developed by) Integration of the component developed byerent RAD team.erent RAD team.
(ii)Delivery of the s/w to the client and support.(ii)Delivery of the s/w to the client and support.
(iii)To collect the feedback from the client.(iii)To collect the feedback from the client.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 9191
8/2/2019 M2-SDLC
92/93
Disadvantage of RAD ModelDisadvantage of RAD Model
For large project ,RAD requires sufficientFor large project ,RAD requires sufficient
resources(resources(manpower and technicalmanpower and technical) to create) to create
the right no of RAD teams.the right no of RAD teams.
very high.very high.
If the system can not be properly modularizedIf the system can not be properly modularized
building the components necessary for RADbuilding the components necessary for RADwill be problematic.will be problematic.
2/21/20122/21/2012 MODULEMODULE--II SDLCII SDLC 9292
8/2/2019 M2-SDLC
93/93
The RAD model:The RAD model:
--It is used in component based s/wIt is used in component based s/w
engineering and where we need to developengineering and where we need to develop
..
2/21/20122/21/2012 MODULEMODULE II SDLCII SDLC 9393