Professional Documents
Culture Documents
de Informacin
Contenidos
1.
2.
La Antigua, Guatemala
22-25 de septiembre de 2008
Introducci
Introduccin
Control y Garant
Garanta de la Calidad del Software
Controles est
estticos y din
dinmicos
Actividades constructivas de la calidad
3. El coste de la calidad
1.
2.
3.
Medidas
Introducci
Introduccin a las medidas
Qu
Qu, por qu
qu y c
cmo miden los ingenieros
3. Medidas y m
mtricas
4. Medidas en Ingenier
Ingeniera del Software
5. Clasificaci
Clasificacin de medidas
1.
2.
Facultad de Informtica
5.
Universidad Polit
Conclusiones
Introducci
Introduccin
Software:
z
Introduccin
Introducci
Introduccin
Introducci
Introduccin
Un poco de historia...
resoluci
resolucin de problemas a una industria
Caracter
Caractersticas del software
z
z
z
1968 El comit
comit cient
cientfico de la OTAN patrocina una
conferencia en Alemania, para identificar, clasificar y
discutir los problemas que se produc
producan en el desarrollo
de grandes proyectos
Introducci
Introduccin
Introducci
Introduccin
Ingenier
Ingeniera:
z
Ingenier
Ingeniera del Software:
Boehm,
Boehm, 1976
Aplicacin prctica del conocimiento cientfico
en el diseo y construccin de programas de
computadora y la documentacin asociada
requerida para desarrollar, operar y
mantenerlos
Software:
z
IEEE, 1993
Aplicacin de un enfoque sistemtico,
disciplinado y cuantificable al desarrollo,
operacin y mantenimiento del software
Introducci
Introduccin
Introducci
Introduccin
El producto software:
z
El proceso software:
z
Calidad del Software
Introducci
Introduccin
Introducci
Introduccin
El software no es perfecto
muy diversas:
z
Ley de Murphy:
Si algo puede ir mal, ir
ir mal
mal
z
z
z
z
10
11
Introducci
Introduccin
Introducci
Introduccin
La soluci
solucin al problema es la calidad
de mbitos
Los defectos del software pueden causar
importantes problemas e, incluso, da
daos f
fsicos
z
z
z
12
z
z
Cu
Cundo tiene buena calidad el software?
Qu
Qu caracter
caractersticas influyen al determinar la calidad del
software?
Cmo medir la calidad del software?
Cmo controlar y garantizar la calidad del software?
13
Introducci
Introduccin
Es necesario medir la calidad...
Control y Garanta de
la Calidad
No se puede
controlar lo que
no se puede
medir
Kelvin
DeMarco
14
Control de la Calidad
Control de la Calidad
Controles Est
Estticos
Objetivos:
z
Controles manuales
z
Si no es as
as, tiene un defecto
Auditor
Auditoras
Revisiones
Controles autom
automticos
Sistemas inform
informticos o con un proceso algor
algortmico
Son t
tcnicas de grupo
Controles din
dinmicos
Comprobaci
Comprobacin de escritorio (desk
(desk checking)
checking)
Revisi
Revisin por pares (peer
(peer review)
review)
Disciplinados
Controles est
estticos
Actividades de control:
z
Informales
16
An
Anlisis est
esttico autom
automtico
Verificaci
Verificacin formal
17
Control de la Calidad
Garant
Garanta de Calidad
Controles Din
Dinmicos
Tipos de pruebas
z
Prueba de integraci
integracin
Prueba de sistema
Prueba de regresi
regresin
18
19
Garant
Garanta de Calidad
Garant
Garanta de Calidad
Actividades Constructivas
Herramientas y entornos de desarrollo
Idealizaci
Idealizacin del proceso de desarrollo y mantenimiento
del software
Se descompone el proceso en fases, definiendo las
actividades a realizar
Mtodos y formalismos
z
Actividades Constructivas
Modelos de proceso software
z
Prueba de aceptaci
aceptacin
Se prueba cada m
mdulo aislado del resto del sistema
Definici
Definicin
Prueba modular
Lenguajes de programaci
programacin
La sistematizaci
sistematizacin de los procedimientos facilita la
prueba de los resultados obtenidos
Se producen incrementos en la productividad (50(50-150%)
20
Su importancia (en t
trminos de calidad) se hace patente
en el mantenimiento
Caracter
Caractersticas interesantes: m
mdulos, compilaci
compilacin
separada, ocultaci
ocultacin de informaci
informacin, flujo de control
estructurado, fuerte tipado,
tipado, OO, orientaci
orientacin a eventos...
Garant
Garanta de Calidad
21
Garant
Garanta de Calidad
Actividades Constructivas
El Coste de la Calidad
Documentaci
Documentacin
z
z
z
z
Distribuci
Distribucin de defectos detectados seg
segn la fase en la que se
cometieron:
Factores humanos
z
7%
Diseo
Codificacin
Est
Estndares y convenciones, ejemplos y patrones, gesti
gestin
de configuraci
configuracin, control del c
cdigo, gesti
gestin de
problemas...
10%
Especificacin
Otros
z
Prevenci
Prevencin de errores
Detecci
Deteccin de defectos
22
27%
56%
Otros
23
Garant
Garanta de Calidad
Garant
Garanta de Calidad
El Coste de la Calidad
El Coste de la Calidad
Prevenci
Prevencin de errores
Detecci
Deteccin de defectos
z
z
Prevenci
Prevencin de errores
Detecci
Deteccin de defectos
Coste de correcci
correccin seg
segn la fase en la que se detectaron los defectos:
17.500 $
13%
1%4%
15.000 $
12.500 $
Especificacin
10.000 $
Diseo
Codificacin
7.500 $
Otros
5.000 $
82%
2.500 $
0$
Anlisis
24
Diseo
Codificacin
Pruebas
Implantacin
25
Introducci
Introduccin a las Medidas
Definiciones
Qu
Qu es la medici
medicin?
z
Medidas
La medici
medicin es la asociaci
asociacin de valores num
numricos con
un objeto o acci
accin
Se interpreta este valor como la cantidad de calidad o de
cierto atributo pose
posedo por dicho objeto o acci
accin
27
Introducci
Introduccin a las Medidas
Medidas
Definiciones
Qu
Qu Miden los Ingenieros?
Medir
z
La ingenier
ingeniera puede definirse como el proceso que
Medida
z
dos categor
categoras:
z
Acci
Accin y efecto de medir
Expresi
Expresin del resultado de una medici
medicin
Cada una de las unidades que se emplean para medir longitudes,
reas o vol
volmenes de l
lquidos o ridos
28
29
Medidas
Medidas
Qu
Qu Miden los Ingenieros?
Qu
Qu Miden los Ingenieros?
Medidas est
estticas
Medidas din
dinmicas
Tama
Tamao de un equipo de desarrollo, esfuerzo, tiempo, coste,
productividad...
30
Medidas
Medidas
Por qu
qu Miden los Ingenieros?
demostrar su cumplimiento
z
Construcci
Construccin de un puente (longitud, altura, carga m
mxima,
caudal del r
ro...)
Peque
Pequeos electrodom
electrodomsticos (tama
(tamao, peso, coste...)
Veh
Vehculos (peso, consumo, espacio interior, espacio para
equipaje, resistencia a los impactos...)
Software (tiempo de respuesta, memoria ocupada...)...
Leyes o teor
teoras cient
cientficas
32
Medidas
Por qu
qu Miden los Ingenieros?
Por qu
qu Miden los Ingenieros?
los resultados
El coraz
corazn de la ingenier
ingeniera: el compromiso
Hay muchas formas de dise
disear productos y muchas formas
de dise
disear sus componentes
Cada dise
diseo tiene ventajas y desventajas
El ingeniero debe valorarlas todas y establecer un
compromiso entre unas y otras
Pueden predecir cu
cundo se completar
completarn las pruebas y cu
cundo
se alcanzar
alcanzar el nivel de fiabilidad requerido
33
Medidas
31
Por qu
qu Miden los Ingenieros?
Para describir el estado actual del mundo
z
34
35
Medidas
Medidas
Muestreo
z
err
errneas
z
36
37
Teor
Teora de Medidas
Medidas y M
Mtricas
Medidas y M
Mtricas
Matem
Matemticamente:
z
Medida
Sea A un conjunto de objetos f
fsicos o emp
empricos
Sea B un conjunto de objetos formales (n
(nmeros)
Se define una medida como una relaci
relacin un
unvoca de A a B:
: A B
38
Teor
Teora de Medidas
39
Teor
Teora de Medidas
Medidas y M
Mtricas
Medidas y M
Mtricas
Matem
Matemticamente:
z
Teor
Teora de Medidas
Mtrica
Medida
Ejemplo
Informalmente:
z
Selecci
Seleccin y medida de una parte representativa de la
poblaci
poblacin para deducir par
parmetros o caracter
caractersticas de
toda la poblaci
poblacin.
Mtrica:
Sea A un conjunto de objetos
Sea el conjunto de n
nmeros reales
Sea m: A A una medida
Entonces m es una mtrica si cumple:
m(x, y) 0, x, y A
m(x, y) = 0 x = y
m(x, y) = m(y, x), x, y A
40
41
Teor
Teora de Medidas
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Es bueno un programa?
Barrera intelectual
medicin
Objetos numricos,
relaciones,
operaciones
Cu
Cuntos errores se esperan encontrar?
Cu
Cuntas pruebas tengo que hacer?
Cu
Cul ser
ser el coste de las pruebas?
barrera
intelectual
matemticas,
estadstica
Ser
Ser dif
difcil mantener el sistema?
Cu
Cunto costar
costar construir un sistema similar al que
constru
constru hace 5 a
aos?
Resultados
relevantes al
mundo real
Resultados
numricos
interpretacin
Cu
Cunto tardar
tardar en desarrollar el sistema?
...
42
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Medidas en Ingenier
Ingeniera del Sw.
Sw.
n
candente
en Ingenier
investigaci
Ingeniera
del Software
z
43
44
Lneas de c
cdigo fuente (LOC)
#define LOWER
0
#define UPPER 300
#define STEP
20
Medidas en Ingenier
Ingeniera del Sw.
Sw.
45
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Caracter
Caractersticas deseables de las medidas
z
25
N 20
15
de 10
5
votos
0
z
z
z
z
z
46
47
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Gesti
Gestin del software no es efectiva
z
z
z
z
z
48
Medidas en Ingenier
Ingeniera del Sw.
Sw.
1
1
6
e: bifurcaciones
n: nodos con c
cdigo secuencial
p: n
nmero de grafos inconexos
49
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Complejidad de McCabe [McCabe,
McCabe, 1976]
z
v(G) = + 1
: n
nmero de predicados
11
v(G) = 18 - 12 + 2 = 8
8
9
Calidad del Software
50
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Ejemplos de Medidas del Software
12
Jos Luis Fuertes
51
1979]
5
10
20
25
Calidad del Software
10
Medidas en Ingenier
Ingeniera del Sw.
Sw.
52
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Flujo de informaci
informacin [Henry y Kafura,
Kafura, 1981]
z
Complejidad interna (C
(Cip) de un m
mdulo p:
FanFan-in de un m
mdulo p:
FanFan-out de un m
mdulo p:
Nmero de l
lneas de c
cdigo (LOC) de dicho m
mdulo,
longitud de Halstead,
Halstead, complejidad ciclom
ciclomtica...
tica...
Medida:
54
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Kemerer,
Kemerer, 1991]
WMC (Weighted
(Weighted Methods per Class)
Class)
55
Kemerer,
Kemerer, 1991]
z
DIT (Depth
(Depth of Inheritance Tree)
Tree)
Profundidad de una clase C en el rbol de herencia
DIT es una medida de cu
cuntas superclases pueden afectar
potencialmente a cada clase
Medida: contar los niveles del grafo de herencia
WMC = c i
i =1
56
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Kemerer,
Kemerer, 1991]
z
Kemerer,
Kemerer, 1991]
NOC (Number
(Number of Children)
Children)
57
58
CBO (Coupling
(Coupling Between Objects classes)
classes)
Cantidad de clases a la que est
est acoplada (n
(nmero de objetos
que act
actan sobre otro)
Relacionada con la noci
nocin de que un objeto est
est acoplado
con otro si uno de ellos act
acta sobre el otro (si los m
mtodos de
uno usan m
mtodos o atributos del otro)
59
10
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Kemerer,
Kemerer, 1991]
z
Kemerer,
Kemerer, 1991]
RFC (Response
(Response For a Class)
Class)
Conjunto de m
mtodos de una clase que potencialmente
pueden ejecutarse como respuesta a la llegada de un mensaje
recibido en un objeto de esa clase
Medida:
LCOM (Lack
(Lack of Cohesion Of Methods)
Methods)
RFC = MU R i
i
60
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Clasificaci
Clasificacin basada en los elementos que se miden
[Henry]:
z
Medidas de la Estructura
Medidas Hbridas
Medidas Sem
Semnticas
Clasificaci
]:
Clasificacin de las medidas del producto [Kafura
[Kafura]:
Medidas Lxicas
Se basan en la aplicaci
aplicacin de los conceptos de la teor
teora de la
informaci
informacin a la formulaci
formulacin de medidas
Medidas de Conectividad
62
z
z
63
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Se basa en el an
anlisis de la estructura del dise
diseo
61
64
65
11
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Medidas en Ingenier
Ingeniera del Sw.
Sw.
Aplicaci
Aplicacin del principio de incertidumbre de
Heisenberg al c
clculo de las medidas
Es imposible determinar
simultneamente la posicin y
velocidad exactas de un electrn
Efecto Hawthorne
La medida de cualquier parmetro
de un proyecto y su asociacin con
una evidencia significativa influir
en la utilidad de dicha medida
66
67
Calidad del
Software
Modelos de Calidad
Modelos de calidad del software
IEEE
69
Calidad
z
Software
70
71
12
Modelos de Calidad
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
Modelo de Boehm
Modelo de McCall
ISO/IEC 9126:
z
z
Modelo de Arthur
ISO/IEC IS 91269126-1:2001
ISO/IEC TR 91269126-2:2003
ISO/IEC TR 91269126-3:2003
ISO/IEC TR 91269126-4:2004
Modelo de Schulmeyer
Modelo de Dromey
72
Subdivisi
Subdivisin en 6 caracter
caractersticas
Caracter
Caractersticas
Subdivisi
Subdivisin en subcaracter
subcaractersticas
Calidad en el uso
Subdivisi
Subdivisin en 4 caracter
caractersticas
74
Efecto del
Producto Software
Producto Software
influye
depende de
Atributos
de calidad
interna
influye
depende de
Atributos
de calidad
externa
influye
depende de
Necesidades
de calidad
Atributos
de calidad
en el uso
medidas
internas
medidas
externas
Requisitos
de calidad
externa
medidas de
la calidad en
el uso
76
Calidad en
el uso
indica
validacin
contribuye
en especificar
Requisitos
de calidad
interna
uso y
realimentacin
contribuye
en especificar
contextos
de uso
medidas
del proceso
75
73
Caracter
Caractersticas
Calidad
del
proceso
ISO 9126
Calidad
externa
indica
verificacin
Calidad
interna
77
13
Calidad externa
e interna
Funcionalidad
Fiabilidad
Usabilidad
Eficiencia
Mantenibilidad
Portabilidad
Adecuacin
Precisin
Interoperatividad
Seguridad
Madurez
Tolerancia a fallos
Recuperacin
Comprensibilidad
Aprendizaje
Operatividad
Atractivo
Comportamiento
temporal
Uso de recursos
Analizable
Modificable
Estabilidad
Fcil de probar
Adaptabilidad
Instalable
Co-existencia
Reemplazabilidad
78
Efectividad
80
CMM
Una forma de discriminar entre niveles de madurez
81
79
Antecendentes
El proceso software
Satisfaccin
Antecendentes
Seguridad
Productividad
82
83
14
CMM
PSP
determinar qu
qu medir primero y c
cmo planear un
plan de medidas comprensivo y adecuado
Tipos de medidas por nivel del CMM:
dise
diseado para ayudar a controlar, gestionar y
mejorar la forma de trabajar
Marco de trabajo estructurado con formularios,
gu
guas y procedimientos para desarrollar software
PSP proporciona los datos hist
histricos necesarios para
mejorar el proceso
Principal objetivo: conseguir mejores ingenieros del
software
Nivel de Madurez
1. Inicial:
Caractersticas
Ad hoc, catico
2. Repetible:
3. Definido:
4. Gestionable:
5. Optimizado:
84
PSP
PSP
El PSP est
est dividido en cuatro fases:
z
errores y cu
cul es la mejor forma de encontrarlos
Se puede determinar la calidad de las revisiones, los
Proceso
personal
cclico
PSP2
Revisiones del cdigo
Revisiones del diseo
Gestin
personal
de calidad
Proceso
personal de
planificacin
Proceso
personal
bsico
85
86
PSP1
Estimacin del tamao
Informe de pruebas
PSP0
Proceso actual
Registro del tiempo
Registro de defectos
Estndar de tipos de defectos
PSP2.1
Plantillas de diseo
PSP1.1
Planificacin de tareas
Planificacin de tiempos
PSP0.1
Estndar de codificacin
Medidas del tamao
Propuesta de mejora del proceso
87
Conclusiones
La calidad del software puede verse como un
problema econ
econmico
z
Conclusiones
89
15
Conclusiones
Conclusiones
Incluso sabiendo qu
qu medidas usar, no es f
fcil obtener
los datos
Incluso con los datos, no es obvio c
cmo interpretar y
usar los n
nmeros
La gente se resiste a que se mida la calidad de su trabajo
90
Los est
estndares, por s
s solos, no son suficientes
Se necesita una disciplina para aplicarlos
Si no se comprende el proceso del negocio, no resultar
resultar
til aplicar ning
ningn m
mtodo de evaluaci
evaluacin de la calidad ni
de mejora del proceso
91
16