【文档说明】软件工程实践者的研究方法chapter20课件.pptx,共(28)页,177.016 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-50502.html
以下为本文档部分文字说明:
1www.niuwk.com牛牛文库文档分享Chapter20◼EstimationforSoftwareProjectsSlideSettoaccompanySoftwareEngineering:APractitioner’sApproach,7/ebyRogerS.Pre
ssmanSlidescopyright©1996,2001,2005,2009byRogerS.PressmanFornon-profiteducationaluseonlyMaybereproducedONLYforstudentuse
attheuniversitylevelwhenusedinconjunctionwithSoftwareEngineering:APractitioner'sApproach,7/e.Anyotherrep
roductionoruseisprohibitedwithouttheexpresswrittenpermissionoftheauthor.AllcopyrightinformationMUSTapp
eariftheseslidesarepostedonawebsiteforstudentuse.第1页,共28页。2www.niuwk.com牛牛文库文档分享SoftwareProjectPlanningTheoverallgoalofprojectplanningistoestabli
shapragmaticstrategyforcontrolling,tracking,andmonitoringacomplextechnicalproject.Why?Sotheendresultgetsdoneontime,withquality!第
2页,共28页。3www.niuwk.com牛牛文库文档分享ProjectPlanningTaskSet-I◼Establishprojectscope◼Determinefeasibility◼Analyzerisk
s◼RiskanalysisisconsideredindetailinChapter25.◼Definerequiredresources◼Determinerequirehumanresources◼Definereusablesoftwareresources◼Id
entifyenvironmentalresources第3页,共28页。4www.niuwk.com牛牛文库文档分享ProjectPlanningTaskSet-II◼Estimatecostandeff
ort◼Decomposetheproblem◼Developtwoormoreestimatesusingsize,functionpoints,processtasksoruse-cases◼Reconciletheestimates◼Developaprojectsch
edule◼SchedulingisconsideredindetailinChapter27.•Establishameaningfultaskset•Defineatasknetwork•Useschedulingtoolstodevelopatimelinechart•Defin
escheduletrackingmechanisms第4页,共28页。5www.niuwk.com牛牛文库文档分享Estimation◼Estimationofresources,cost,andscheduleforasoftwareengineerin
geffortrequires◼experience◼accesstogoodhistoricalinformation(metrics)◼thecouragetocommittoquantitativepredictionswhenquali
tativeinformationisallthatexists◼Estimationcarriesinherentriskandthisriskleadstouncertainty第5页,共28页。6www.niuwk.com牛牛文库文档分享WriteitD
own!SoftwareProjectPlanProjectScopeEstimatesRisksScheduleControlstrategy第6页,共28页。7www.niuwk.com牛牛文库文档分享ToUnderstandScope...◼Unders
tandthecustomersneeds◼understandthebusinesscontext◼understandtheprojectboundaries◼understandthecustomer’smotiv
ation◼understandthelikelypathsforchange◼understandthat...Evenwhenyouunderstand,nothingisguaranteed!第7页,共28页。8www.niuwk.com牛牛文库文档分
享WhatisScope?◼Softwarescopedescribes◼thefunctionsandfeaturesthataretobedeliveredtoend-users◼thedatathatare
inputandoutput◼the“content”thatispresentedtousersasaconsequenceofusingthesoftware◼theperformance,constraints,interfaces,and
reliabilitythatboundthesystem.◼Scopeisdefinedusingoneoftwotechniques:•Anarrativedescriptionofsoftwarescopeisdevelopedaftercommunicationwithallst
akeholders.•Asetofuse-casesisdevelopedbyend-users.第8页,共28页。9www.niuwk.com牛牛文库文档分享ResourcesprojectpeopleskillsnumberlocationreusablesoftwareO
TScomponentsfull-experiencecomponentsnewcomponentspart.-experiencecomponentsenvironmenthardwaresoftwaretoolsnetworkresources第9页,共
28页。10www.niuwk.com牛牛文库文档分享ProjectEstimation◼Projectscopemustbeunderstood◼Elaboration(decomposition)isnecessary◼Historicalmetricsare
veryhelpful◼Atleasttwodifferenttechniquesshouldbeused◼Uncertaintyisinherentintheprocess第10页,共28页。11www.niuwk.com牛牛文库文
档分享EstimationTechniques◼Past(similar)projectexperience◼Conventionalestimationtechniques◼taskbreakdownandeffortesti
mates◼size(e.g.,FP)estimates◼Empiricalmodels◼Automatedtools第11页,共28页。12www.niuwk.com牛牛文库文档分享EstimationAccuracy◼Predi
catedon…◼thedegreetowhichtheplannerhasproperlyestimatedthesizeoftheproducttobebuilt◼theabilitytotranslatethesizeestimat
eintohumaneffort,calendartime,anddollars(afunctionoftheavailabilityofreliablesoftwaremetricsfrompastprojects)◼thedegreeto
whichtheprojectplanreflectstheabilitiesofthesoftwareteam◼thestabilityofproductrequirementsandtheenvironmentthatsupp
ortsthesoftwareengineeringeffort.第12页,共28页。13www.niuwk.com牛牛文库文档分享FunctionalDecompositionfunctionalde
compositionStatementofScopePerformaGrammatical“parse”第13页,共28页。14www.niuwk.com牛牛文库文档分享ConventionalMethods:LO
C/FPApproach◼computeLOC/FPusingestimatesofinformationdomainvalues◼usehistoricaldatatobuildestimatesfortheproject第14页,共28页。15www.niuwk.
com牛牛文库文档分享Example:LOCApproachAverageproductivityforsystemsofthistype=620LOC/pm.Burdenedlaborrate=$8000permonth,thecostperlineofcodeisa
pproximately$13.BasedontheLOCestimateandthehistoricalproductivitydata,thetotalestimatedprojectcostis$431,000andtheestimate
deffortis54person-months.第15页,共28页。16www.niuwk.com牛牛文库文档分享Example:FPApproachTheestimatednumberofFPisderived:
FPestimated=count-total3[0.65+0.013S(Fi)]FPestimated=375organizationalaverageproductivity=6.5FP/pm.burdenedlaborrate=$8000permonth,app
roximately$1230/FP.BasedontheFPestimateandthehistoricalproductivitydata,totalestimatedprojectcostis$461,000an
destimatedeffortis58person-months.第16页,共28页。17www.niuwk.com牛牛文库文档分享Process-BasedEstimationObtainedfrom“pr
ocessframework”applicationfunctionsframeworkactivitiesEffortrequiredtoaccomplisheachframeworkactivityforeachapplicationfunction第17页,共2
8页。18www.niuwk.com牛牛文库文档分享Process-BasedEstimationExampleActivityTaskFunctionUICF2DGA3DGADSMPCFCGDFDAMTotals%effortCCPla
nningRiskAnalysisEngineeringConstructionReleaseTotalsCEanalysisdesigncodetest0.250.250.253.5020.504.5016.5046.001%1%1%8%4
5%10%36%CC=customercommunicationCE=customerevaluation0.500.750.500.500.500.252.504.004.003.003.002.000.400.601.001.000.750.505.00
2.003.001.501.501.508.407.358.506.005.754.250.502.000.502.005.00n/an/an/an/an/an/an/aBasedonanaverageburdened
laborrateof$8,000permonth,thetotalestimatedprojectcostis$368,000andtheestimatedeffortis46person-months.第
18页,共28页。19www.niuwk.com牛牛文库文档分享Tool-BasedEstimationprojectcharacteristicscalibrationfactorsLOC/FPdata第19页,共28页。20www.niuwk.com牛牛文库文档分享E
stimationwithUse-CasesusecasesscenariospagesÊscenariospagesLOCLOCestimateesubsystem6106Ê1255603,366subsystemgroup10208Ê1
68310031,233esubsystemgroup565Ê10616507,970ÊÊÊÊstimateÊÊÊÊ42,568UserinterfacesubsystemEngineeringsubsystemgroupInfrastructuresubsystemgroupTo
talLOCestimateUsing620LOC/pmastheaverageproductivityforsystemsofthistypeandaburdenedlaborrateof$8000permonth,thecostperlineofcodeisap
proximately$13.Basedontheuse-caseestimateandthehistoricalproductivitydata,thetotalestimatedprojectcostis$5
52,000andtheestimatedeffortis68person-months.第20页,共28页。21www.niuwk.com牛牛文库文档分享EmpiricalEstimationModelsGeneralfo
rm:effort=tuningcoefficient*sizeexponentusuallyderivedasperson-monthsofeffortrequiredeitheraconstantoranumberderi
vedbasedoncomplexityofprojectusuallyLOCbutmayalsobefunctionpointempiricallyderived第21页,共28页。22www.niuwk.com牛
牛文库文档分享COCOMO-II◼COCOMOIIisactuallyahierarchyofestimationmodelsthataddressthefollowingareas:•Applicationcompositionmodel.Usedduringtheearlystagesofs
oftwareengineering,whenprototypingofuserinterfaces,considerationofsoftwareandsysteminteraction,assessmentofperformance,andev
aluationoftechnologymaturityareparamount.•Earlydesignstagemodel.Usedoncerequirementshavebeenstabilizedandb
asicsoftwarearchitecturehasbeenestablished.•Post-architecture-stagemodel.Usedduringtheconstructionofthesoftware.第22页,共28页。23www.niuwk.com
牛牛文库文档分享TheSoftwareEquationAdynamicmultivariablemodelE=[LOCxB0.333/P]3x(1/t4)whereE=effortinperson-monthsorperson-ye
arst=projectdurationinmonthsoryearsB=“specialskillsfactor”P=“productivityparameter”第23页,共28页。24www.niuwk.com牛牛文库文档分享EstimationforOOProjects-
I◼Developestimatesusingeffortdecomposition,FPanalysis,andanyothermethodthatisapplicableforconventionalapplic
ations.◼Usingobject-orientedrequirementsmodeling(Chapter6),developuse-casesanddetermineacount.◼Fromtheanalysismodel,de
terminethenumberofkeyclasses(calledanalysisclassesinChapter6).◼Categorizethetypeofinterfacefortheapplicationanddevelopamultiplierforsupportcl
asses:◼InterfacetypeMultiplier◼NoGUI2.0◼Text-baseduserinterface2.25◼GUI2.5◼ComplexGUI3.0第24页,共28页。25www.niuwk.
com牛牛文库文档分享EstimationforOOProjects-II◼Multiplythenumberofkeyclasses(step3)bythemultipliertoobtainanestimatefor
thenumberofsupportclasses.◼Multiplythetotalnumberofclasses(key+support)bytheaveragenumberofwork-unitsperclass.LorenzandKidd
suggest15to20person-daysperclass.◼Crosschecktheclass-basedestimatebymultiplyingtheaveragenumberofwork-unitsperuse-case第25页,共28页。26www.niuwk.com牛牛文
库文档分享EstimationforAgileProjects◼Eachuserscenario(amini-use-case)isconsideredseparatelyforestimationpurposes
.◼Thescenarioisdecomposedintothesetofsoftwareengineeringtasksthatwillberequiredtodevelopit.◼Eachtaskisestimat
edseparately.Note:estimationcanbebasedonhistoricaldata,anempiricalmodel,or“experience.”◼Alternatively,the‘volume’ofthescenariocanbeestima
tedinLOC,FPorsomeothervolume-orientedmeasure(e.g.,use-casecount).◼Estimatesforeachtaskaresummedtocreateanes
timateforthescenario.◼Alternatively,thevolumeestimateforthescenarioistranslatedintoeffortusinghistoricaldata.◼Theeffortestimatesforallscenarios
thataretobeimplementedforagivensoftwareincrementaresummedtodeveloptheeffortestimatefortheincrement.第26页,共28页。27www.niu
wk.com牛牛文库文档分享TheMake-BuyDecision第27页,共28页。28www.niuwk.com牛牛文库文档分享ComputingExpectedCost(pathprobability)x(estimatedpathcost)iiForexample,theexp
ectedcosttobuildis:expectedcost=0.30($380K)+0.70($450K)similarly,expectedcost=$382Kexpectedcost=$267Kexpectedco
st=$410Kbuildreusebuycontrexpectedcost==$429K第28页,共28页。