您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 软件开发成本估计方法
AnnalsofSoftwareEngineering10(2000)177–205177Softwaredevelopmentcostestimationapproaches–AsurveyBarryBoehma,ChrisAbtsaandSunitaChulanibaUniversityofSouthernCalifornia,LosAngeles,CA90089-0781,USAbIBMResearch,650HarryRoad,SanJose,CA95120,USAE-mail:sunita@us.ibm.comThispapersummarizesseveralclassesofsoftwarecostestimationmodelsandtechniques:parametricmodels,expertise-basedtechniques,learning-orientedtechniques,dynamics-basedmodels,regression-basedmodels,andcomposite-Bayesiantechniquesforintegratingexpertise-basedandregression-basedmodels.Experiencetodateindicatesthatneural-netanddynamics-basedtechniquesarelessmaturethantheotherclassesoftechniques,butthatallclassesoftechniquesarechallengedbytherapidpaceofchangeinsoftwaretechnology.Theprimaryconclusionisthatnosingletechniqueisbestforallsituations,andthatacarefulcomparisonoftheresultsofseveralapproachesismostlikelytoproducerealisticestimates.1.IntroductionSoftwareengineeringcost(andschedule)modelsandestimationtechniquesareusedforanumberofpurposes.Theseinclude:Budgeting:theprimarybutnottheonlyimportantuse.Accuracyoftheoverallestimateisthemostdesiredcapability.Tradeoffandriskanalysis:animportantadditionalcapabilityistoilluminatethecostandschedulesensitivitiesofsoftwareprojectdecisions(scoping,staffing,tools,reuse,etc.).Projectplanningandcontrol:animportantadditionalcapabilityistoprovidecostandschedulebreakdownsbycomponent,stageandactivity.Softwareimprovementinvestmentanalysis:animportantadditionalcapabilityistoestimatethecostsaswellasthebenefitsofsuchstrategiesastools,reuse,andprocessmaturity.Inthispaper,wesummarizetheleadingtechniquesandindicatetheirrelativestrengthsforthesefourpurposes.Significantresearchonsoftwarecostmodelingbeganwiththeextensive1965SDCstudyofthe104attributesof169softwareprojects[Nelson1966].Thisledtosomeusefulpartialmodelsinthelate1960sandearly1970s.Thelate1970sproducedafloweringofmorerobustmodelssuchasSLIM[Put-namandMyers1992],Checkpoint[Jones1997],PRICE-S[Park1988],SEER[Jensen J.C.BaltzerAG,SciencePublishers178B.Boehmetal./Softwaredevelopmentcostestimationapproaches–AsurveyFigure1.Softwareestimationtechniques.1983],andCOCOMO[Boehm1981].Althoughmostoftheseresearchersstartedworkingondevelopingmodelsofcostestimationataboutthesametime,theyallfacedthesamedilemma:assoftwaregrewinsizeandimportanceitalsogrewincomplexity,makingitverydifficulttoaccuratelypredictthecostofsoftwaredevel-opment.Thisdynamicfieldofsoftwareestimationsustainedtheinterestsoftheseresearcherswhosucceededinsettingthestepping-stonesofsoftwareengineeringcostmodels.Justlikeinanyotherfield,thefieldofsoftwareengineeringcostmodelshashaditsownpitfalls.Thefastchangingnatureofsoftwaredevelopmenthasmadeitverydifficulttodevelopparametricmodelsthatyieldhighaccuracyforsoftwaredevelopmentinalldomains.Softwaredevelopmentcostscontinuetoincreaseandpractitionerscontinuallyexpresstheirconcernsovertheirinabilitytoaccuratelypredictthecostsinvolved.Oneofthemostimportantobjectivesofthesoftwareengineeringcommunityhasbeenthedevelopmentofusefulmodelsthatconstructivelyexplainthedevelopmentlife-cycleandaccuratelypredictthecostofdevelopingasoftwareproduct.Tothatend,manysoftwareestimationmodelshaveevolvedinthelasttwodecadesbasedonthepioneeringeffortsoftheabovementionedresearchers.Themostcommonlyusedtechniquesforthesemodelsincludeclassicalmultipleregressionapproaches.However,theseclassicalmodel-buildingtechniquesarenotnecessarilythebestwhenusedonsoftwareengineeringdataasillustratedinthispaper.Beyondregression,severalpapers[Briandetal.1992;Khoshgoftaaretal.1995]discusstheprosandconsofonesoftwarecostestimationtechniqueversusanotherandpresentanalysisresults.Incontrast,thispaperfocusesontheclassificationofexistingtechniquesintosixmajorcategoriesasshowninfigure1,providinganoverviewwithexamplesofeachcategory.Insection2itexaminesinmoredepththefirstcategory,comparingsomeofthemorepopularcostmodelsthatfallunderModel-basedcostestimationtechniques.2.Model-basedtechniquesAsdiscussedabove,quiteafewsoftwareestimationmodelshavebeendevelopedinthelastcoupleofdecades.ManyofthemareproprietarymodelsandhencecannotB.Boehmetal./Softwaredevelopmentcostestimationapproaches–Asurvey179becomparedandcontrastedintermsofthemodelstructure.Theoryorexperimentationdeterminesthefunctionalformofthesemodels.Thissectiondiscussessevenofthepopularmodelsandtable2(presentedattheendofthissection)comparesandcontraststhesecostmodelsbasedonthelife-cycleactivitiescoveredandtheirinputandoutputparameters.2.1.Putnam’sSoftwareLife-cycleModel(SLIM)LarryPutnamofQuantitativeSoftwareMeasurementdevelopedtheSoftwareLife-cycleModel(SLIM)inthelate1970s[PutnamandMyers1992].SLIMisbasedonPutnam’sanalysisofthelife-cycleintermsofaso-calledRayleighdistributionofprojectpersonnellevelversustime.Itsupportsmostofthepopularsizeestimatingmethodsincludingballparktechniques,sourceinstructions,functionpoints,etc.Itmakesuseofaso-calledRayleighcurvetoestimateprojecteffort,scheduleanddefectrate.AManpowerBuildupIndex(MBI)andaTechnologyConstantorProductivityfactor(PF)areusedtoinfluencetheshapeofthec
本文标题:软件开发成本估计方法
链接地址:https://www.777doc.com/doc-466368 .html