Métricas del Software
•Métricas 
•Algunos estándares 
•SQM 
•GQM 
Contenido
•Estándares mencionados en clase 
•Jones,Bonsignour. TheEconomicsof Software Quality 
•Naik. Software Testing and QualityAssuranceTheoryand Practice. Wiley 
•El Emam. TheROI fromSoftware Quality. AuerbachPublications 
•Lewis, William E. Software testing and continuousqualityimprovement2nd ed. AuerbachPublications 
•Material Profesor Rafael David Rincón, Universidad EAFIT 
Bibliografía
Cuando hablan de calidad de software siempre sacan el mismo dibujo una y otra vez…
IEEE 610.12 Software EngineeringTerminology•Métrica:Unamedidacuantitativadelgradoenqueunsistema,componenteoprocesoposeeunatributodeterminado. •MétricadeCalidad:Unamedidacuantitativadelgradoenqueunítemposeeunatributodecalidaddeterminado. •MedidaoMedición:Procesodeasignarnúmerososímboloslosatributosdelasentidadeselmundorealparacaracterizarlosatributosconreglasclaramenteestablecidas.
IEEE 610.12 Software EngineeringTerminologyUnidades de Medida 
Elementos utilizados para evaluar o tasar los atributos, como por ejemplo: 
•Horas persona de esfuerzo. 
•Líneas de código 
•Cantidad de dinero gastado, etc
IEEE 610.12 Software EngineeringTerminologyValores (de las unidades de Medida) 
Medidadeunatributoparaunaentidadespecíficaenunaunidadespecífica. 
Porejemplo: 
•200 Horas persona (de esfuerzo.) 
•1500 Líneas de código 
•US$300.000 gastados, etc
Estándares y Modelos involucrados en la medición
Estándares y Modelos involucrados en la medición•ISO/IEC9126(SoftwareProductQuality) •ISO/IEC14598(SoftwareProductEvaluation). •ISO/IEC15504(softwareprocessassessment) •ISO/IEC15939(SoftwareEngineering-SoftwareMeasurementProcess)-Internationalstandardthatdefinesameasurementprocessforsoftwaredevelopmentandsystemsengineering.) •ISO/IEC25010(SoftwareproductQualityRequirementsandEvaluation(SQuaRE))
¿ Qué medir ? •PropiedadesdelsoftwaresegúnISO25010.3
¿ Qué medir ? MedicionesexternasdelsoftwaresegúnISO25000
¿ Qué medir ? MedicionesinternasdelsoftwaresegúnISO25000
¿Cómo medir? Dos enfoques para medición y derivación de métricas 
•Software-QualityMetric 
•Goal-QuestionMetric
Modelocuyapremisasebasaenquelamedicióndelsoftwaredeberealizarsedemaneraindirecta. 
AlgunosModelosde referencia: 
•Gilb 
•McCall 
•Bohem 
•FURPS(HewlettPackard) 
•ISO/IEC9126 
•CUPRIMDSO(IBM) 
SQM
Sebasaenunsupuestofundamental:lacalidaddelsoftwareseconoceyestáclaramentedefinida. 
•Silacalidadnoestábiendefinida,suevaluaciónsóloesintuitiva. •Calidad:Gradoenqueelprocesooproductoposeeunacombinacióndeseadadeatributos. 
FuecreadoporIEEEcomoherramientadeapoyoalmejoramientodelacalidaddelprocesodedesarrollodesoftware(compra,uso,soporte,mantenimientoyauditoría),apartirdelapropuestadeMcCall. 
SQM
Pasosclaves: 
•Primero:Definirlacalidadconbaseenunalistadeatributosdecalidadacumplir. 
•Segundo:Definirlalistademétricasparaevaluarelcumplimientodetalesatributos 
SQM
SQM
•FuecreadoparaevaluardefectosenunconjuntodeproyectosdelNASAGoddardSpaceFlightCenter. 
•GeneradoapartirdelasexperienciasdeVictorBasiliyDieterRombach,enlaUniversidaddeMaryland. 
•AdoptadoymejoradoporelSoftwareEngineeringInstitute,delaCarnegieMellonUniversity,Pittsburgh, USA. 
GQM
Características 
•Relacionalasactividadesdemediciónconlacuantificacióndelosprocesos,losproductosylosrecursos,paratomardecisionesquepermitancumplirlosobjetivosdelosproyectos. 
•Laclaveesconsideraryevaluarelambientedelproyecto,demaneraquepermitaalinearlasmedicionesconlosobjetivosdenegocios. 
•Losproyectosdebenidentificarmétricasyprocedimientosdemediciónadecuadosorientadosalcumplimientodetalesobjetivos. 
GQM
Nivelesdeenfoque 
GQM
•Sedefinenlasmetasparaunobjeto,porunavariedadderazones, conrespectoaunoomásparámetrosdecalidad,desdevariospuntosdevistayrelativosaunambienteenparticular. 
Definición de las metas en el Nivel Conceptual
Especificaciónde lasmetas
•<Caracterizar,evaluar,predecir,monitorear,motivar, incrementar,reducir,alcanzar,estabilizar,etc.>el<resultado,desempeño,estado,avance,retroceso, etc.>del<proceso,producto,modelo,medición,etc.> conelfinde<planificarlo,controlarlo,comprenderlo, evaluarlo,administrarlo,aprenderlo,etc.> 
Ejemplo: 
•Evaluarlosresultadosdelametodologíadepruebasconelfindemejorarla. 
Meta Genérica
•Productos: 
Artefactos,entregables,documentos,etc.,elaboradosduranteelciclodevidadelsistema. 
Ejemplo:especificaciones,diseño,programaciónypruebas. •Procesos: 
Engeneral,actividadesrelacionadascontiempo. 
Ejemplo:especificación,diseño,pruebas,entrevistas,etc., •Recursos: 
Ítemsusadosporlosprocesosparaproducirresultados. 
Ejemplo:personal,hardware,software,espaciofísico,etc.. 
Objetos
•Comprender,predecir,planificar,controlar, comparar,evaluaromejoraralgúnaspectodelacalidadolaproductividaddeunobjeto. 
Ejemplosdeaspectosaconsiderar: 
•costo, 
•tamaño, 
•confiabilidad, 
•trazabilidad, 
•calidad, 
•satisfaccióndelcliente, 
•conformidad, 
•time-to-market,etc. 
Propósitos
Identifican: 
•quiénestáinteresadoenlosresultadosdelasmediciones, 
•elpuntodevistaprincipalpuntodevistaqueguiarálasactividadesdemedición; 
Porejemplo: 
•desarrolladores, 
•administradores, 
•clientes, 
•usuarios,etc. 
Porejemplo,mejorarlaproductividadpuedesignificar: •paraunIngenierodeSoftware:incrementarlacantidaddecódigoproducidoporhora; •paraelJefedeproyectos:mantenerelproyectoatiempo; •paraelgerentegeneral:incrementarlasgananciasyelROI 
Perspectivas
Especificación tridimensional de las metas
Activas:dirigidasacontrolarlosprocesosorealizarcambiosalosproductos,losprocesos,losrecursosoalambiente. 
•Comunesenlasactividadesdeadministracióndeproyectosymejoradeprocesos. 
•Relacionadasconlosobjetivosdeevaluaciónymejoradelasmétricas. Pasivas:dirigidasalacomprensiónyelaprendizaje. 
•Comunesalosmodelosdecalidadyproductividad. 
•Relacionadasconlosobjetivosdecaracterizaciónyprediccióndelasmétricas. 
Tiposde Metas
Tiposde Metas
Identifican: 
•quiénestáinteresadoenlosresultadosdelasmediciones, 
•elpuntodevistaprincipalpuntodevistaqueguiarálasactividadesdemedición; 
Porejemplo: 
•desarrolladores, 
•administradores, 
•clientes, 
•usuarios,etc. 
Porejemplo,mejorarlaproductividadpuedesignificar: •paraunIngenierodeSoftware:incrementarlacantidaddecódigoproducidoporhora; •paraelJefedeproyectos:mantenerelproyectoatiempo; •paraelgerentegeneral:incrementarlasgananciasyelROI 
Perspectivas
Seplanteaunconjuntodeinterrogantes: 
•paracaracterizarlaformacomosealcanzaránlasmetas, 
•conbaseenmodelos(decalidad)específicos. 
Lasrespuestasaestasinterrogantespermitendeterminarsilametasehacumplido. 
Definiciónde interrogantes–niveloperativo
¿Cómosepuedecaracterizarelobjetorespectoalametaglobal? 
Tipo1 de preguntas
¿Cómosepuedecaracterizarlosatributosrelevantesdelobjetorespectoalparámetroespecífico? 
Tipo2 de preguntas
¿Cómosepuedeevaluarlascaracterísticasrelevantesdelobjetorespectodelpuntodevistaespecífico? 
Tipo3 de preguntas
•Objetivos:mejorarplazosdecumplimientodelosmantenimientos. 
•Solución: 
Ejemplosde interrogantes
•Identificarlasmedicionesarealizarquepodríandeterminarlasrespuestasalasinterrogantes. 
•Seasociaunconjuntodedatosconcadainterrogante,pararesponderlademaneracuantitativa. 
•Unamétricapuedeservirpararespondermásdeunainterrogante 
Definición de las métricas en el Nivel Cuantitativo
•Objetivos:sidependensólodelobjetomedido,ynodelpuntodevistadelamedición. 
•númerodeversióndeundocumento, 
•horaspersonausadasenunatarea, 
•tamañodeunprograma,etc. •Subjetivos:sidependentantodelobjetomedidocomodelpuntodevistadelamedición. 
•niveldesatisfaccióndelusuario, 
•legibilidaddeuntexto,etc. 
Características de los datos
Cantidadycalidaddelosdatosdisponible: 
•maximizandoelusodelasfuentesdedatosexistentes, 
•siestándisponiblesysonconfiables. 
Madurezdelosobjetosamedir,aplicando: 
•lasmedidasobjetivasalosobjetosmásmaduros, 
•lasmedidassubjetivasalosobjetosmásinformalesoinestables. 
Elprocesodeaprendizaje: 
•elmodelonecesitarefinamientoyadaptaciónconstante, 
•lasmedidasdebenayudaraevaluarlosobjetosyevaluarlaconfiabilidaddelmodelo 
Factores a considerar al asociar las métricas
•Objetivos:mejorarplazosdecumplimientodelosmantenimientos. 
•Solución: 
Ejemplo completo (I)
Ejemplo completo (II)
•Unamismamétricapuedeusarsepararespondervariosinterrogantesconlamismameta. 
•Variasmetaspuedentenerinterrogantesy/ométricasencomún. 
•Lasmétricaspuedentenerdiferentesvaloresalinterpretarsedesdedistintospuntosdevista. 
•Porejemplo,paraunaRevisióndePares,unademora: 
•PuedemedirempeñoycompromisoparaelJefedeProyecto. 
•PuedesignificarproblemasdecalidadparaelResponsabledelaCalidaddelProyecto 
Algunasconsideraciones
OJO:Sonmuyimportantes!! 
•ISO/IEC15939:2007 
Systemsandsoftwareengineering--Measurementprocess(update2012) 
•PracticalSoftwareandSystemsMeasurement(PSM)

software metrics (in spanish)