i.t.i de gestiónmanso/calidad/trasproceso-2011.pdf · boehm h. (cocomo) dod usa mundo 1985...

31
1 1 Calidad del software E. Manso U. de Valladolid Calidad del Software I.T.I de Gestión 2 Calidad 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ón 3.2 Modelo de Putnam 3.3 Modelo de COCOMO Bibliografía: Dolado, J. 2000 Fenton, N 1997 Putnam, L.H. et al 1992 4. Calidad del Software Programa

Upload: duongtruc

Post on 21-Sep-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

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