【文档说明】软件工程实践者的研究方法chapter21课件.pptx,共(18)页,103.793 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45059.html
以下为本文档部分文字说明:
软件工程实践者的研究方法chapter21课件WhyAreProjectsLate?•anunrealisticdeadlineestablishedbysomeoneoutsidethesoftwaredevelopmentgroup•changingcustomerr
equirementsthatarenotreflectedinschedulechanges;•anhonestunderestimateoftheamountofeffortand/orthenumberofres
ourcesthatwillberequiredtodothejob;•predictableand/orunpredictablerisksthatwerenotconsideredwhentheprojectcommenced;•technicaldifficultiesthatcou
ldnothavebeenforeseeninadvance;•humandifficultiesthatcouldnothavebeenforeseeninadvance;•miscommunicationamongprojectstaffthatresultsindelays
;•afailurebyprojectmanagementtorecognizethattheprojectisfallingbehindscheduleandalackofactiontocorrecttheprobl
emSchedulingPrinciples•compartmentalization—definedistincttasks•interdependency—indicatetaskinterrelationship•effortvalid
ation—besureresourcesareavailable•definedresponsibilities—peoplemustbeassigned•definedoutcomes—eachtaskmustEffortandDeliv
eryTimeEffortCostImpossibleregiontdEdTmin=0.75TdtoEoEa=m(td4/ta4)developmenttimeEa=effortinperson-mon
thstd=nominaldeliverytimeforscheduleto=optimaldevelopmenttime(intermsofcost)ta=actualdeliverytimedesiredEffortAllocation•―frontend‖activi
ties–customercommunication–analysis–design–reviewandmodification•constructionactivities–codingorcodegeneration•testingandinstallation–uni
t,integration–white-box,blackbox–regression40-50%30-40%15-20%DefiningTaskSets•determinetypeofproject•assessthedegreeofrigorrequired•identifyadaptat
ioncriteria•selectappropriatesoftwareengineeringtasksTaskSetRefinement1.1Conceptscopingdeterminestheoverallscopeoftheproject.Taskdefinition:Task1.1Co
nceptScoping1.1.1Identifyneed,benefitsandpotentialcustomers;1.1.2Definedesiredoutput/controlandinputevents
thatdrivetheapplication;BeginTask1.1.21.1.2.1FTR:ReviewwrittendescriptionofneedFTRindicatesthataformaltechnicalrev
iew(Chapter26)istobeconducted.1.1.2.2Derivealistofcustomervisibleoutputs/inputs1.1.2.3FTR:Reviewoutputs/inputswithcustomerandreviseas
required;endtaskTask1.1.21.1.3Definethefunctionality/behaviorforeachmajorfunction;BeginTask1.1.31.1.3.1F
TR:Reviewoutputandinputdataobjectsderivedintask1.1.2;1.1.3.2Deriveamodeloffunctions/behaviors;1.1.3.3FTR:Reviewfunctions/beha
viorswithcustomerandreviseasrequired;endtaskTask1.1.31.1.4Isolatethoseelementsofthetechnologytobeimplem
entedinsoftware;1.1.5Researchavailabilityofexistingsoftware;1.1.6Definetechnicalfeasibility;1.1.7Makequickestimateofsize;1.1.8CreateaScopeDefiniti
on;endTaskdefinition:Task1.1isrefinedtoDefineaTaskNetworkTimelineChartsTasksWeek1Week2Week3Week4WeeknTas
k1Task2Task3Task4Task5Task6Task7Task8Task9Task10Task11Task12UseAutomatedToolstoDeriveaTimelineChartSchedule
Tracking–conductperiodicprojectstatusmeetingsinwhicheachteammemberreportsprogressandproblems.–evalua
tetheresultsofallreviewsconductedthroughoutthesoftwareengineeringprocess.–determinewhetherformalprojectmilestones(thediamondsshowninFigure27.3)have
beenaccomplishedbythescheduleddate.–compareactualstart-datetoplannedstart-dateforeachprojecttasklistedinthebl(Fi274)ProgressonanOOProje
ct-I•Technicalmilestone:OOanalysiscompleted•Allclassesandtheclasshierarchyhavebeendefinedandreviewed.•Classattr
ibutesandoperationsassociatedwithaclasshavebeendefinedandreviewed.•Classrelationships(Chapter8)havebeenestablishedandreviewed.•Abehavio
ralmodel(Chapter8)hasbeencreatedandreviewed.•Reusableclasseshavebeennoted.•Technicalmilestone:OOdesigncompleted•Thesetof
subsystems(Chapter9)hasbeendefinedandreviewed.•Classesareallocatedtosubsystemsandreviewed.•Taskallocationhasbeenestablishedandreviewed.•Respon
sibilitiesandcollaborations(Chapter9)havebeenidentified.•Attributesandoperationshavebeendesignedandreviewed.•Thecommunicati
onmodelhasbeencreatedandreviewed.ProgressonanOOProject-II•Technicalmilestone:OOprogrammingcompleted•Eachnewclasshasbeenimplementedincodefromt
hedesignmodel.•Extractedclasses(fromareuselibrary)havebeenimplemented.•Prototypeorincrementhasbeenbuilt.•Tech
nicalmilestone:OOtesting•ThecorrectnessandcompletenessofOOanalysisanddesignmodelshasbeenreviewed.•Aclass-responsibility-collaborationnetwork(Chapt
er6)hasbeendevelopedandreviewed.•Testcasesaredesignedandclass-leveltests(Chapter19)havebeenconductedforeachclass.•Test
casesaredesignedandclustertesting(Chapter19)iscompletedandtheclassesareintegrated.•Systemleveltestshavebeencompleted.EarnedValueAnalysis(EVA)•Ear
nedvalue–isameasureofprogress–enablesustoassessthe―percentofcompleteness‖ofaprojectusingquantitativeanalysisratherthanrelyonagutfeeling–―providesac
curateandreliablereadingsofperformancefromasearlyas15percentintotheproject.‖[Fle98]ComputingEarnedValue-I•Thebudgetedcos
tofworkscheduled(BCWS)isdeterminedforeachworktaskrepresentedintheschedule.–BCWSiistheeffortplannedforworktaski.–Todet
ermineprogressatagivenpointalongtheprojectschedule,thevalueofBCWSisthesumoftheBCWSivaluesforallworkt
asksthatshouldhavebeencompletedbythatpointintimeontheprojectschedule.•TheBCWSvaluesforallworktasksaresummedtoderiv
ethebudgetatcompletion,BAC.Hence,BAC=∑(BCWSk)foralltaskskComputingEarnedValue-II•Next,thevalueforbudgetedcostofworkperformed(BCWP)i
scomputed.–ThevalueforBCWPisthesumoftheBCWSvaluesforallworktasksthathaveactuallybeencompletedbyapointintimeonthepr
ojectschedule.•―thedistinctionbetweentheBCWSandtheBCWPisthattheformerrepresentsthebudgetoftheactivitiesthatwereplannedtob
ecompletedandthelatterrepresentsthebudgetoftheactivitiesthatactuallywerecompleted.‖[Wil99]•GivenvaluesforBCWS,BAC,andBCWP,importantprogressi
ndicatorscanbecomputed:•Scheduleperformanceindex,SPI=BCWP/BCWS•Schedulevariance,SV=BCWP–BCWS•SPIisanindicationoft
heefficiencywithwhichtheprojectisutilizingscheduledresources.ComputingEarnedValue-III•Percentscheduledforcompletion=BCWS/BAC–providesa
nindicationofthepercentageofworkthatshouldhavebeencompletedbytimet.•Percentcomplete=BCWP/BAC–providesaquantitativeindicationofthepercentofcom
pletenessoftheprojectatagivenpointintime,t.•Actualcostofworkperformed,ACWP,isthesumoftheeffortactuallyexpendedonwork
tasksthathavebeencompletedbyapointintimeontheprojectschedule.Itisthenpossibletocompute•Costperformanceindex,CPI=BCWP/ACWP•Costvariance,C
V=BCWP–ACWP