Table Of ContentSoftware
Measurement
and Estimation
A Practical Approach
Linda M. Laird
M. Carol Brennan
AJohn Wiley & Sons, Inc.,Publication
Software
Measurement
and Estimation
PressOperatingCommittee
Chair Editor-in-Chief
RogerU.Fujii, DonaldF.Shafer
VicePresident ChiefTechnologyOfficer
NorthropGrummanMissionSystems AthensGroup,Inc.
BoardMembers
MarkJ.Christensen,IndependentConsultant
HerbKrasner,President,KrasnerConsulting
TedLewis,ProfessorComputerScience,NavalPostgraduateSchool
HalBerghel,ProfessorandDirectorSchoolofComputerScience,UniversityofNevada
PhillipLaplante,AssociateProfessorSoftwareEngineering,PennStateUniversity
RichardThayer,ProfessorEmeritus,CaliforniaStateUniversity,Sacramento
LindaShafer,ProfessorEmeritusUniversityofTexasatAustin
JamesConrad,AssociateProfessorUNC-Charlotte
DeborahPlummer,Manager-Authoredbooks
IEEEComputerSocietyExecutiveStaff
DavidHennage,ExecutiveDirector
AngelaBurgess,Publisher
IEEEComputerSocietyPublications
Theworld-renownedIEEEComputerSocietypublishes,promotes,anddistributesawidevarietyof
authoritativecomputerscienceandengineeringtexts.Thesebooksareavailablefrommostretail
outlets.VisittheCSStoreathttp://computer.org/cspressforalistofproducts.
IEEEComputerSociety/WileyPartnership
TheIEEEComputerSocietyandWileypartnershipallowstheCSPressauthoredbookprogramto
produceanumberofexcitingnewtitlesinareasofcomputerscience,computingandnetworkingwith
aspecialfocusonsoftwareengineering.IEEEComputerSocietymemberscontinuetoreceivea15%
discountonthesetitleswhenpurchasedthroughWileyoratwiley.com/ieeecs
Tosubmitquestionsabouttheprogramorsendproposalspleasee-maildplummer@computer.orgor
writetoBooks,IEEEComputerSociety,100662LosVaquerosCircle,LosAlamitos,CA90720-1314.
Telephone 11-714-821-8380.
AdditionalinformationregardingtheComputerSocietyauthoredbookprogramcanalsobe
accessedfromourwebsiteathttp://computer.org/cspress
Software
Measurement
and Estimation
A Practical Approach
Linda M. Laird
M. Carol Brennan
AJohn Wiley & Sons, Inc.,Publication
Copyright#2006bytheIEEEComputerSociety.Allrightsreserved.
PublishedbyJohnWiley&Sons,Inc.,Hoboken,NewJersey.
PublishedsimultaneouslyinCanada.
Nopartofthispublicationmaybereproduced,storedinaretrievalsystem,ortransmittedinanyformor
byanymeans,electronic,mechanical,photocopying,recording,scanning,orotherwise,exceptasper-
mitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior
writtenpermissionofthePublisher,orauthorizationthroughpaymentoftheappropriateper-copyfee
totheCopyrightClearanceCenter,Inc.,222RosewoodDrive,Danvers,MA01923,(978)750-8400,
fax (978) 750-4470, or on the web at www.copyright.com.Requests to the Publisher for permission
should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street,
Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/
permission.
LimitofLiability/DisclaimerofWarranty:Whilethepublisherandauthorhaveusedtheirbesteffortsin
preparingthisbook,theymakenorepresentationsorwarrantieswithrespecttotheaccuracyorcomplete-
nessofthecontentsofthisbookandspecificallydisclaimanyimpliedwarrantiesofmerchantabilityor
fitness for a particular purpose. No warranty may be created or extended by sales representatives or
writtensalesmaterials.Theadviceandstrategiescontainedhereinmaynotbesuitableforyoursituation.
Youshouldconsultwithaprofessionalwhereappropriate.Neitherthepublishernorauthorshallbeliable
foranylossofprofitoranyothercommercialdamages,includingbutnotlimitedtospecial,incidental,
consequential,orotherdamages.
Forgeneralinformationonourotherproductsandservicesorfortechnicalsupport,pleasecontactour
Customer Care Department within the United States at (800) 762-2974, outside the United States at
(317)572-3993orfax(317)572-4002.
Wileyalsopublishesitsbooksinavarietyofelectronicformats.Somecontentthatappearsinprintmay
notbeavailableinelectronicformats.FormoreinformationaboutWileyproducts,visitourwebsiteat
www.wiley.com.
LibraryofCongressCataloging-in-PublicationData:
Laird,LindaM.,1952-
Softwaremeasurementandestimation:apracticalapproach/LindaM.Laird,M.CarolBrennan.
p.cm
Includesbibliographicalreferencesandindex.
ISBN0-471-67622-5(cloth)
1.Softwaremeasurement.2.Softwareengineering. I.Brennan,M.Carol,1954- II.Title.
QA76.76.S65L352006
005.104--dc22 2005028945
PrintedintheUnitedStatesofAmerica
10 9 8 7 6 5 4 3 2 1
For my Mom and Dad—LML
To my family, JB,Jackie, Colleen, Claire, and Spikey—your supporthasalways
been beyond measure. And tomy mother, who I’msure issmiling down ather
“mathematical”daughter.—MCB
Contents
Acknowledgments xv
1. Introduction 1
1.1 Objective / 1
1.2 Approach / 2
1.3 Motivation / 3
1.4 Summary / 5
References / 6
2. Whatto Measure 7
2.1 Method1: TheGoalQuestionMetricsApproach / 9
2.2 Method2: Decision Maker Model / 10
2.3 Method3: Standards Driven Metrics / 10
2.4 Extension toGQM: Metrics Mechanism / 11
2.5 What to Measure Is aFunctionof Time / 12
2.6 Summary / 12
Problems / 13
Project / 13
References / 13
vii
viii CONTENTS
3. Measurement Fundamentals 15
3.1 Initial Measurement Exercise / 15
3.2 TheChallenge of Measurement / 16
3.3 Measurement Models / 16
3.3.1 Text Models / 16
3.3.2 Diagrammatic Models / 18
3.3.3 AlgorithmicModels / 18
3.3.4 Model Examples:Response Time / 18
3.3.5 The Pantometric Paradigm: How to
Measure Anything / 19
3.4 Meta-Model for Metrics / 20
3.5 ThePowerof Measurement / 21
3.6 Measurement Theory / 22
3.6.1 Introductionto MeasurementTheory / 22
3.6.2 MeasurementScales / 23
3.6.3 Measuresof Central Tendency and Variability / 24
3.6.3.1 Measuresof Central Tendency / 25
3.6.3.2 Measuresof Variability / 25
3.6.4 Validity and Reliability ofMeasurement / 27
3.6.5 MeasurementError / 28
3.7 Accuracy Versus Precision andthe Limits of
Software Metrics / 30
3.8 Summary / 31
Problems / 31
Projects / 33
References / 33
4. Measuring Size 34
4.1 Physical Measurements ofSoftware / 34
4.1.1 Measuring Lines of Code / 35
4.1.2 LanguageProductivity Factor / 35
4.1.3 Counting Reused andRefactored Code / 37
4.1.4 Counting NonproceduralCode Length / 39
4.1.5 Measuring the LengthofSpecifications and Design / 39
4.2 Measuring Functionality / 40
4.2.1 Function Points / 41
4.2.1.1 Counting Function Points / 41
4.2.1.2 Function Point Example / 45