您好,欢迎访问三七文档
軟體品質管理Introduction•Whatissoftwarequality?•Howcanitbemeasured?–Howcanitbemeasuredbeforethesoftwareisdelivered?•Somekeyqualityfactors•SomemeasurableindicatorsofsoftwarequalityIntroduction•Thinkofaneverydayobject–e.g.achair–Howwouldyoumeasureit’s“quality”?•constructionquality?(e.g.strengthofthejoints,…)•aestheticvalue?(e.g.elegance,…)•fitforpurpose?(e.g.comfortable,…)•Allqualitymeasuresarerelative–thereisnoabsolutescale–wecansayAisbetterthanBbutitisusuallyhardtosayhowmuchbetter•Forsoftware:–constructionquality(建造的品質)?•softwareisnotmanufactured–aestheticvalue(美學上的價值)?•butmostofthesoftwareisinvisible•aestheticvaluemattersfortheuserinterface,butisonlyamarginalconcern–fitforpurpose?•Needtounderstandthepurpose軟體品質因素MeasuringQualityTheQualityConcepts(abstractnotionsofqualityproperties)MeasurableQuantities(definesomemetrics)CountstakenfromDesignRepresentations(realizationofthemetrics)usabilityminutestakenforsomeusertask???timetakentolearnhowtouse?complexitycountprocedurecalls???informationflowbetweenmodules?reliabilityrunitandcountcrashesperhour???meantimetofailure?examples...FourKeyQualityConcepts•Reliability–designermustbeabletopredicthowthesystemwillbehave:•completeness-doesitdoeverythingitissupposedtodo?(e.g.handleallpossibleinputs)•consistency-doesitalwaysbehaveasexpected?(e.g.repeatability)•robustness-doesitbehavewellunderabnormalconditions?(e.g.resourcefailure)•Efficiency–Useofresourcessuchasprocessortime,memory,networkbandwidth•Thisislessimportantthanreliabilityinmostcases•Maintainability–Howeasywillitbetomodifyinthefuture?•perfective,adaptive,corrective•Usability–Howeasyisittouse?McCall’sQualityFactorsoperationCorrectnessreliabilityusabilityintegrityefficiencyMaintainabilityFlexibilityTestabilityPortabilityReusabilityInteroperabilityGeneralutilityportabilityAs-isutilityMaintainabilityreliabilityefficiencyusabilitytestabilityunderstandabilitymodifiabilitydevice-independenceself-containednessaccuracycompletenessrobustness/integrityconsistencyaccountabilitydeviceefficiencyaccessibilitycommunicativenessself-descriptivenessstructurednessconcisenesslegibilityaugmentabilitySource:SeeBlum,1992,p176ProductoperationusabilityProductrevisionProducttransitionintegritymaintainabilitytestabilityreusabilityportabilityinteroperabilityoperabilitytrainingI/OvolumeAccesscontrolAccessauditStorageefficiencyconsistencyinstrumentationexpandabilitygeneralitySelf-descriptivenessmodularitymachineindependences/wsystemindependencecomms.commonalityefficiencycorrectnessreliabilityflexibilitycommunicatativenessI/OrateexecutionefficiencySource:SeevanVliet2000,pp111-3traceabilitycompletenessaccuracyerrortolerancesimplicityconcisenessdatacommonalityMeasurablePredictorsofQuality•Simplicity–thedesignmeetsitsobjectivesandhasnoextraembellishments–canbemeasuredbylookingforitsconverse,complexity:•controlflowcomplexity(numberofpathsthroughtheprogram)•informationflowcomplexity(numberofdataitemsshared)•namespacecomplexity(numberofdifferentidentifiersandoperators)•Modularity–differentconcernswithinthedesignhavebeenseparated–canbemeasuredbylookingat:•cohesion(howwellcomponentsofamodulegotogether)•coupling(howmuchdifferentmoduleshavetocommunicate)Qualityandhowtoachieveit•Productquality–alwaysanissue•AfterWWII,industryintheUSandelsewherehassubstantiallyimprovedqualityviaextensivetestingandstatisticalqualitycontrol•Japaneseindustryhasfollowedadifferentconcept,a.k.a.totalqualityinitiative(Deming,Juran),wherequalitycontrolisanintrinsicaspectoftheproductionprocess,notapost-productionactivity•Inotherwords,youshoulddesignthequalityproductandbuilditright,ratherthanbuilditandthenmakesureithasgoodqualitySEIandtheCapabilityMaturityModel•SoftwarequalityimprovementhasledtotheestablishmentoftheSoftwareEngineeringInstituteatCarnegie-MellonUniversity•CapabilityMaturityModel(CMM)aframeworktoassessthematuritylevelofanorganization’ssoftwaredevelopmentandmanagementprocesses•CMMconsistsoffivelevelsofmaturityasmeasuredbyasetofguidelinescalledthekeyprocessareas•Higherlevelsincreasecompetitiveness,reducerisk•Levelsaremonotonic:levelnincludesallthecharacteristicsofallthelevelsbelow,n-1,n-2,etc.CapabilityMaturityModelLevel5OPTIMIZEDLevel4MANAGEDLevel3DEFINEDLevel2REPEATABLERISKCOMPETITIVENESSLevel1INITIALLevel1—Initial•end…Softwaredevelopmentfollowsnoprescribedprocess•Youdon’tknowwhereyoustand,orwhenwillyoufinish,orwhatyouwillgetwhenyoufinish•YouhavetobehappywithwhatyougetattheSystemdevelopmentRequirementsImplementedsystemResourcesNoMonitoringNoControlLevel2—Repeatable•Projectmanagementprocessesandpracticesareestablished,inordertotrackprojectcosts,schedules,andfunctionality•Still,youjustpassivelytrackwhat’sgoingon…anddon’tknowexactlywhatyoushoulddoResourcesMonitoringbutNoControlSystemdevelopmentRequirementsImplementedsystemLevel3—Defined•Astandardsystemdevelopmentprocess(sometimescalleda“methodology”)purchasedordeveloped,andintegratedthroughouttheITunitoftheorganization•…whichmeansthatthereisaprescribedsequenceofstepstofollow,plusyoumonitortheoutcomesanalysisanddesignPersonnelTo
本文标题:软体品质管理
链接地址:https://www.777doc.com/doc-446611 .html