View
222
Download
0
Category
Preview:
Citation preview
1
1Calidad del software
E. Manso U. de Valladolid
Calidad del SoftwareI.T.I de Gestión
2Calidad del software
M.E.Manso.
1. Medición y experimentación en Ingeniería del Software
2. Medidas del Producto
3. Modelos y métricas del Proceso
3.1 Introducción3.2 Modelo de Putnam3.3 Modelo de COCOMOBibliografía:
• Dolado, J. 2000• Fenton, N 1997• Putnam, L.H. et al 1992
4. Calidad del Software
Programa
2
3Calidad del software
E. Manso U. de Valladolid
Conocer las dificultades de modelar el proceso de desarrollo de software
Conocer algunos de los métodos de estimación del tamaño de un producto software
Conocer el modelo de esfuerzo de Putnam, y saber usarlo para predecir esfuerzo y tiempo
Conocer el modelo COCOMO y saber usarlo
Conocer las limitaciones de los modelos
Objetivos
4Calidad del software
E. Manso U. de Valladolid
Costes excesivos (> 50% de sistemas).
Atrasos (> 60% de sistemas).
Para desarrollar un sistema la Boeing Company necesitó 3700 hombres/mes
mientras que la Lockeed, para uno similar, necesitó 126.
¿Causa? El departamento de la Boeing estaba fuertemente jerarquizado, el de la
Lockeed tenía una estructura plana y su jefe utilizaba una técnica de gestión flexible
(MBWA Management By Wandering Around).
Los directivos necesitan
conocer estimadores de
costes y tiempo para
planificar recursos
Los técnicos necesitan
tiempo para especificar
correctamente el sistema a
desarrollar, antes de
obtener estimaciones
Estimación de Recursos
3
5Calidad del software
E. Manso U. de Valladolid
¿Por qué es difícil estimar?
• Uno de los problemas es la productividad individual..
¿Otros problemas...?
Yo creo
que ...
Boehm H. (COCOMO)
DOD USA Mundo
1985 (observó, billones$) 11 70 140
1990 (predicción) 20 125 250
Estimación de Recursos (ii)
6Calidad del software
E. Manso U. de Valladolid
La competencia cómo guíaSi hay competencia:
• “Price to win” El precio se adapta a la competencia.• “Parkinson law" El tiempo se va ajustando a lo prometido al
comprador.
Si no hay:“Noise method” cuyo algoritmo es:
• Estimar Tiempo y coste con algún modelo.• Decir al cliente 10*estimación.• Evaluar el ruido de su respuesta.• Si hay mucho ruido, reducir el 10%, y volver al punto anterior• Firmar el contrato.
Estimación: Métodos tradicionales
4
7Calidad del software
E. Manso U. de Valladolid
Los expertos como guía”Opinión de expertos" que deducen estimaciones por proyectos
análogos.
¿Si hay varios expertos y opinan diferente ?
En 1948 Rand Corporation usó la técnica siguiente:
1. El coordinador presentó el problema a los expertos.
2. Cada experto por separado, escribió sus estimaciones
justificándolas.
3. El coordinador sintetizó las estimaciones.
4. La síntesis se distribuyó a los expertos, que sin discusión,
volvieron al punto 2.5. Se acaba el ciclo 2-3-4 cuando las estimaciones son similares.
Estimación: Métodos tradicionales (ii)
8Calidad del software
E. Manso U. de Valladolid
Método "ascendente"1. Dividir el proyecto en pequeñas tareas, estimar cada una y
sumar las estimaciones.
Estimación ponderada para cada actividad:
A-pesimista M-probable B- optimista
Esfuerzo promedio = (A+4M+B)/6
Error = (B - A)/6
2. El esfuerzo total es la suma de los esfuerzos de todas las
actividades, y el error también....
Estimación: Métodos tradicionales (iii)
5
9Calidad del software
E. Manso U. de Valladolid
Tienen en cuenta las Inversiones en mejoras y los Gastos.
• Los modelos deben adaptarse a cada caso particular.
• Al comienzo de los 80 se utilizó el primer modelo, y constituyó un
gran salto cualitativo en cuanto a la mejora en las estimaciones.
Inversiones Gastos
Equipos Personal
Computadoras Equipamiento
Software Administración
Instalaciones Otros
Personal
Otros
Modelos de Estimación
10Calidad del software
E. Manso U. de Valladolid
¿Qué se hizo hasta ahora?
Producto (Tamaño) = K * Esfuerzo * Tiempo
Inconvenientes
Productividad muy fluctuante.
Esfuerzo y Tiempo NO son intercambiables.
En proyectos grandes los problemas NO se pueden controlar.
50000 LDC = K1 * 5 persmes * 70 mes K1 = 142.86 LDC/persmes
50000 LDC = K2 * 4 persmes * 30 mes K2 = 416.67 LDC/persmes
K es la Productividad y se conoce cuando el proyecto esta acabado
Modelos de Estimación (ii)
6
11Calidad del software
E. Manso U. de Valladolid
Productividad = Producto / Tiempo * Esfuerzo (1)
¿Que es la Productividad realmente?... NO es constante
Comprende factores que incluyen:
• Nivel de lenguaje de programación.
• Estado de las prácticas de gestión utilizadas.
• Estado de la tecnología.
• Habilidades y experiencia del equipo de personas.
• La complejidad del tipo de aplicación.
Debemos hablar mejor de parámetro de productividad
del proceso (Macro medida).
¿Es lineal la dependencia entre los términos de (1)? (gráficos
1.6 y 1.7)
Modelos de Estimación (iii)
12Calidad del software
E. Manso U. de Valladolid
Datos de la BD QSM
7
13Calidad del software
E. Manso U. de Valladolid
Datos de la BD QSM(ii)
14Calidad del software
E. Manso U. de Valladolid
Ecuación del software:
• Parámetro de productividad (PP): Se obtiene por calibración con datos
históricos de proyectos.
• Esfuerzo en hombresaño: comprende diseño, codificación, test,
documentación y supervisión.
• B es un parámetro de habilidad: depende del tamaño del producto (ver
tabla 2.1).
¿Por qué se eligió ese modelo?
)3
4()
3
1(
Tiempo)B
Esfuerzo(PP Producto
SLIM
Modelo de Putnam (SLIM)
8
15Calidad del software
E. Manso U. de Valladolid
SLIM
Factor B
16Calidad del software
E. Manso U. de Valladolid
Putnam et al. estudian en 1984 una Base de Datos (QSM):
750 sistemas procedentes de la Air Force Electronic SystemsDivision, Rome AIr Development Center y otros sistemas deprocedencias diversas.
Validez empírica de la potencia cuarta del tiempo
• Los 750 sistemas disponibles se clasificaron en conjuntos quetuvieran más o menos igual (ldc (B)(1/3) / PP)3. De esta forma E= c /(T)(power).• Se encontraron 8 conjuntos que tenían entre 6 y 74 sistemas(tabla 2.2).• Para cada conjunto se calculó la potencia a la que estaba elevadoel tiempo. La figura 2.1 muestra el estudio para el conjunto conmayor nº de sistemas.
SLIM
Justificación de la Ecuación del Software
9
17Calidad del software
E. Manso U. de Valladolid
SLIM
Justificación de la Ecuación del Software (ii)
18Calidad del software
E. Manso U. de Valladolid
SLIM
Justificación de la Ecuación del Software (iii)
10
19Calidad del software
E. Manso U. de Valladolid
PP
Se obtiene por Calibración a partir de sistemas ya
concluidos.
30000 LDC de Cobol completadas en 17 meses con 146personas-mesPP = 30000/((12.17/0.28) (1/3) (1.42) (4/3) )PP = 5366 LDC/persaños*años
)3
4()
3
1(
Tiempo)B
Esfuerzo(PP Producto
SLIM
Parámetro de Productividad(macro medida)
20Calidad del software
E. Manso U. de Valladolid
Escala del IP• Se calculó el PP para todos los sistemas de la BD QSM y, tendían a
agruparse alrededor de ciertos valores.
• A partir de ellos se estableció una escala discreta que se llamó IP(tabla 2.3). La relación entre el PP y el IP es exponencial (fig 2.2):
• El rango de los 11 tipos de aplicación oscila entre 2 y 16.
• Es frecuente un sistema de negocios de rango 20 ó 21.
• El mayor observado hasta ahora es de 25, se extendió hasta 36 paraadaptarla al futuro.
• La complejidad explica, en parte, la diferencia de IP.
0/))(( aePP IPa
SLIM
Índice de Productividad(macro medida)
11
21Calidad del software
E. Manso U. de Valladolid
Tabla 2.3
SLIM
22Calidad del software
E. Manso U. de Valladolid
SLIM
12
23Calidad del software
E. Manso U. de Valladolid
Valores bajos, están asociados a:
• Entornos primitivos.
• Herramientas pobres.
• Personal poco preparado.
• Poca gestión y dirección débil.
• Métodos poco efectivos.
• Productos muy complejos.
Valores altos, están asociados a:
• Buenos entornos.
• Productos poco complejos.
Complejidad Factor determinante de la Productividad
SLIM
Rangos del IP
24Calidad del software
E. Manso U. de Valladolid
Modelo de estimación de costes: Dólares por mes = (100000/12) $/persmes * 146 persmes = 1216667$
IP = 1 Esfuerzo = -26% y Coste = - 316667$
SLIM
Relación entre IP y Costes
13
25Calidad del software
E. Manso U. de Valladolid
Una agencia de diseño de una gran compañía de telefonía calcula el IP
de un sistema acabado en 1983, a partir de los siguientes datos:
Tamaño: 19440 LDC B = 0.18 (tabla 2.1)
Tiempo : 6.0 meses (0.5 años)
Esfuerzo: 24 persmes (2 persaño)
PP IP= 15 (tabla 2.3)
Análisis del cambio: nuevo IP- medio (13.7) con otros dos proyectos
(Tabla 2.5)
21967
)5.0()8.0
2(
19440
)3/4()3/1(
PP
SLIM
Ejemplo: Cálculo del IP
26Calidad del software
E. Manso U. de Valladolid
SLIM
Ejemplo: Cálculo del IP (ii)
14
27Calidad del software
E. Manso U. de Valladolid
Estimación de:• Tiempo de desarrollo (T)
• Esfuerzo de desarrollo (E).
Se deben conocer:• PP de la organización.
• Una estimación del Producto (LDC).
Soluciones:
• Determinista
• Simulación
• Programación Lineal
SLIM
Estimación de Parámetros
28Calidad del software
E. Manso U. de Valladolid
Se admite que el proceso de desarrollo sigue un modelo de
Norden, que proporcionará otra ecuación en la que sólo se
desconocen T y E.
Resolver:
PIP es el Parámetro de Incremento de personal
(potenciahombre), cuyo valor se conoce al principio del proceso.
3
)3
4()
3
1(
TPIPAcumulado Total Esfuerzo E/0.39
T)B
E(PPProducto
SLIM
Solución Determinista
15
29Calidad del software
E. Manso U. de Valladolid
Se incorpora la "incertidumbre" en la predicción de T y E.
Producto: variable aleatoria N( , ), hay estimaciones de y .
Se elige "Al azar" un valor de Producto.
Se incorpora el PIP como v.a. eligiendo entre 6 rangos
posibles, basándose en datos históricos.
Se hallan estimaciones por intervalo para ambos, simulando
n ocurrencias en las poblaciones.
Se resuelven las ecuaciones:
3
)3
4()
3
1(
TPIPE/0.39
T)B
E(PPProducto
SLIM
Solución por Simulación
30Calidad del software
E. Manso U. de Valladolid
Definir los objetivos del proyecto con restricciones, por
ejemplo: máximo PIP, mínimo coste...
Expresar las restricciones en términos de ecuaciones
que involucren el Tiempo, Esfuerzo, etc.
Hallar la región de (T,E) definida por las restricciones.
Llegar a una solución de compromiso para elegir un
punto (T,E) de la región .
SLIM
Solución por Programación Lineal
16
31Calidad del software
E. Manso U. de Valladolid
Se comprobó que:
Los procesos de desarrollo de software tienen 5 fases.
Tienen un comportamiento, en cuanto a la producción
similar a una curva de Rayleigh.
Las colas de las curvas se deben al mantenimiento.
Datos históricos Se estudiaron 20 proyectos (Norden).
Putnam contrastó su modelo en 50, procedentes de la Army
Computer Systems Comand, el modelo explicaba bien el
comportamiento del esfuerzo. Posteriormente lo confirmó en
cerca de 150 sistemas grandes. (fig. 3.2 y 3.4)
Norden
Modelo de Proceso de Norden
32Calidad del software
E. Manso U. de Valladolid
Norden
17
33Calidad del software
E. Manso U. de Valladolid
Proceso de Desarrollo:Conjunto de problemas sin resolver, formado por subconjuntos, que corresponden a las diferentes fases de desarrollo.
Cada subconjunto cumple:• Nº de problemas finito y desconocido (PR).
• El número de personas involucradas en el proyecto es proporcional
al número de problemas a resolver, en un intervalo de tiempo:
• K: esfuerzo total en personas-año PR.
•.C(t): esfuerzo acumulado, C(0)= 0.
• p(t)= dC(t)/dt= personas en un instante t.
• p(t)= m(K-C(t)).
Suponiendo que m aumenta con t (efectividad de resolución).
p(t)= m(t) (K-C(t)) m(t)= 2at (en este Modelo).
Norden
Hipótesis del modelo
34Calidad del software
E. Manso U. de Valladolid
¿Cuál es el momento en el que el nivel de personal es máximo?
¿Cuál es el máximo nivel de personal?
Si a p´(o) le llamamos “dificultad” ¿Cómo se puede expresar?
Resultado del Modelo:• Y(t) Esfuerzo acumulado (C(t)).
• Y´(t) Esfuerzo en t (p(t)= C´(t)).
• Y´´(t) Variación del esfuerzo en t (p´(t)= C´´(t))
• K Esfuerzo total al final del proyecto (área bajo y´(t)).
• t Tiempo desde que empezó el proceso.
• a Parámetro de forma (fig 3.3)
Norden
Hipótesis del modelo (ii)
18
35Calidad del software
E. Manso U. de Valladolid
Norden
36Calidad del software
E. Manso U. de Valladolid
Putnam examinó varios cientos de sistemas, observando que:
• td el momento de máximo esfuerzo, está próximo al tiempo
de desarrollo del sistema, td = (1/2a)(1/2).
• El esfuerzo hasta ese momento (Ed ) es el 39% del esfuerzo
total (E): E= Ed / 0.39.
• td es el momento en el que el sistema alcanza la capacidad
operacional total.
• td y E son los que aparecen en la ecuación del software.
• Se utilizan como referencia clave en el desarrollo.
Norden
Modelos de Norden y SLIM
19
37Calidad del software
E. Manso U. de Valladolid
Potencial humano (personas)
La Velocidad de progreso de un proyecto depende de:
La velocidad con que se identifican los problemas, por
los responsables.
La relación entre incremento de problemas e
incremento de plantilla para resolverlos.
Parámetro de incremento de personal (PIP)
Relación entre Esfuerzo total (E), dificultad, tiempo de desarrollo (td) y
PIP:
43
33
)d
E/(Tdt
dPIP
)d
(TPIPE)d
E/(TPIP
Norden
Modelos de Norden y SLIM (ii)
38Calidad del software
E. Manso U. de Valladolid
De la clasificación del PIP se obtuvieron 6 clases
La relación entre IIP y PIP no es lineal (tabla 3.1)
Norden
Índice de Incremento de Personal
20
39Calidad del software
E. Manso U. de Valladolid
Estilo del proceso de
desarrollo, IIP:
• Valores bajos: proceso de desarrollo largo y lento.
• Valores altos: se quiere acelerar el proceso de desarrollo, aumentando el personal.
Norden
Índice de Incremento de Personal (ii)
40Calidad del software
E. Manso U. de Valladolid
Estilo del proceso de desarrolloLa decisión de aumentar rápidamente el personal del desarrollo (PIP) de un proyecto tiene mas efecto en el coste y el esfuerzo (E) que en el tiempo (T).(tabla 3.2 y fig 3.6)
Norden
Ejemplo de IIP
21
41Calidad del software
E. Manso U. de Valladolid
Norden
42Calidad del software
E. Manso U. de Valladolid
Gestión vs. forma de la curva
• En ocasiones el comportamiento de la potencia hombre es
rectangular, se alcanza un pico y se mantiene ahí un tiempo.
• Es decisión de los gestores, que pueden gestionar de forma
contraria a como debe hacerse.
• Puede ocurrir que la señal de cortar no sea clara, no sea
aceptada o llegue con retraso.
• Otras veces, debido al entorno de contratación, se trabaja con
mucho personal al principio. El esfuerzo se hace rápidamente
entonces, con efectos adversos posteriores.
Norden
Modelo de Norden y Gestión
22
43Calidad del software
E. Manso U. de Valladolid
Modelo de Norden: Ayuda a tomar decisiones sobre cambios
Norden
Planificación y Control
44Calidad del software
E. Manso U. de Valladolid
Permite establecer puntos de referencia (control) a lo largo del proceso.
(figs. 3.9 y 3.10)
Norden
Planificación y Control(ii)
23
45Calidad del software
E. Manso U. de Valladolid
Norden
Planificación y Control(iii)
46Calidad del software
E. Manso U. de Valladolid
Sistema de inventario de40,800 ldc.La Planificación incluye elestudio de viabilidad y eldiseño funcional (figura 3.11).
Norden
Planificación y Control(iv)
24
47Calidad del software
E. Manso U. de Valladolid
Hallar el Esfuerzo total, y el Esfuerzo, Tiempo y Coste en la fase
de desarrollo, de un proyecto del que se conocen:
5200 miles€/persaño, en la fase de desarrollo
Producto 36450 LDC (B= 0,28)
PP 3350 LDC /persaño
PIP 55
Solución determinista:
36450 = (E/0.28) (1/3) x T4/3 x 3350
E/0.39 = 55 T3
E es el esfuerzo de desarrollo (persaño), y T el tiempo empleado
(años)
Esfuerzo Total : E/0.39
Coste del desarrollo: 5200 *E miles€
Norden
Ejemplo
48Calidad del software
E. Manso U. de Valladolid
El nº de defectos crece con el tamaño del proyecto. Pero sólo el tamaño no explica la variabilidad. (fig
8.1)
Norden
Planificación vs. Fiabilidad
25
49Calidad del software
E. Manso U. de Valladolid
Efecto del PIP
Cuanto menor sea menor nº de
errores (menor nº de personas
trabajando)(tabla 8.1 y fig. 8.11)
Norden
Planificación vs. Fiabilidad(ii)
50Calidad del software
E. Manso U. de Valladolid
Un aumento del tiempo de desarrollo mínimo estimado (td) reduce el nº de errores(fig. 8.5).
Norden
Planificación vs. Fiabilidad(iii)
26
51Calidad del software
E. Manso U. de Valladolid
Es razonable esperar que se cometerán menos errores cuando:
Los requisitos estén completos y refinados.
La tasa de personal nuevo trabajando es pequeña.
Los problemas encadenados en el tiempo se resuelven de forma
ordenada.
El diseño está completo antes de empezar la codificación.
Se han llevado a cabo inspecciones minuciosas y recorridos o test de
módulos etc.
Conclusión
Planificar un incremento en el tiempo de desarrollo, sobre el
tiempo mínimo estimado, puede ser una estrategia para reducir el
nº de errores a detectar-corregir.
Norden
Planificación vs. Fiabilidad(iv)
52Calidad del software
E. Manso U. de Valladolid
El nº de defectos decrece cuando la productividad aumenta. (figura 8.8)
Figura 8.8 Productivity Index
Norden
Planificación vs. Fiabilidad(v)
27
53Calidad del software
E. Manso U. de Valladolid
Efecto del tipo de aplicación: diferentes tipos de aplicación tienen diferentes IP asociados, larelación que se estudia sirve para ambos. A mayor complejidad mayor nº de errores. (fig 8.9)
Norden
Planificación vs. Fiabilidad(vi)
54Calidad del software
E. Manso U. de Valladolid
COCOMO (COnstructive COst MOdel)
Propuesto por Barry Boehm, mejorado mas tarde
con los resultados observados en 63 proyectos en la
TRW company.
Error inferior al 20% en el 70% de los proyectos.
El algoritmo inicial se basaba en el tamaño en
KLDC y en la dificultad del proyecto.
Los factores del modelo se expresaban en escala
discreta.
Revisión del modelo en: http://sunset.usc.edu/COCOMOII
COCOMO
COCOMO
28
55Calidad del software
E. Manso U. de Valladolid
Hay 3 modos de desarrollo Orgánico, entorno de desarrollo estable, pocasinnovaciones y tamaño pequeño(< 50KLDC) Intermedio, intermedio entre el anterior y el siguiente Empotrado, sistemas complejos, muchas innovacionesy requisitos volátiles (sin experiencias anteriores).
Hay 3 nivelesSegún la información introducida:
Básico (estimaciones rápidas y poco precisas). Intermedio (estimaciones precisas). Completo (estimaciones en cada fase).
COCOMO
Modos y niveles
56Calidad del software
E. Manso U. de Valladolid
En (persmes)= Estimador del esfuerzo nominal.
L= Tamaño del producto en KLDC.
A tener en cuenta: En una LDC no se sabe cuantas instrucciones
hay. Considerar que 1 persmes equivale a 152 horas
por mes, incluyendo vacaciones etc.
En = a (L) b
COCOMO
Modelo COCOMO
29
57Calidad del software
E. Manso U. de Valladolid
Básico e
COCOMO Básico Intermedio Intermedio
Modo de En Tiempo de En
desarrollo (persmes) desarrollo (persmes)
Modelo Orgánico
Modelo semilibre
Modelo empotrado
2.4 kloc1.05 2.5 E0.38 3.2 kloc1.05
3.0 kloc1.12 2.5 E0.35 3.0 kloc1.12
3.6 kloc1.20 2.5 E0.32 2.8 kloc1.20
COCOMO
Parámetros
58Calidad del software
E. Manso U. de Valladolid
Si el tiempo se sobreestima se reduce la productividad. Si el tiempo se infraestima no se puede realizar el proyecto.
Si se tiene en cuenta el entorno, ponderando la influencia
de 15 factores, se obtienen estimaciones para el esfuerzo
del modelo Intermedio:
i=15
E = a (L) b Ci
i=1
a
Modelo Orgánico
Modelo Intermedio
Modelo Empotrado
3.2
3.0
2.8
COCOMO
Factores del Modelo
30
59Calidad del software
E. Manso U. de Valladolid
Especificación de esfuerzo y tiempo por fases.
Evaluación de la influencia de cada factor de coste/fase.
Por ejemplo, la capacidad del programador tiene más impacto
en la fase de codificación que en la de análisis.
Fase Esfuerzo Tiempo
Planificación y 6%-8% 10%-40%
Análisis
Diseño 16%-18% 19%-38%
Implementación 48%-68% 24%-64%
Integración y Test 16%-34% 18%-34
COCOMO
Modelo Completo
60Calidad del software
E. Manso U. de Valladolid
Se llaman así cuando son internos a una organización, por razones comerciales, entre otras.
PRICE-S (Programming Review of Information Costing and Evaluation Software)
• Mantenido por RCA PRICE Inc. (USA).
• Basado en índices de productividad.
• Todos los proyectos del DoD deben remitir sus datos a
PRICE.
SPQR
• Propuesto por Caper Jones.
• Es similar al COCOMO.
• Se deben responder a 100 preguntas.
Modelos cerrados
31
61Calidad del software
E. Manso U. de Valladolid
El uso de herramientas puede facilitar las estimaciones.
Las listas de chequeo de los modelos nos recuerdan que gestionar
los proyectos de software no es fácil.
Todo lo que piense por anticipado son menos problemas a resolver
después.
ESTIMACS- Computer associates (ESTIMACS)
SOFTCOST- Hewlet Packard (SOFTCOST)
BYL - Before you LIp (Mark II, COCOMO)
ESSE - Expert System for SOftware Cost Estimation
REVIC- REVised Intermediate Cocomo
SLIM - (SLIM)...
Herramientas
62Calidad del software
E. Manso U. de Valladolid
FIN
Recommended