Você está na página 1de 5

MScITStudyMaterial

July2007Edition
ComputerScienceDepartment,UniversityofCapeTown
|MITNotesHome|EditionHome|

AlternativeLifeCycleModels
Prev Chapter2.Lifecyclesanddevelopmentmethods Next

AlternativeLifeCycleModels
Usingthewaterfalllifecycletoguidesystemdevelopment

Thewaterfalllifecyclemodelcanbeusedasaframeworkforsystemdevelopment.Thatis,itdescribesthe
basicprojectstructurewhichmanypeoplehavefoundtobeusefulindevelopinglargescalesoftware
systems.However,thisdoesnotmeanithastobeusedexactlyasdescribedinthisunit.

Therearemanywaysinwhichalifecyclemodelcanbeusedinpractice.Forexample,feasibilitystudiesare
notsocommonthesedays.Oftenamoreinformalapproachistakeninevaluatingtheworthofaproject.
Also,thevariousanalysisanddesignstagescaneitherbeseparatestages,orbeincorporatedintoasingle
activityofanalysisanddesignthiswouldespeciallymakesenseiftheseactivitiesweretobeperformed
bythesamepersonorteam.

Foreachrealworldproject,thedevelopersandprojectmanagermustconsiderhowbesttousealifecycle
toguidetheprojectplan.However,whatisimportantisthattheprojectplannerconsiderseachvarious
stage.Itismuchbettertodeliberatelyleaveoutastagehavingcarefullythoughtaboutthedecision,than
tomissoutastagebyaccidentsuchoversightscanresultintheprojectfailingforthereasonsoutlinedin
thepreviouschapter.

Toreiteratethewaterfalllifecycle(oranyotherlifecyclemodel)shouldnotbeviewedasaprescriptive
orrigidmodel,butratheraframeworkwhichcanbeadaptedtobestsuitthecircumstancesofaparticular
project.

Advantagesofwaterfalllifecyclemodel

ThereareanumberofadvantagesoftheWaterfalllifecycleoverinformalcodeandfixapproaches:

Thestagesconsistofwelldefinedtaskswhichpromotethechancesofgoodscheduleandcost
estimation(ifallstagesoccurintheexpectedsequenceonceonly).

Thedeliverablesprovidetargetsormilestonestoseehowfarateamhasreachedinthedevelopment
process.

Thelifecycleisbrokenintowelldefinedstagessothestaffexpertisecanbeusedefficiently(e.g.a
datamodelleronlyneedstoworkoncertainstages,aprogrammeronlyonotherstagesandsoon).

Atanyonetimetheprojectteamknowwhatshouldbehappening,andthedeliverable(s)theyareto
produce.

Limitationsofwaterfalllifecyclemodel

However,therearealsoanumberoflimitationsofthewaterfallmodel:

Althoughtherequirementsarespecifiedearlyon,thisisadocumentorsetofdiagrams,andrealuser
understandingandfeedbackwillnotoccuruntilthesystemisimplemented,whichwillbetoolate(or
verycostly)tochange.

Theusermaynotbeabletodescribetherequirementsofthedesiredsysteminanydetailearlyon.
Themodeldoesnotstresstheneedtoanticipateforchangessomesystemstakeyearstodevelop,
butoncetheearlystageshavebeencompletedthemodelcommitstheprojecttoafixedspecification
ofthesystem.

Manyprojectsbasedonthewaterfallmodelstresstheimportanceofcertainproducts(documents)
beingdeliveredatcertaintimesitispossibleforaprojecttobecomemanagedinabureaucratic
way,withdocumentsbeingdeliveredonschedule,butthefocusdriftingawayfromausable,effective
systemfortheusers.

Ifaproblemisidentifiedatalaterstage,themodeldoesnotmakeiteasy(orcheap)toreturntoan
earlystagetorectifythemistake(sinceallintermediatestepswillneedtoberepeated,resultingin
significant,unplanned,timeandresourcecosts).

Sinceforsomeprojectsthelimitationsoutweightheadvantages,otherlifecyclemodelshavebeen
developed.Thenextsectionpresentsanoverviewofsomeofthealternativelifecycles.

Prototypinglifecycle(disposableprototypeapproach)

Aprototypesystemisasmallerversionofpart(s)ofthefinalsystemthatgivestheuserasenseofthelook
andfeelthatthefinishedsystemmayhave.Ithassomeofthecorefeaturesofthefinalsystemandwhere
featuresandfunctionsareomitteditpretendstobehavelikethefinalsystem.

Wherethesystemtobedevelopedisatrulynewsystem,theremaybenoclearrequirementsofwhatit
shoulddo.Theuserhassomeideasbutonlyinavagueway.Thedevelopersmayhaveotherideas.By
buildingaprototype,boththedevelopersandusershavesomereal,visibleworkingsystemmodelonwhich
tofocustheirideas.Theprototypecanbereviewed,changesmadebydevelopersandusers.Theprototype
isthenanalysedandformsthebasisfortherequirementsspecification,andperhapsevensomeofthe
design.Ifthereisstilluncertaintyofthenewsystemandquestionsstillremain,furtherprototypescanbe
developed(oranexistingprototypeextended).

Oncethedevelopersandusershaveaclearideaofthenewsystemrequirements,theprojectcanthen
moveintoamoretraditionaldevelopmentcycleandtheprototypesarethrownaway.Thisisimportant,
sinceprototypesaregeneratedquickly,withmanygapsinthefunctionality,andtheyarenotdesignedtobe
robustorcomplete,sincetheyarejusttobepartlyworkingmodelstoaiddeveloperanduser
understanding.

Toprototypequicklyandeffectively,prototypesmustbequickandeasytobuild.Fourthgeneration
languages(4GLs),graphicaluserinterface(GUI)tools,visualprogramminglanguages(likeVisualBasicand
Delphi)andofftheshelfcomponentsarecommonlyusedtogluetogetheraprototypeinaroughandready
way.Forthiskindofdisposableprototypeitdoesntmatteriftherearelimitations,ordifferentpartsofthe
programdontcommunicatewitheachother,oritonlyworkswithalimitedsetoftestdataaslongasthe
prototypehelpstheusersgainanideaofhowthefinalsystemmightbe,andthisisusedtoderivea
detailedideaofthenewsystemrequirements,theprototypehasdoneitsjob.

Adiagramofthedisposableprototypinglifecyclestagesispresentedasfollows:
Ascanbeseen,aftersomeinitialanalysisasetofobjectivesisdevelopedfortheprototype.These
objectivesmaydifferbetweenprojectsperhapsdetailedrequirementsneedtobeelicited,perhaps
alternativeuserinteractionsaretobeevaluatedandsoon.Eachversionoftheprototypeshouldbe
specified,sothatthesoftwarecanbecorrectlydesignedandimplementedaprototypethatdoesnotfully
testtheobjectivesisawasteofresources,andmightevenbemisleading.Oneceaprototypehasbeen
completed,itshouldbeevaluatedagainstitsspecification(i.e.thedetailedmodeloftheobjectives)and
eitherchangesbemadeandanewprototypeproduced(inaprototypedevelopmentcycle),orifthe
specifiedobjectivesaremet,theprojectcanmoveontotraditionalwaterfalllifecyclestages,informedby
whathasbeenlearntduringtheprototypingactivities.

Advantagesofprototypinginclude:

Usersgetanearlyideaofthefinalsystemfeatures.
Theprototypeprovidesanopportunitytoidentifyproblemsearlyon,andtochangetherequirements
appropriately,beforecostlylaterstageshavebeenperformed.

Theprototypeisamodelthatallusersshouldbeabletounderstandandprovidefeedbackon,thus
theprototypecanbeanimportantwaytoimprovecommunicationbetweenusersanddevelopers.

Itmaybepossibletouseaspectsoftheprototypespecificationanddesigninthefinalsystem
specificationanddesign,thussomeoftheprototypedevelopmentresourcescanberecouped.

However,amajorproblemwiththisdisposableuseofprototypesisthatunlessthedeveloperisvery
strongwilledtheprototypeturnsintotherealsystem.Atthispoint,itisprobablybesttodeclarethesystem
afailureandgetanewjob!Theclientsseetheprototype,thinkthatthefinalsystemisclosetocompletion
andsodemandthattheprototypejustbecleanedupandreleasedtothem.However,prototypesare
deliberatelyputtogetherquicklyandroughly.Whattheuserperceivesasaquickandeasytaskmaytake
severalweeks,monthsorevenyearsofdesign,codingandtesting.Also,theprototypetechnologymaynot
evenbeabletohandletheloadoftherealsystem.Thetoolsusedtoproducetheprototypearemeantto
begoodatproducingprototypesandarefarfromoptimalinhandlinghugevolumesofdataandanyspeed.

Note

Amodelwhereprototypesarenotdiscarded,butextendedanddevelopedintopartsofthe
finalsystemthemselvesisknownasevolutionarydevelopmentorevolutionaryprototyping.
Weshallnotgointothedetailsofthisapproach,itisenoughtosaythatthisapproach
attemptstomaintainalltheadvantagesofprototypingwhilesavingresourcesby
incorporatingaversionofaprototypeintothefinalsystem.Themainpitfallofsuchan
approachisthatwithoutstrongmanagementitcanfallbackintotheoldcodeandfix
approachtosystemdevelopment.

Incrementaldevelopmentsystemlifecycle

Incrementalapproachesattempttomaintainsomeoftheadvantagesofdisposableprototypingoverthe
purewaterfallmodel,buttoavoidthediscardingofallearlydevelopment.Theincrementaldevelopmentlife
cycleisacompletelifecyclemodelinitsownright,ratherthanasupplementtoawaterfallmodel.

Inincrementaldevelopment,therequirementsareanalyzedasusualandabroadarchitecturaldesignis
drawnup.Thisisalargescaleviewofthefinalsystembrokendownintothemainfunctionalareas.The
remainderofthedevelopmentisbrokenintostages.Ateachstage,asetoffunctionsareidentified.These
areimplementedontopoftheexistingversionofthesystemusingthetraditionalapproachesofdetailed
design,codingandtesting.Ideally,themostimportantfunctionsareimplementedfirstandsuccessive
stagesaddnewfunctionalityinorderofpriority.

Bydoingthis,thefulldevelopmenttaskisbrokendownintosmallermoremanageableareasallowingany
problemsinimplementationtobehighlightedbeforethefullsystemiscompleted.Thismaybeparticularly
usefulwheretheremaybetechnologicaldifficultieswhichcouldonlybeidentifiedbytryingtoimplement
thefullsystem.

IncrementaldevelopmentapproachisNOTaversionofCODEANDFIX

Itimportanttounderstandthattheincrementaldevelopmentapproachisnotjustanothernameforthe
codeandfixapproachthatwasthemainwaysystemsdevelopedbeforedevelopersbeganusingthe
waterfalllifecycletoguidemorestructuredsystemsdevelopment.Featuresthatdifferentiateincremental
systemdevelopmentfromcodeandfixinclude:

Fullyworking,androbust,subsystemsaredeveloped

Systemdesignfocusesonmodularityidentifyingsubsystemsthancanbeproperlydevelopedin
isolationinsuchawayastonotlimittheotherpartsofthefinal,overallsystemwithwhichthesub
systemmustinteract
Incrementaldevelopmentisnotnecessarilyincrementaldelivery

Althoughanoptionfortheprojectmanagers,eventhoughasystemmaybedevelopedasanumberof
modularsubsystems,itisnotnecessarilythecasethateachsubsystemisdeliveredtotheuserassoonas
itiscomplete.Reasonsfordelayingdeliverymayincludecomplexitiesofintegrationanexistingsystemwith
smallpartsofanewsystemitmightonlymakesensetowaituntilacoherentcollectionofsubsystemsis
completebeforeinstallation.

However,if,attheendofeachstage,thesystemisreleasedtotheclient,thisiscalledincrementaldelivery.
Theclientthengetsregularversionsofthesoftwareandisabletoperceivetheprogressbeingmadeonthe
project.Itmaysometimeshappenthattheclientshaveoverspecifiedtheoriginalrequirementsandon
receivingareleasedeclarethemselveshappywiththesystemsofarandnofurtherworkisnecessary.This
canbeparticularlylucrativeiftheoriginalcontractwasafixedprice!

Thepossibilityofincrementaldeliveryofasystemtousersisoneofthemotivationsfortheadoptionofan
incrementaldevelopmentapproachtosystemsdevelopment

Incrementaldevelopmentisnotsimplydeliveringtidiedupprototypes

Althoughbothdisposableprototypingandincrementaldevelopmentinvolveproducingworkingsubsystems,
therequirementsforthesesubsystemsareverydifferent.Prototypesneedtobecheaptodevelop,donot
needtoberobustorfullyfunctional,anddonotneedtobeabletoworkwithothersubsystems.Asub
systemtobefullydevelopedduringanincrementalsystemdevelopmenthastoberobust,fullyfunctional
andfullyabletointeractwithothersubsystemsoncetheyaredeveloped.Forthisreason,thesubsystem
developedusinganincrementaldevelopmentapproacharemoreexpensiveandtimeconsumingtodevelop.
Also,beforeasubsystemisdeveloped,awiderunderstandingoftheimpactandinteractionofeachsub
systemmustbeunderstoodandspecified,sothatthewayonesubsystemisdevelopeddoesnothavea
negativeimpactonthewaylatersubsystemsaredeveloped.

However,anincrementaldevelopmentapproachhasthefollowingadvantagesoverwaterfallanddisposable
prototypingapproaches:

Theprocessismoreresponsivetochanginguserrequirementsthanawaterfallapproachlatersub
systemscanberespecified,alsoamodularapproachcanmeanmaintenancechangesaresimpler
andlessexpensive.

Thedevelopmentresourcesforeachsubsystemarenotwasted,sincethesubsystemsformpartof
thefinalsystemdeliveredtousers.

Thereisanopportunityforincrementaldeliverytousers,sotheuserscanbenefitfrompartsofthe
systemdevelopmentwithouthavingtowaitfortheentirelifecycletorunitscourse.

Completeprojectfailureislesslikely,sinceuserswillhavesomeworkingsubsystemseveniftime
andmoneyrunoutbeforethecompletesystemisdelivered.

Therearesomecosts,anddangersassociatedwithanincrementaldevelopmentapproachthough:

thisdevelopmentmodelreliesoncloseinteractionwiththeusers.iftheyarenoteasilyavailableor
slowinevaluatingprototypes,thewholeprocesscangrindtoahalt

therelianceonuserinvolvementexacerbatesthealreadydifficulttaskofestimatingtheamountof
timeandbudgetrequired

highuserinvolvementmeansthatresourcesaredrawnawayfromthenormaloperationofthe
organisationduringsystemdevelopment

Exercise2

Whatisasystemlifecycle?Isthereonlyone?

Você também pode gostar