calidad en el desarrollo de software - introducciónprf/teaching/sq07/clase2.pdf · la composición...

16
Calidad y control de proyectos Teoría representacional de las mediciones Escalas Métricas Resumen Calidad en el Desarrollo de Software Introducción Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre 2007 Pablo R. Fillottrani Calidad en el Desarrollo de Software Calidad y control de proyectos Teoría representacional de las mediciones Escalas Métricas Resumen Introducción Misura ciò che è misurabile, e rendi misurabile ciò che non lo è Galileo Galilei Pablo R. Fillottrani Calidad en el Desarrollo de Software Calidad y control de proyectos Teoría representacional de las mediciones Escalas Métricas Resumen Introducción - Resumen 1 Calidad y control de proyectos 2 Teoría representacional de las mediciones 3 Escalas 4 Métricas 5 Resumen Pablo R. Fillottrani Calidad en el Desarrollo de Software Calidad y control de proyectos Teoría representacional de las mediciones Escalas Métricas Resumen Calidad Modelos y Factores de Calidad Calidad en el Proceso de Desarrollo de Software Medidas Definición de Calidad posibles definiciones propiedad de ser adecuado para un propósito (diccionario) conjunto de características de un producto o una actividad que lo relacionan con la satisfacción de los requerimientos dados (Deutsches Institut für Normung) totalidad de las propiedades de un producto o servicio que lo refieren a la satisfacción de las necesidades dadas (American National Standards Institute) Pablo R. Fillottrani Calidad en el Desarrollo de Software

Upload: trannga

Post on 20-Sep-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Calidad en el Desarrollo de SoftwareIntroducción

Pablo R. Fillottrani

Depto. Ciencias e Ingeniería de la ComputaciónUniversidad Nacional del Sur

Segundo Cuatrimestre 2007

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Introducción

Misura ciò che è misurabile, e rendi misurabile ciò che nonlo è

Galileo Galilei

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Introducción - Resumen

1 Calidad y control de proyectos

2 Teoría representacional de las mediciones

3 Escalas

4 Métricas

5 Resumen

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

CalidadModelos y Factores de CalidadCalidad en el Proceso de Desarrollo de SoftwareMedidas

Definición de Calidad

posibles definicionespropiedad de ser adecuado para un propósito (diccionario)conjunto de características de un producto o una actividad que lorelacionan con la satisfacción de los requerimientos dados(Deutsches Institut für Normung)totalidad de las propiedades de un producto o servicio que lorefieren a la satisfacción de las necesidades dadas (AmericanNational Standards Institute)

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

CalidadModelos y Factores de CalidadCalidad en el Proceso de Desarrollo de SoftwareMedidas

Definición de Calidad del Software (I)

según estándares IEEE 1983la totalidad de características de un producto de software que lorefieren a su abilidad de satisfacer las necesidades dadas, porejemplo la conformidad con los requerimientosel grado en el cual un software posee una combinación deatributos deseadael grado en el que un cliente o usuario precibe que el softwarecumple con sus expectativasla composición de características del software que determinan elgrado con el cual el software cumplirá con las expectativas delcliente

se basa en combinación de atributos o características (?),expectativas de clientes (?) y percepciones del usuario (?)

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

CalidadModelos y Factores de CalidadCalidad en el Proceso de Desarrollo de SoftwareMedidas

Definición de Calidad de Software (II)

ISO 9001 (1994)un producto de alta calidad es uno que conlleva un conjunto defactores de calidad. Estos factores pueden ser descriptos en laespecificación de requerimientos; pueden ser culturales, o seaque se espera que normalmente esten asociados con el productomediante familiriadad de uso; o pueden ser factores de calidadque el desarrollador considere importante aunque no esten en losrequerimientos del cliente o en las expectativas de usuarios

definición modernaes el grado en el que el producto de software incorpora unconjunto deseable, y definido por la industria, de característicasde manera de aumentar su perfomance a lo largo de todo sutiempo de uso

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

CalidadModelos y Factores de CalidadCalidad en el Proceso de Desarrollo de SoftwareMedidas

Modelos de Calidad del Software

modelo de McCall (1976)

modelo de Boëhm (1978)

modelo de Ghezzi (1991)

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

CalidadModelos y Factores de CalidadCalidad en el Proceso de Desarrollo de SoftwareMedidas

Factores de Calidad de Software

dependen del modelo, generalmente divididos en externos einternosejemplos

eficienciaconfiabilidadusabilidaddocumentaciónportabilidadcorrectitudextendibilidad

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

CalidadModelos y Factores de CalidadCalidad en el Proceso de Desarrollo de SoftwareMedidas

la calidad del software involucra previsibilidad en su desarrollo

el control de un proyecto se da cuando se asegura el mínimo desorpresas en el caminopara el control entonces es necesario

administrar el proyecto para que su performance este osobrepase los estandares razonables y aceptadosasegurar que las expectativas originales no sobrepasen lo que esposible de realizar en un proyecto normal

para identificar estas incógnitas es necesario entrar en el campode las métricas

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

CalidadModelos y Factores de CalidadCalidad en el Proceso de Desarrollo de SoftwareMedidas

¿Para qué medir?

los gerentes de proyecto miden atributos del proceso y delproducto poder responder:

¿cuando el software estará disponible?¿será cumplido el presupuesto o no?

los clientes expertos miden los aspectos del producto final paradeterminar si sus requerimientos fueron satisfechos

los encargados de mantenimiento miden el producto actual parasaber qué debe mejorarse o actualizarse

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

CalidadModelos y Factores de CalidadCalidad en el Proceso de Desarrollo de SoftwareMedidas

Medidas cotidianas

economía: determinan variaciones de precios y salarios

medicina: permiten a los doctores diagnosticar enfermedades

meteorología: permiten predecir el tiempo

sin medidas no puede funcionar la tecnología

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

CalidadModelos y Factores de CalidadCalidad en el Proceso de Desarrollo de SoftwareMedidas

¿Qué es una medida?

medición es el proceso por el cual se asignan números osímbolos a atributos de entidades del mundo real para que lodescriban de acuerdo a reglas definidas claramente

entidad es un objeto o evento del mundo real

atributo es una propiedad de una entidad

entonces se miden atributos de entidadeslos números y símbolos utilizados son abstracción que

usamos para reflejar nuestra percepción del mundo realpreservan las relaciones que observamos entre las entidades

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

CalidadModelos y Factores de CalidadCalidad en el Proceso de Desarrollo de SoftwareMedidas

Medir

la idea de medición hace los conceptos más visibles y por lotanto más comprensibles y controlables

el debate de cómo medir ya permite mayor comprensiónexisten dos clases de cuantificaciones:

medición es una cuantificación directacálculo es una cuantificación indirecta. Se toman las medidas y secombinan en un ítem cuantificado que refleja algún atributo

ejemplos: medir una habitación, calcular la valuación de una casa

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

CalidadModelos y Factores de CalidadCalidad en el Proceso de Desarrollo de SoftwareMedidas

Objetivos de medir el software

para los gerentes¿Cuánto cuesta este proceso?¿Qué productividad tiene el personal?¿Cuánto de bueno es el producto desarrollado?¿Estará el usuario satisfecho?¿Cómo se puede mejorar?

para los ingenieros de software¿Podemos verificar los requerimientos?¿Hemos encontrado todos los errores?¿Hemos cumplido los objetivos?¿Qué pasará en el futuro?

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

CalidadModelos y Factores de CalidadCalidad en el Proceso de Desarrollo de SoftwareMedidas

Objetivos de medir el software

en resumen, las medidas nos ayudan a:comprender lo que sucede durante el desarrollo y mantenimientocontrolar proyectosmejorar productos y procesos

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

CalidadModelos y Factores de CalidadCalidad en el Proceso de Desarrollo de SoftwareMedidas

Alcance de las métricas de software

estimación de Costo y Esfuerzo - modelos COCOMO, SLIM, deAlbrecht

medidas y modelos de productividad

medidas y modelos de calidad

modelos de confiabilidad

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Teoría representacional de las mediciones

en cualquier actividad de medición, hay reglas a seguir

las reglas nos ayudan a ser consistentes con nuestrasmediciones, y nos proveen una base para la interpretación de losdatos

la teoría de medición nos dice las reglas

dependiendo del conjunto de reglas elegidas, existen distintasteorías

se presentará la teoría representacional de mediciones que tratade formalizar nuestra intuición sobre la forma en que funcionanlas cosas

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Relaciones

las medidas deberían representar atributos de las entidades queobservamos

la manipulación de estos datos deberían preservar las relacionesque observamos

nuestra intuición es el punto de partida para todas las mediciones

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Ejemplo de relaciones

para aprender sobre altura, podemos decir que A es más altoque B sin medirlos

en general, definimos una relación binaria ”más alto quet’t’ en elconjunto de pares de personas

dadas cualesquiera dos personas, x e y, podemos observar que xes más alto que y o y es más alto que x

entonces más alto que es una relación empírica para altura

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Relaciones empíricas

una relación empírica es aquella para la cual hay un consensorazonable acerca de qué tuplas de elementos están en la relación

las relaciones empíricas no necesariamente son binarias,pueden ser unarias o de grado > 2

ejemplo de relación unaria: es alto

estas relaciones son mapeos del mundo real, empírico, a unmundo matemático formal. El mapeo matemático debe preservarlas relaciones que observamos

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Mediciones

formalmente se define medición como un mapeo del mundoempírico a un mundo formal, relacional

una medida es el número o símbolo asignado a una entidad poreste mapeo en orden a caracterizar un atributo

algunas veces, las mediciones no son exactas. Dependen decaracterísticas subjetivas de la persona que realiza laclasificación

ejemplo: la tarea de catar vinos - se realiza una aseveraciónsubjetiva, pero el resultado no es necesariamente una medida,en el sentido de la teoría de las mediciones

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Propiedades de una medición

la medición debe especificar el dominio, el rango y las reglaspara realizar el mapeo

el dominio se encuentra en el mundo real, y el rango en el mundomatemático

regla: el mapeo debe preservar la relación. Esta regla se llamarepresentación u homomorfismo

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Regla de la representación

El mapeo debe preservar la relación

cuando se verifica la regla de representación, se puede definir almapeo como una medida para el atributoesto asegura que un mapeo de medición debe:

mapear entidades en númerosmaper relaciones empíricas en relaciones numéricas

de tal manera que las relaciones empíricas preserven y seanpreservadas por las relaciones numéricas

por ejemplo A es más alto que B si y solo si M(A) > M(B)

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Proceso de definición de una medida

1 identificar atributos para algunas entidades del mundo real2 identificar la relación empírica para cada atributo3 identificar la relación numérica correspondiente a cada relación

empírica4 definir el mapeo de las entidades del mundo real a números5 chequear que las relaciones numéricas preservan y son

preservadas por la relación empírica

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Modelo

un modelo es una abstracción de la realidad, que permiteabstraer detalles y visualizar una entidad o concepto desde unaperspectiva particular

el modelo del mapeo debería suplementarse con un modelo deldominio del mapeo, es decir con un modelo de cómo serelacionan las entidades con sus atributos

ejemplo: para medir la longitud de un programa necesitamos unmodelo del programa

en el proceso de mediciones existe un peligro: focalizardemasiado en el sistema matemático formal y no lo suficiente enel empírico

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Medidas directas e indirectas

medidas directas en Ingeniería de Softwarelongitud de código fuente (LOC)duración del proceso de testeo (horas)número de defectos descubiertos durante el testeo (número dedefectos)

medidas indirectas en Ingeniería de Softwareproductividad de programadores (LOC/unidad de tiempo) U esconflictivadensidad de defectos (número de defectos/tamaño)eficiencia en detección de errores (número de defectosdetectados/número de defectos)

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Utilidad de los modelos

cuando se habla de medición se presume que se calcula sobreuna entidad existente

en algunos casos necesitamos predecir un atributo de unaentidad que no existe

ejemplo: confiabilidad de un producto

la diferencia entre medición para asegurar y predicción nosiempre es clara. Ejemplo: un viaje en auto.

las mediciones para predicción siempre requieren alguna clasede modelo matemático que relacione los atributos a predecir conalgún otro atributo de una entidad existente que se pueda medir

los modelos no necesitan ser complejos para ser útiles

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Estimación de esfuerzos

la estimación del esfuerzo es universalmente necesaria para loslíderes de proyecto

ejemplo: predecir la cantidad de páginas de un listado de unprograma fuente: paginas= LOC/lineasPorPagina

un sistema de estimación o predicción consiste de un modelomatemático junto con un conjunto de procedimientos depredicción para determinar parámetros desconocidos y parainterpretar resultados

algunas veces el mismo modelo es usado para evaluar y parapredecir

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Ejemplo de estimación

ejemplo: predecir el costo de un viaje en auto de Concordia aBuenos Airesse comienza por obtener algunas medidas

d la distancia entre Concordia y Buenos Airesg el costo del litro de gasoill el promedio de distancia que se recorre con un litro de gasoil enmi auto

se puede estimar el costo del viaje como

costo = d ∗g/l

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

RelacionesMedicionesModelosEstimaciones

Modelo para estimación

se usa un sistema de estimación que incluyeun modelo, la fórmula costo = d ∗g/lun conjunto de procedimientos para determinar los parámetrosdel modelo, ie cómo determinamos los valores d , g y lprocedimientos para interpretar los resultados, por ejemplopodemos determinar una función de probabilidades paradeterminar el margen de error

aún usando el mismo modelo se pueden lograr distintosresultados si se utilizan procedimientos de estimación diferentes

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Escalas

no todos los mapeos de mediciones son iguales. Las diferenciasentre los mapeos pueden restringir la clase de análisis que sepuede realizar.

una escala de medición esta dada por el mapeo de medición M,junto con el sistema de relación numérica

el sistema de relación numérica, dado por el dominio y el rango,muchas veces son obvios a partir del contexto

a menudo nos referimos sólo a M como la escala.

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Tipos de escalas

1 nominal2 ordinal3 de intervalos4 de razones (ratios)5 absoluta

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

un sistema relacional se dice más rico que otro, si todas lasrelaciones del segundo están contenidos en el primero

los tipos de escala mencionados, están enumerados en ordencreciente de niveles de riqueza.

cuanto más rico es el sistema de relación empírico, másrestrictivo es el conjunto de representaciones, y por lo tanto, mássofisticada la escala de medición

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

la idea detrás de las definiciones formales de tipos de escala essimple: tenemos una medida satisfactoria para un atributo, conrespecto a un sistema de relación empírico

queremos saber qué otras medidas existen que sean tambiénaceptables

ejemplo: medimos la longitud de objetos físicos en pulgadas.Existen otras medidas aceptables: cm., pies, millas, etc.

un mapeo de un sistema de medición aceptable a otro sistemade medición se denomina transformación admisible

ejemplo: en mediciones de longitud, la clase de transformacionesadmisibles es restrictiva, y son de la forma M ′ = a∗M

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Escala nominal

se definen clases o categorías, y luego se ubica a cada entidaden una clase o categoría particularla escala nominal tiene 2 características importantes:

el sistema de relación empírico consiste sólo de diferentes clases,no existe noción de orden entre las clasescualquier representación de distinción numérica o simbólica delas clases es una medida aceptable, pero no hay noción demagnitud asociada con los números o símbolos

la medición de escala nominal ubica los elementos en unesquema de clasificación

las clases no están ordenadas

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Ejemplo de escala nominal I

deseamos estudiar el origen de los errores detectados en elsoftware

la escala de medición tiene a los errores como entidades y laubicación como atributo

el mapeo para determinar la ubicación será:especificación, diseño o codificacióndependiendo de dónde fue introducido el error

un error puede pertenecer sólo a una clase

M(x) =

1 si x es error de especificación2 si x es error de diseño3 si x es error de codificación

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Ejemplo de escala nominal II

la siguiente es también una medida aceptable:

M ′(x) =

1 si x es error de especificación

99,49 si x es error de diseño300 si x es error de codificación

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Escala ordinal

a menudo, es útil aumentar la escala nominal con información deorden de las clases o categoríasla escala ordinal tiene las siguientes características:

el sistema de relación empírica consiste de clases que estánordenadas con respecto al atributocualquier mapeo que preserve el ordenamiento es aceptablelos números sólo representan un ranking, un ordenamiento

no tienen sentido las operaciones matemáticas de suma, resta,multiplicación y división

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Ejemplo de escala ordinal I

el conjunto de entidades es un conjunto de módulos de softwarey el atributo a medir es la complejidad

podemos definir 5 clases de complejidad de módulos: trivial,simple, moderado, complejo e incomprensible

existe un orden implícito que es menos complejo que

en este caso, el mapeo de medición debe preservar el orden

cualquier mapeo M debería ser una función creciente

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Ejemplo de escala ordinal II

medidas aceptables:

M(x) =

1 si x es trivial2 si x es simple3 si x es moderado4 si x es complejo5 si x es incompr.

M ′(x) =

1 si x es trivial2 si x es simple

30 si x es moderado98 si x es complejo765 si x es incompr.

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Ejemplo de escala ordinal III

medidas no aceptables:

M ′′(x) =

1 si x es trivial1 si x es simple3 si x es moderado4 si x es complejo5 si x es incompr.

M ′′′(x) =

1 si x es trivial2 si x es simple

30 si x es moderado4 si x es complejo

25 si x es incompr.

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Escala de intervalos

esta escala captura información sobre el tamaño de los intervalosque separan las clases, de tal forma que permita comprender dealguna manera, la magnitud del salto de una clase a la otrala escala de intervalos tiene las siguientes características:

preserva el orden, al igual que una escala ordinalpreserva diferencias, pero no razones - conocemos las diferenciasentre cualquier par de clases ordenadas en el rango de mapeo,pero no tiene sentido calcular la razón entre dos clases

la suma y la resta son aceptables, pero no las operaciones demultiplicación y división

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Ejemplo 1 de escala de intervalos

se desea medir la complejidad, al igual que en el caso anteriorse asume que la diferencia de complejidad entre trivial y simple,es la misma que entre simple y moderada y entre complejo eincomprensiblepero la diferencia entre moderado y complejo es mayor que lasanteriorescualquier medida de intervalos debe preservar estas diferencias.Una medida aceptable podría definirse como:

M(x) =

0 si x es trivial2 si x es simple4 si x es moderado7 si x es complejo9 si x es incomprensible

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Ejemplo 2 de escala de intervalos

medición de temperatura: se miden 20oC de temperatura enConcordia y 30oC en Salta

el intervalo de un grado es el mismo, si la temperatura aumentade 20oC a 21oC en Concordia, el calor aumenta de la mismamanera que si subiera de 30oC a 31oC en Salta

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Transformación afin

supongamos que un atributo es medible en esta escala, y M,M ′

son mapeos que satisfacen la condición de representación

entonces, siempre podemos encontrar números a y b tal queM = a∗M ′ +b

este tipo de transformación se denomina transformación afín

ejemplo: podemos transformar los grados Celsius a Fahrenheitutilizando la ecuación:

F = 9/5∗C +32

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Escala de razones

provee más información que la escala de intervalos

ejemplo: se necesita saber que un proyecto consume dos vecesmás recursos que otro, o que un procesador es el doble deeficiente que otro

en estos casos, se puede utilizar la escala de razones (ratios)la escala de ratios tiene las siguientes características:

es un mapeo de medición que preserva el ordenamiento, eltamaño de los intervalos entre entidades, y las razones entreentidadesexiste un elemento cero que representa la falta total del atributoel mapeo de medición debe comenzar en cero y aumentar aintervalos iguales, conocidos como unidades

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Escala de razones

se pueden aplicar operaciones aritméticas que tengan algúnsignificado entre las clases en el rango del mapeo

la diferencia fundamental con las escalas anteriores, es que enesta existe una relación empírica que captura cocientes

ejemplo: la longitud de objetos físicos es medible en una escalade ratios, permitiendo hacer enunciados que un objeto es eldoble de largo que otro. Podemos medir en cm, metros, etc.

en general, cualquier transformación posible para esta escala, esun mapeo de la forma M = a∗M ′, donde a > 0 es un escalar

el tipo de transformación se llama transformación escalar

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Ejemplo de escala de razones

la longitud del código es medible en una escala de razones

existe la relación empírica: dos veces más largo

existe la noción del elemento cero: un código vacío

podemos medir la longitud del código de varias maneras: LOC,KLOC

supongamos que M es la medida en LOC, y M ′ es la medida encantidad de caracteres

podemos transformar M a M ′ mediante M = a∗M ′, donde a es elpromedio de caracteres de una línea de código

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Escala absoluta

la escala absoluta es la más restrictiva de todas

para dos medidas M y M ′ existe una única transformaciónposible: la transformación identidad

existe una sola forma en la que la medida se puede tomarla escala absoluta tiene las siguientes características:

la medida se hace simplemente contando el número deelementos en el conjunto de entidadessiempre tiene la forma número de ocurrencias de x en la entidadexiste sólo una medida posible: la cuenta realtodos los análisis aritméticos del resultado son significativos

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Tipos de escalasEscala nominalEscala ordinalEscala de intervalosEscala de razones

Ejemplos de escala absoluta

número de errores observados durante la etapa de testeo

número de personas asignadas a un proyecto

longitud de un programa en LOC ??? Es un error medir LOC conuna escala absoluta - Existen muchas formas de medir lalongitud de un program: LOC, KLOC, caracteres,...

LOC es una medida de escala absoluta del atributo número delíneas de código de un programa

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

DefiniciónCaracterísticasProceso de proyección de costos

Métricas

desde el momento en que uno asocia un número a una idea, seha aprendido algo más

una métrica es una indicación medible de algún aspectocuantificable de un sistema

aspecto cuantificable de un sistema: alcance, riesgo, costo,tiempocaracterísticas de una métrica útil:

medibleindependientecontrolableprecisa

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

DefiniciónCaracterísticasProceso de proyección de costos

Características: medible

medible: el indicador debe ser medible para considerarlo unamétrica

si un factor es no medible es no cuántico

definida una métrica, se debe estimar su valor antes deobservarlo

la diferencia entre la métrica no medida y un no cuántico, es quela métrica es escalable en forma uniforme, es mejorable, yresoluble por observaciones

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

DefiniciónCaracterísticasProceso de proyección de costos

Características: independiente

debe ser independiente de la influencia consciente del personaldel proyecto

es independiente en la medida en que no se pueda cambiarsalvo por avances del proyecto

ejemplo: la entrega de documentos, no es independiente

principio de incertidumbre: el medir cualquier parámetro yasociarlo con evidencia significativa afectará la utilidad del mismo

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

DefiniciónCaracterísticasProceso de proyección de costos

Características: controlable

la recolección y el análisis de datos de métricas es una actividadsujeta a error

se deben guardar los datos crudos así como pistas de auditoría odatos de control: fecha de la medición, identidad del observador,autor de la tarea, etc

se deben analizar los datos observables en tiempo de tal manerade poder realizar correcciones en el proceso

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

DefiniciónCaracterísticasProceso de proyección de costos

Características: precisión

la precisión de las métricas, no debe ser maximizada, sinoexplícitamente señalada y registrada como parte de los datosrecolectados

la precisión puede indicarse como un rango, una toleranciaexplícita o especificando el método de recolección de datos

ejemplo: la longitud promedio de segmentos de códigosecuencial en el sistema XYZ es de 12.5 instrucciones

la observación se realizó en una muestra de módulos entre 1000y 6000 líneas de código

los módulos incluidos pertenecen al subsistema XY1

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

DefiniciónCaracterísticasProceso de proyección de costos

Resultados y predictores

las métricas pueden clasificarse en: resultados y predictores

resultado: es una métrica de costo, alcance o complejidadobservada de un sistema terminado

provienen de una exhaustiva y metódica recolección de datos delproyecto

ejemplo: costo total, total de esfuerzo (manpower)

predictor: es un métrica señalada en forma temprana, que tieneuna fuerte correlación con algún resultado posterior

provienen de los modelos de especificación del sistema

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

DefiniciónCaracterísticasProceso de proyección de costos

Proceso de proyección de costos

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

DefiniciónCaracterísticasProceso de proyección de costos

Ventajas del proceso

el modelo se puede publicar. Pueden colaborar otras personas

las características cuantitavivas en un modelo público se puedenextraer de manera consistente

imposible en un modelo intuitivo

el modelo empírico puede crecer

los participantes pueden aportar datos.

los datos se pueden recolectar por personas ajenas al proyecto.

se puede automatizar la parte de cálculo fuera de lasproyecciones de costos

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

DefiniciónCaracterísticasProceso de proyección de costos

Factor de calidad de la estimación

Factor de calidad de la estimación (FCE)

antes de que un predictor pueda ser observado, puede serestimado

el recolectar nuevos predictores, provee una oportunidad paraproducir predicciones más exactas

esto se muestra en el gráfico de la transparencia siguiente

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

DefiniciónCaracterísticasProceso de proyección de costos

Uso de predictores para mejorar FCE

Pablo R. Fillottrani Calidad en el Desarrollo de Software

Calidad y control de proyectosTeoría representacional de las mediciones

EscalasMétricas

Resumen

Resumen

las métricas son necesarias para la administración de proyectosde software

existen muchas posibles métricas, no existe un conjunto ideal demétricas

las métricas pueden ser calibradas de acuerdo a la experienciadel administrador del proyecto

las métricas pueden ser estimadas para predecir costos yesfuerzo

Pablo R. Fillottrani Calidad en el Desarrollo de Software