【文档说明】软件工程实践者的研究方法chapter20课件.pptx,共(28)页,177.016 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-50502.html
以下为本文档部分文字说明:
1www.niuwk.com牛牛文库文档分享Chapter20◼EstimationforSoftwareProjectsSlideSettoaccompanySoftwareEngineering:APractitioner’sApproach,7/ebyRogerS.Pressm
anSlidescopyright©1996,2001,2005,2009byRogerS.PressmanFornon-profiteducationaluseonlyMaybereproducedONLYforstudentuse
attheuniversitylevelwhenusedinconjunctionwithSoftwareEngineering:APractitioner'sApproach,7/e.Anyotherreproductionoruse
isprohibitedwithouttheexpresswrittenpermissionoftheauthor.AllcopyrightinformationMUSTappeariftheseslidesarepostedonawebsitefors
tudentuse.第1页,共28页。2www.niuwk.com牛牛文库文档分享SoftwareProjectPlanningTheoverallgoalofprojectplanningistoestablishapragmaticstrategyforcont
rolling,tracking,andmonitoringacomplextechnicalproject.Why?Sotheendresultgetsdoneontime,withquality!第2页,共28
页。3www.niuwk.com牛牛文库文档分享ProjectPlanningTaskSet-I◼Establishprojectscope◼Determinefeasibility◼Analyzerisks◼Riskanalysisisconsideredindet
ailinChapter25.◼Definerequiredresources◼Determinerequirehumanresources◼Definereusablesoftwareresources◼Identifyenvironmentalresources第3页,共28页。4www.n
iuwk.com牛牛文库文档分享ProjectPlanningTaskSet-II◼Estimatecostandeffort◼Decomposetheproblem◼Developtwoormoreestimatesusingsize,functionpoints,pr
ocesstasksoruse-cases◼Reconciletheestimates◼Developaprojectschedule◼SchedulingisconsideredindetailinChapter2
7.•Establishameaningfultaskset•Defineatasknetwork•Useschedulingtoolstodevelopatimelinechart•Defineschedu
letrackingmechanisms第4页,共28页。5www.niuwk.com牛牛文库文档分享Estimation◼Estimationofresources,cost,andscheduleforasoftwa
reengineeringeffortrequires◼experience◼accesstogoodhistoricalinformation(metrics)◼thecouragetocommittoquantitativepredictionswhenqualitativ
einformationisallthatexists◼Estimationcarriesinherentriskandthisriskleadstouncertainty第5页,共28页。6www.niuwk.com牛牛文库文档分享WriteitDown!SoftwareProjec
tPlanProjectScopeEstimatesRisksScheduleControlstrategy第6页,共28页。7www.niuwk.com牛牛文库文档分享ToUnderstandScope...◼Understandthecustomersneeds◼understandtheb
usinesscontext◼understandtheprojectboundaries◼understandthecustomer’smotivation◼understandthelikelypathsforchange◼understandthat...Evenwh
enyouunderstand,nothingisguaranteed!第7页,共28页。8www.niuwk.com牛牛文库文档分享WhatisScope?◼Softwarescopedescribes◼thefunc
tionsandfeaturesthataretobedeliveredtoend-users◼thedatathatareinputandoutput◼the“content”thatispresen
tedtousersasaconsequenceofusingthesoftware◼theperformance,constraints,interfaces,andreliabilitythatboundthesyst
em.◼Scopeisdefinedusingoneoftwotechniques:•Anarrativedescriptionofsoftwarescopeisdevelopedaftercommunicationwithallstakeholders.•Asetofuse-casesisde
velopedbyend-users.第8页,共28页。9www.niuwk.com牛牛文库文档分享ResourcesprojectpeopleskillsnumberlocationreusablesoftwareOTScomponentsfull-experiencecomponent
snewcomponentspart.-experiencecomponentsenvironmenthardwaresoftwaretoolsnetworkresources第9页,共28页。10www.niuwk.com牛牛文库文档分享ProjectEstimati
on◼Projectscopemustbeunderstood◼Elaboration(decomposition)isnecessary◼Historicalmetricsareveryhelpful◼Atleasttwodiffe
renttechniquesshouldbeused◼Uncertaintyisinherentintheprocess第10页,共28页。11www.niuwk.com牛牛文库文档分享EstimationTechniques◼Past(similar)projectexperie
nce◼Conventionalestimationtechniques◼taskbreakdownandeffortestimates◼size(e.g.,FP)estimates◼Empiricalmodels◼Automatedtools第11页,共28页
。12www.niuwk.com牛牛文库文档分享EstimationAccuracy◼Predicatedon…◼thedegreetowhichtheplannerhasproperlyestimatedthesizeoftheprodu
cttobebuilt◼theabilitytotranslatethesizeestimateintohumaneffort,calendartime,anddollars(afunctionoftheavailabil
ityofreliablesoftwaremetricsfrompastprojects)◼thedegreetowhichtheprojectplanreflectstheabilitiesoftheso
ftwareteam◼thestabilityofproductrequirementsandtheenvironmentthatsupportsthesoftwareengineeringeffort.第12页,共28页。13www.niuwk.com牛牛文
库文档分享FunctionalDecompositionfunctionaldecompositionStatementofScopePerformaGrammatical“parse”第13页,共28页。14www.niuwk.com牛牛
文库文档分享ConventionalMethods:LOC/FPApproach◼computeLOC/FPusingestimatesofinformationdomainvalues◼usehistoricaldat
atobuildestimatesfortheproject第14页,共28页。15www.niuwk.com牛牛文库文档分享Example:LOCApproachAverageproductivityforsyste
msofthistype=620LOC/pm.Burdenedlaborrate=$8000permonth,thecostperlineofcodeisapproximately$13.BasedontheLOCestimateandthehistoricalp
roductivitydata,thetotalestimatedprojectcostis$431,000andtheestimatedeffortis54person-months.第15页,共28页
。16www.niuwk.com牛牛文库文档分享Example:FPApproachTheestimatednumberofFPisderived:FPestimated=count-total3[0.65+0.013S(Fi)]FPestimated=375organization
alaverageproductivity=6.5FP/pm.burdenedlaborrate=$8000permonth,approximately$1230/FP.BasedontheFPestimateandthehistoricalproductivitydata,to
talestimatedprojectcostis$461,000andestimatedeffortis58person-months.第16页,共28页。17www.niuwk.com牛牛文库文档分享Process-
BasedEstimationObtainedfrom“processframework”applicationfunctionsframeworkactivitiesEffortrequiredtoaccomplisheachframeworkactivityforeachapplication
function第17页,共28页。18www.niuwk.com牛牛文库文档分享Process-BasedEstimationExampleActivityTaskFunctionUICF2DGA3DGADSMPCFCGDFDAMTo
tals%effortCCPlanningRiskAnalysisEngineeringConstructionReleaseTotalsCEanalysisdesigncodetest0.250.250.253.5020.504.5016.504
6.001%1%1%8%45%10%36%CC=customercommunicationCE=customerevaluation0.500.750.500.500.500.252.504.004.003.003.002.000.400
.601.001.000.750.505.002.003.001.501.501.508.407.358.506.005.754.250.502.000.502.005.00n/an/an/an/an/an/an/aBasedonanaverageburdenedlabor
rateof$8,000permonth,thetotalestimatedprojectcostis$368,000andtheestimatedeffortis46person-months.第18页,共28页。19www.niuwk.com牛牛文库文档分享Tool-BasedEst
imationprojectcharacteristicscalibrationfactorsLOC/FPdata第19页,共28页。20www.niuwk.com牛牛文库文档分享EstimationwithUse-Casesusecasesscenariospag
esÊscenariospagesLOCLOCestimateesubsystem6106Ê1255603,366subsystemgroup10208Ê168310031,233esubsystemgroup565Ê10616507,970ÊÊÊÊstimateÊ
ÊÊÊ42,568UserinterfacesubsystemEngineeringsubsystemgroupInfrastructuresubsystemgroupTotalLOCestimateUsing620LOC/pmastheaverageproductivi
tyforsystemsofthistypeandaburdenedlaborrateof$8000permonth,thecostperlineofcodeisapproximately$13.Basedontheuse-caseestimat
eandthehistoricalproductivitydata,thetotalestimatedprojectcostis$552,000andtheestimatedeffortis68person-months.第20页,共28页。21www.ni
uwk.com牛牛文库文档分享EmpiricalEstimationModelsGeneralform:effort=tuningcoefficient*sizeexponentusuallyderivedasperson-monthsofeffortrequiredeitherac
onstantoranumberderivedbasedoncomplexityofprojectusuallyLOCbutmayalsobefunctionpointempiricallyderive
d第21页,共28页。22www.niuwk.com牛牛文库文档分享COCOMO-II◼COCOMOIIisactuallyahierarchyofestimationmodelsthataddressthefollowingareas:•Applicationcompositio
nmodel.Usedduringtheearlystagesofsoftwareengineering,whenprototypingofuserinterfaces,considerationofsoftwareandsysteminteraction,assessment
ofperformance,andevaluationoftechnologymaturityareparamount.•Earlydesignstagemodel.Usedoncerequirementshavebeenstabilizedandbasicsoftwarearchitectu
rehasbeenestablished.•Post-architecture-stagemodel.Usedduringtheconstructionofthesoftware.第22页,共28页。23ww
w.niuwk.com牛牛文库文档分享TheSoftwareEquationAdynamicmultivariablemodelE=[LOCxB0.333/P]3x(1/t4)whereE=effortinperson-
monthsorperson-yearst=projectdurationinmonthsoryearsB=“specialskillsfactor”P=“productivityparameter”第23页,共28页。24w
ww.niuwk.com牛牛文库文档分享EstimationforOOProjects-I◼Developestimatesusingeffortdecomposition,FPanalysis,andanyothermethodthatisapplicableforconventionalapp
lications.◼Usingobject-orientedrequirementsmodeling(Chapter6),developuse-casesanddetermineacount.◼Fromtheanalysismodel,determinethenumberofkeyclasse
s(calledanalysisclassesinChapter6).◼Categorizethetypeofinterfacefortheapplicationanddevelopamultiplierforsupportclasses:◼InterfacetypeMu
ltiplier◼NoGUI2.0◼Text-baseduserinterface2.25◼GUI2.5◼ComplexGUI3.0第24页,共28页。25www.niuwk.com牛牛文库文档分享EstimationforOOProjects-II◼Multiplythenum
berofkeyclasses(step3)bythemultipliertoobtainanestimateforthenumberofsupportclasses.◼Multiplythetotalnumberofcl
asses(key+support)bytheaveragenumberofwork-unitsperclass.LorenzandKiddsuggest15to20person-daysperclass.◼Cross
checktheclass-basedestimatebymultiplyingtheaveragenumberofwork-unitsperuse-case第25页,共28页。26www.niuwk.com牛牛文库文档分享EstimationforAgilePr
ojects◼Eachuserscenario(amini-use-case)isconsideredseparatelyforestimationpurposes.◼Thescenarioisdecomposedintothesetofsoftwareengineering
tasksthatwillberequiredtodevelopit.◼Eachtaskisestimatedseparately.Note:estimationcanbebasedonhistoricaldata,anemp
iricalmodel,or“experience.”◼Alternatively,the‘volume’ofthescenariocanbeestimatedinLOC,FPorsomeothervolume-orientedmeasure(e.g.,use-casecount).◼Es
timatesforeachtaskaresummedtocreateanestimateforthescenario.◼Alternatively,thevolumeestimateforthescenarioistranslatedintoeffortusinghistorical
data.◼Theeffortestimatesforallscenariosthataretobeimplementedforagivensoftwareincrementaresummedtodeveloptheeffortestimate
fortheincrement.第26页,共28页。27www.niuwk.com牛牛文库文档分享TheMake-BuyDecision第27页,共28页。28www.niuwk.com牛牛文库文档分享ComputingExpectedCost(pathpr
obability)x(estimatedpathcost)iiForexample,theexpectedcosttobuildis:expectedcost=0.30($380K)+0.70($450K)similarly,expectedcost=$382Kexpectedcos
t=$267Kexpectedcost=$410Kbuildreusebuycontrexpectedcost==$429K第28页,共28页。