You are on page 1of 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