calidad en el desarrollo de software - introducciónprf/teaching/sq07/clase2.pdf · la composición...
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