Sunteți pe pagina 1din 16

Page 1

Universidad Tcnica Federico Santa Mara


Departamento de Informtica
Ingeniera de Software Avanzada Ingeniera de Software Avanzada
Dr. Marcello Visconti Z.
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Rol de Rol de las Mediciones las Mediciones de Software de Software
Mediciones en Ingeniera de Software
mbito de Mtricas de Software
Clasificacin de Mediciones
Paradigma Goal Question Metric (GQM)
Mtricas Clsicas, Puntos de Funcin,
Orientadas a Objeto, Calidad, Productividad
Page 2
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Negligencias Negligencias de de medicin medicin en en
Ingeniera Ingeniera de software de software
No se establecen objetivos medibles para los productos
nuestro producto es amistoso, confiable y mantenible
No se comprenden y cuantifican los costos componentes
de los proyectos de software
No se cuantifica o predice la calidad de los productos
Nos autoconvencemos basndonos en evidencia
anecdtica
nuestra tcnica garantiza 100% confiabilidad
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Mediciones Mediciones de Software de Software
Preguntas bsicas
qu son las mediciones de software?
cmo hacer mediciones de software?
por qu hacer mediciones de software?
Motivacin
cmo asignar recursos de testing?
cmo mejorar la calidad del software que se produce?
cmo seleccionar contratistas?
cmo asignar recursos de mantencin?
cmo decidir cambios metodolgicos?
Page 3
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Qu es una medicin Qu es una medicin de de
software? software?
Asignacin de nmeros o smbolos a atributos de
entidades del mundo real en una forma significativa
ejemplos:
persona: talla, edad, peso, color de pelo, color de ojos, nmero de
zapato, sexo
salud: presin arterial, temperatura, pulso, nivel de colesterol,
peso
estudiante: notas, crditos, cursos tomados, especialidad
matemtica: , e
computador: marca, procesador, RAM, capacidad HD, velocidad,
perifricos
software: lneas de cdigo, errores, nmero de mdulos, velocidad
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Qu es una medicin Qu es una medicin de de
software? software?
Notas:
uso de nmeros y smbolos
algunos son fsicos, otros abstractos
preguntas dificles:
capturan estas mediciones adecuadamente las propiedades del
atributo?
son significativas?
tienen sentido?
concuerdan con nuestras percepciones?
Page 4
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Cmo hacer una medicin Cmo hacer una medicin de de
software? software?
Existen mediciones del proceso, producto
producto: defectos, LOC, nmero de mdulos, complejidad
proceso: defectos/KLOC, horas ingeniero/KLOC, defectos encontrados
durante el testing
preguntas:
qu mediciones recolectar?
pueden recolectarse?
manual o automticamente?
recoleccin disruptiva?
cul es el esfuerzo de recoleccin?
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Cmo usar las mediciones Cmo usar las mediciones de de
software? software?
Importante: antes de hacer ninguna medicin, definir el
propsito y uso de la medicin
Ejemplo:
recolectar nmero de defectos
clasificacin: informados interna o externamente, niveles de
severidad, dificultad de reparacin, dnde se introdujeron
uso: medida de calidad, decisiones de liberacin de productos,
mediciones de productividad, base para un cambio de proceso
Page 5
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Por qu hacer mediciones Por qu hacer mediciones de de
software? software?
Ingeniera de software: todas las actividades relacionadas
con desarrollo y mantencin de software
Idea principal: aplicar mtodos de ingeniera al desarrollo
y mantencin de software
La medicin juega un rol central en ingeniera de software
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Objetivos Objetivos de la de la medicin medicin en software en software
Comprender
Controlar Mejorar
Qu sucede durante el
desarrollo y la mantencin
Proyecto
Procesos y
productos
Hacer proceso y producto visible
Evaluar estado actual, comparar con
baselines
Predecir a partir de
baselines y objetivos, hacer
cambios
Cambios basados en
mediciones y
predicciones
Page 6
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Objetivos Objetivos de la de la medicin medicin en en
software software
Implicancias para los gestores: determinar costos de los
procesos, productividad del personal, calidad del cdigo,
satisfaccin del usuario, caminos de mejoramiento, entre
otros
Implicancias para los ingenieros: determinar testabilidad de
los requerimientos, si se han detectado todas las fallas, si se
han satisfecho obejtivos de productos y procesos, qu
ocurrir
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Conceptos bsicos Conceptos bsicos de de
medicin medicin
Escalas de medicin
nominal, ordinal, intervalar, ratio, absoluta
Diversas formas de ver las mediciones de software
directa v/s ndirecta
directa - LOC, tiempo ocupado en testing, nmero de defectos
indirecta - densidad de defectos, productividad
aproximaciones
calidad - nmero de defectos/LOC
confiabilidad - MTBF
eficiencia algortmica - O(algoritmo)
complejidad - nmero de predicados
Page 7
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Conceptos bsicos Conceptos bsicos de de
medicin medicin ( (continuacin continuacin) )
Producto v/s proceso
producto - cualquier entregable que resulta de una actividad del
proceso - atributos: tamao, defectos, cobertura de pruebas, repidez
proceso - colecciones de actividades relacionadas con software -
atributos: tiempo, esfuerzo, costo, productividad
Diferencias en cmo medir un atributo
Diferentes estndares
Falta de acuerdo en definiciones
qu es una lnea de cdigo (LOC)?
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
mbito mbito de de las mtricas las mtricas de de
software software
Estimacin de esfuerzo y costo
Administradores deben ser capaces de predecir costos de proyecto en
fases tempranas del ciclo de vida
Modelos y mediciones de productividad
Productividad
Valor Costo
Calidad Cantidad Personal Recursos
Complejidad
Confiabilidad
Defectos
Tamao
Funcionalidad
Tiempo
Dinero
Hardware
Software
Restricciones ambientales
Dificultad del problema
Ejemplo de posibles componentes que ayudan a la productividad
Page 8
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Recoleccin de datos
Modelos y mediciones de calidad
mbito mbito de de las mtricas las mtricas de de
software software
USO FACTOR CRITERIO
Operacin
del
producto
Revisin
del
Producto
Usabilidad
Confiabilidad
Eficiencia
Reusabilidad
Mantenibilidad
Portabilidad
Testeabilidad
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Modelos de confiabilidad
Modelos y evaluacin de rendimientos
Mtricas estructurales y de complejidad
Evaluacin de madurez y capacidades
Gestin basada en mtricas
Evaluacin de mtodos y herramientas
mbito mbito de de las mtricas las mtricas de de
software software
Page 9
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Clasificacin Clasificacin de de mediciones mediciones de de
software software
3 clases principales: proceso, producto, recursos
proceso: colecciones de actividades relacionadas con software - inters:
duracin, costo, efectividad, o eficiencia
producto: entregables que resultan de una actividad del proceso -
inters: tamao, calidad
recurso: entidades requeridas por una actividad del proceso - inters:
magnitud, costo, calidad
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Clasificacin Clasificacin de de mediciones mediciones de de
software software
Dentro de cada clase, atributos internos y externos
interno: medibles en trminos de la entidad misma (separado de su
comportamiento) - nmero de mdulos, tamao de mdulos,
dependencia de mdulos, tiempo, costo del personal, precio del
hardware
externo: medibles solo en trminos de cmo la entidad se relaciona con
su ambiente (ejecucin o comportamiento es importante) - nmero de
defectos, costo, productividad, confiabilidad
Atributos externos son ms difciles de medir
Page 10
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Clasificacin Clasificacin de de mediciones mediciones de de
software software
Ejemplo: Diseo de Software
Mediciones de proceso:
Internas: tiempo, esfuerzo, nmero de errores de especificacin
encontrados
Externas: costo, efectividad de las revisiones (ej: nmero de
errores/esfuerzo)
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Clasificacin Clasificacin de de mediciones mediciones de de
software software
Ejemplo: Diseo de Software (cont)
Mediciones de producto:
Internas: tamao, modularidad (acoplamiento, cohesin,
interconexin)
Externas: calidad, complejidad, facilidad de pruebas, facilidad de
mantencin (mantenibilidad)
Page 11
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Clasificacin Clasificacin de de mediciones mediciones de de
software software
Ejemplo: Diseo de Software (cont)
Mediciones de recurso:
Internas: nmero de personas, equipos, herramientas de diseo
utilizadas
Externas: productividad (ej: output/input), calidad
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Determinando qu medir Determinando qu medir .... GQM .... GQM
Paradigma Goal-Question-Metric: enfoque para
seleccionar e implementar mtricas, que involucra tres
pasos:
listar los objetivos principales
derivar de cada objetivo las preguntas que deben responderse para
determinar si los objetivos se satisfacen
decidir qu medir para ser capaz de responder las preguntas de
manera adecuada
Page 12
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Ejemplo Ejemplo de de aplicacin aplicacin de GQM - 1 de GQM - 1
Goal: evaluar la efectividad del estandar de codificacin
Questions:
quin est usando el estandar?
cul es la productividad de los codificadores?
cul es la calidad del cdigo producido?
Metrics:
proporcin de codificadores (usando el estandar, un lenguaje)
experiencia de codificadores (con estandar, con lenguaje, con
ambiente, etc)
tamao del cdigo (LOC, PF, etc)
esfuerzo
errores
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Ejemplo Ejemplo de de aplicacin aplicacin de GQM - 2 de GQM - 2
Goal: mejorar el proceso de revisiones de diseo
Page 13
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Ejemplo Ejemplo de de aplicacin aplicacin de GQM - 2 de GQM - 2
Questions:
cmo se hacen las revisiones de diseo actualmente?
cunto tiempo toman las revisiones de diseo?
cunto cuestan las revisiones de diseo?
qu mtodos de revisiones de diseo se usan?
qu tan efectivo es el proceso de revisiones de diseo?
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Ejemplo Ejemplo de de aplicacin aplicacin de GQM - 2 de GQM - 2
Metrics:
nmero de revisiones de diseo por mdulo
tiempo utilizado en revisiones por mdulo
costo de las revisiones
costo por error encontrado
% de errores de especificacin encontrados
% de errores de diseo encontrados en test de integracin
Page 14
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Mtricas clsicas Mtricas clsicas de software de software
Mtricas de tamao
lneas de cdigo - LOC
tokens - n
1
, n
2
, N
1
,N
2
(Software Science, Halstead)
Mtricas de estructura de datos
cantidad de variables
uso de variables
Mtricas de estructura lgica
complejidad ciclomtica - V(G) (McCabe)
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Mtricas funcionales Mtricas funcionales ( (Puntos Puntos de de funcin funcin, FP) , FP)
Origen : A.J. Albrecht, IBM
Suma ponderada de parmetros bsicos para
dimensionar funcionalmente una aplicacin
Considera caractersticas externas relevantes para los
usuarios
Pueden ser determinados en etapas tempranas del
desarrollo
Son independientes de lenguajes, y a la vez
convertibles a LOC (promedio) para lenguajes
especficos
Page 15
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Mtricas orientadas Mtricas orientadas a a objeto objeto
Algunas mtricas propuestas
mtodos: complejidad ciclomtica, tamao, porcentaje de comentarios
clases: mtodos ponderados por clase
mensajes: respuesta para una clase
cohesin: falta de cohesin de mtodos
acoplamiento: acoplamiento entre clases
herencia: profundidad del rbol de herencia, nmero de hijos
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Mtricas de Calidad Mtricas de Calidad
Visin del productor
Defectos
Rework
Confiabilidad (mtbf)
Usabilidad (instalacin,
aprendizaje, uso)
Visin del usuario
Page 16
Ingeniera de Software Avanzada Dr. Marcello Visconti Z.
Mtricas Mtricas de de productividad productividad
En general, Output/Input
Output?
LOC? tokens? FP? OO?
Input?
esfuerzo? $?
Productividad?
LOC/$, LOC/MM, PF/MM, PF/$?

S-ar putea să vă placă și