0% found this document useful (0 votes)
52 views

SDLC Models: Linear Approach

The document discusses various software development lifecycle (SDLC) models including linear, evolutionary, iterative, spiral, agile, and prototyping approaches. It provides an overview of each model's key phases and strengths/weaknesses. For example, the linear or waterfall model breaks work into distinct stages but is difficult to change later, while evolutionary models like iterative and spiral allow for incremental changes through prototyping and repeated iterations.

Uploaded by

vsrajeshvs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views

SDLC Models: Linear Approach

The document discusses various software development lifecycle (SDLC) models including linear, evolutionary, iterative, spiral, agile, and prototyping approaches. It provides an overview of each model's key phases and strengths/weaknesses. For example, the linear or waterfall model breaks work into distinct stages but is difficult to change later, while evolutionary models like iterative and spiral allow for incremental changes through prototyping and repeated iterations.

Uploaded by

vsrajeshvs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

1

SDLC Models

ProcessModelsprovidesaspecificroadmapforsoftwareengineeringwork.Thepurposeoftheprocess
modelistotrytoreducethechaospresentindevelopingnewsoftwareproducts.

SystemDevelopmentLifecycle(SDLC)isaframeworkdescribingaprocessforforsoftware
development.
1. LinearLifecycle
2. Evolutionarylifecycle

Linearapproachdescribesasequenceoftasksthatarecompletedinorder,onlymovingtothenextstep
oncethepreviousstepiscomplete.

Evolutionaryapproach
evolves
thesolutionthrough
progressiveversions
,eachmorecompletethanthe
last&oftenusesaprototypingapproachtodevelopment.

SystemDevelopmentLifecycleVsSystemLifecycle
InSDLC,oncetheimplementationoccurs,theprojectisconsideredcomplete.

Linear Approach
LinearapproachfollowstheSDLCstagesinadefinedorder.Eachstepmustbecompleted,understood
andagreedbeforethenextstepcanbestarted.
Waterfall
VModel
Incremental
Strengths
Weakness
Breaksdowntheproblemintodistinctstageseach Dependsgreatlyoneachstagebeingdone
withaclearpurpose.
properly.
Everythingisagreedinadvanceofbeingused,
Itishardorimpossibletobackandchangeitlater.
withnoneedtorevisitlater.
Providestructuretocomplexsystems,making
Forcomplexproblems,thetimerequiredtobe
distributedoroutsourceddevelopmenteasierto
throughateachstageleadstolongtimescales.
manage.
Haveaverydetailedspecification&design.
Difficulttoaccommodatechanges.
Lockingdowneachstageinadvancefornext
Customerorbusinessvalueisnotavailableuntil
makesiteasiertocontrolcost&scopecreep.
theend.
Simple&intuitiveforsmallerproblems.
Iftheprojectisstoppedearly,thereislittleof
businessvaluetoshowforthecost.

Waterfall or Classic Lifecycle

KeystrengthsofWaterfallmodelare
Simpletounderstandandeasytouse.
Goodfordevelopingsystemswheretherequirementsandlikelysolutionarewellunderstood
andunlikelytochange.
Rigour&controlaroundeachstagemakeiteasierforprojectmanagement.

Themajorweaknessofthismodelare
Realprojectsrarelyfollowsequentialflow.
Canbecostlytomanagechange,especiallyifchangesareidentifiedlaterinthecycle.
Workingsoftwarenotdelivereduntilthefinalstage.
Poorestimationcanseverelyimpactthecost&schedule.
Customercollaborationislimitedtorequirements&acceptancetesting.Forlongprojects,this
canleadtoalackofcustomerbuyin,particularlywherestakeholderschange.
V Model
Introducedasanextensiontowaterfallmodeltodealwiththeproblemwherebytimeallocatedfor
testingcouldoftengetsqueezedduringawaterfalliftimeandmoneystartedtorunout.

Thelefthandsideshows
projectdefinition
&righthandsideshows
verification&validation
.The
dottedlinesconnectingleft&righthandsideshowstherelationshipsbetweeneachstageofdefinition
withitsassociatedstageoftesting.

KeystrengthsareVmodelare
Additionalfocusontestingleadstoahighqualityproduct.
Idealforsystemswithcomplexorhighqualityattributes.(safetycritical,verylarge,integration
heavyetc.)

MajorweaknessofVmodelare
Heavytesting&integrationcostthatcanbeunnecessarilyexpensiveforsimplersystems.

Earlystagestakelongertocompleteastherearetestartefactstocomplete.

AnextendedVmodelwaslaterintroducedtoincludethefeasibility&benefitsrealizationstage.

Incremental
Theincrementalisstillalinearapproachinsomuchasthefirst3stagesoftheSDLCareconductedin
sequence,eachbeingcompletedbeforethenextisstarted.

Withthisprocess,somepartsofthesystemgetdeliveredbeforeotherparts.Thisenableshighpriority
requirementstobedeliveredfirst.
Incrementscanalsobedeliveredinparallel,asthecoredesignis
complete
.

Keystrengthsofincrementalmodelare
Deliversworkingsoftwaretousersearly.
Easiertomanagerisks
becauseriskypiecescanbeidentifiedandhandledinearlyincrements.
Easiertotest&debugsmallerincrements.
Incrementscanbebuiltinparallel,reducingoveralltimetomarket.

Majorweaknessofthismodelare
Hardtomanageparalleldeliveries.
Stilldifficulttomanagechanges,asrequirementsareagreedbeforeincrementsaredecided.
Overallcostcanbehigherduetoadditionaloverheadsofparallelimplementationand
additionalregressiontesting.
Thecorearchitectureneedstobestable.

Evolutionary Models
Twofundamentallifecyclescomesunderevolutionarymodelsare
Iterative
Spiral
Iterative
Iterativedevelopmentisalifecyclewherebytheoverallprojectiscomposedofseveralsmall
timeboxeddevelopments,callediterations,whichtakesplaceinsequence.

Eachiterationisaselfcontainedminiprojectcomposedofactivitiessuchasanalysis,design,
development&test.Requirementsareelicitedduringeachiterationandthendevelopedtoproducea
workingsystemthatdeliverssomevaluetothecustomer.

Attheendofeachiteration,alldevelopmentacrosstheteamsisintegratedandtestedintoaniteration
release,thatmaynotbereleasedexternally.

Typically,therewillbeminimumof3iterations

1. Investigate
Mainlyusedtoinvestigatethingssuchasrisksaroundthetechnologyorrisks
arounduserfunctionality.Oncethisiterationiscompleted,therewillbemoreunderstanding
aboutwhatisrequiredtodelivertheexternalorfirstrelease.

2. Refine
Duringthisiterationtherequirementsarefullydetailedanddesignedandthesystemis
developedtomeetthebusinessgoal.Therearesometimesmultiplerefinementiterations.
3. Consolidate
Thefinaliterationensuresthatthecodeanddesigndevelopedisstabilisedand
fullyintegratedwithanyotheriterationssothattheoverallbusinessgoalisachievedinthe
externalrelease.

KeystrengthsofIterativemodelare
Requirementsevolvethrougheachiteration.
Changeiseasiertomanage.
Costcanbecontrollable.
Encouragecollaborationwithcustomers.

Themainweaknessofthisapproachare
Projectmanagementisdifficultduetomultipleiterations&iterationteams.
Withoutcarefulmanagement,evolvingrequirementscanresultinscopecreep.
Ifpoorlymanaged,canstillappearlikeasingle,finalrelease.
Overallcostscanbehigherduetotheadditionalintegrationandtests.
Spiral
Thespiralmodel,likeiterativeapproach,doesnotneedrequirementstobedefinedinadvance.This
approachstartswithaconceptandrepeatedlyrevisitsthefourmainphasesofdevelopmentuntila
suitableworkingproductiscomplete.
(Iterative+Prototype)

Determineobjectives
Inthefirststage,thedevteamandbusinessownersidentifythe
objectivesforthedevelopmentandagreeprioritizationofrequirements.Throughoutthe
project,thisunderstandingisconstantlyreviewedandrevisited.

Identify&resolverisks
Atthisstage,thedevelopersexploretechnicalpossibilitiestomeet
thebusinessgoal&assessanyrisksthatthetechnologymaybring.Anearlyprototypeisakey
enablerhereandwillbeproduced.
Development&test
Reviewingtheprototypesenablesthedevteamtoassesshowwellthe
requirementsandriskswereaddressedandlookatimprovements.Designsarethendeveloped
foranotherprototype,whichisagreed,developed&tested.Afterafewiterations,thiswill
producetheoperationalprototype.
Planthenextiteration
Duringthisstage,theworkingsystemisreleasedintothelive
operationalenv.Thismaybejustanincrementalreleaseandthereforefurtherreleaseswillbe
plannedanddevelopedthroughsubsequentiterationsandreleasesuntilthecompletesystemis
developedandthebusinessobjectivesarefullymet.

Keystrengthsare
1. Risksareaddressedearly.
2. Requirementsevolve,soadditionalfunctionalitiescanbeaddedlater.
3. Collaborationwithuseristhroughout,socustomerbuyinisgood.
4. Aworkingsystemisdevelopedearlyinthedevlifecycle.

Mainweaknessofspiralmodelare
Highchanceofscopecreep.
Overallcostscanbehighduetothemanyimplementationsofworkingsoftwareintothe
operationalenv.
Asthefocusisonaworkingsystem,documentationofthesystemcanbecomedeprioritized,
makingthesystemhardertomaintainpostprojectdelivery.

Agile Methodology
Keyconceptsofagilemanifestoare
1. Individuals&interactionsoverprocess&tools.
2. Workingsoftwareratherthaninproducingcomprehensivedocs.
3. Customercollaborationratherthancontractnegotiation.
4. Respondingtochangesratherthancreatingaplanandthenfollowingit.

Theoverallobjectiveofagiledevistosatisfythecustomerbyearlyandcontinuousdeliveryof
valuablesoftware.

Agileisidealinsmall,highlycollaborativeteams.However,theyaremuchhardertoworkwellwhere
theenvischallenged.

Largerteams,especiallywheretheyaregeographicallydistributed.
Complexsystems.
Audit,regulatory&safetycriticalrequirementsthatexpecthigherqualityassurance.
Projectswithstrictcontractualcommitments.
Complexuserenvorwhereenduserisnotavailable.
Inthesesituations,Agileapproachescanstillbringconsiderablebenefits,buttheadditionalriskthat
theyalsobringmustbemitigatedinsomeotherway.

Therearemanymethodsthatimplementthetenetsoftheagilemanifesto.
1. Extremeprogramming
2. Scrum
3. Adaptivesoftwaredevelopment(ASD)

Prototype
Itisaneffectiveparadigmforsoftwareengineering.Thismodelconsistsof
1. Listentocustomer.
2. Build/Revisemockup.
3. Customertestdrivesmockup.
Theprocedureisrepeateduntilalltherequirementsofthesystemareidentifiedandacomplexsystem
canbedesignedforthesystem.
Systemprototyping
(Evolutionary)producesafullfeaturedworkingmodeloftheinfosystem,
whichisreadyfortheimplementationphaseoftheSDLC.
Designprototyping
(Throwaway)systemanalystsalsouseprototypingtoverifyuser
requirementsafterwhichtheprototypeisdiscardedandimplementationcontinues.

Prototypingoffermanybenefitslike
1.
Users&systemdeveloperscanavoidmisunderstandings.
2.
Systemdeveloperscancreateaccuratespecificationsforthefinishedsystembasedonthe
prototype.
3.
Managerscanevaluateaworkingmodelmoreeffectivelythanapaperspecification.
4.
Systemanalystscanuseaprototypetodeveloptestingandtrainingprocedures.
5.
Prototypingreducestheriskandpotentialfinancialexposurethatoccurwhenafinishedsystem
failstosupportbusinessneeds.

Potentialproblemswithprototypingare
Therapidpaceofdevelopmentcancreatequalityproblems,whicharenotdiscovereduntilthe
finishedsystemisoperational.
Othersystemrequirementssuchasreliability,maintainabilityetccannotbetestedadequately
usingaprototype.
Inverycomplexsystems,theprototypebecomesunwieldyanddifficulttomanage.
RAD
RADreferstoadevlifecycledesignedtogivemuchfasterdevelopmentandhigherqualitysystems
thanthetraditionallifecycle.ItisdesignedtotakeadvantageofpowerfuldevsoftwarelikeCASE
tools,prototypingtools&codegenerators.ThekeyobjectivesofRADare
Highspeed
Highquality
Lowcost

Component Assembly
Thisistheprocesstobeusedwhenreuseisadevelopmentobjective.

Concurrent Development

How to Choose an Approach

Complexityoftheproblem.
Teamexperience.
Stabilityofrequirements.
Deliveryspeedandquality
Customerinvolvement
Uniqueness
Highregulatoryrequirements.

SystemInitiation
Feasibilityanalysis

SystemAnalysis
InDepthstudyofenduserinfoneedsthatproducesfunctionalrequirementsthatare
usedasthebasisfordesign.
OrganalysisOrgenvinwhichthesystemislocated.
Analysisofpresentsystems.
Logicalanalysis

10

Functionalrequirements.

SystemDesign

Designinvolvesfollowingsteps.
1. InputdesignDeterminingvariousinputsandtheformatsthatarerequiredtobeprocessedto
producethedesiredoutputs.
2. OutputdesignHowoutputisproducedandinwhatformat.
3. FiledesignMasterfiles(database)havetobedesignedtostoretheinput&outputasrequired.
4. ProcessdesignThecompleteprocessinglogic,navigationflows,errorconditionsandnon
functionalrequirementsaretobedesigned.
5. UIdesignNavigation,humancomputerinterface,usabilityetc.

Designinvolvestwothings.
PhysicaldesignThehardwarecomponentsthatconstitutethesystem.
LogicaldesignSoftware&datadesign.

Basedonthis,detaileddesigndocumentationisprepared.Insomeprojects,lowleveldesigndocuments
arealsoprepared.Thedesigndocumentsincludeflowcharts,recordlayouts,andreportlayouts,ER
diagramsasapplicable.

SystemImplementation
Acquisitionofhardware&software.
Softwaredevelopmentormodification.
Dataconversion
Testing
Endusertraining
ConversionDirect,Pilot,Parallel,Phased

SystemMaintenance
Correctivedefectfixing
Adaptiveenhancement
Perfectiveimproveperformance
Preventiveautomatedregression

You might also like