Estimation Models, COCOMO Family
description
Transcript of Estimation Models, COCOMO Family
-
Curso: DPGI-MECLI-1 Mtricas y Calidad de Software 2013
Integrantes: Nelson YezMario Lenlvaro Peralta
Tarea: 003 - Trabajo de Investigacin
Esta tarea debe ser desarrollada por los grupos de hasta 3 personas indicados en cada tema
A cada grupo se le asign un tema y debe desarrollar un breve informe tcnico de 10
pginas como mximo sobre el tema desde la perspectiva de este curso (Dimensionamiento,
Productividad, Calidad) y adems hacer una breve presentacin (5 minutos) al curso.
Tema asignado:
Estimation Models, COCOMO Family (Len M., Peralta,Yez)
-
INDICE
1. MODELOS DE DIMENSIONAMIENTO
2. MODELOS DE ESTIMACIN
3. FAMILIA COCOMO
4. METRICAS DE PRODUCTIVIDAD
5. METRICAS DE CALIDAD
6. BIBLIOGRAFIA
-
1. MODELOS DE DIMENSIONAMIENTO
Los Modelos para Dimensionar se usan para estimar el Tamao, Productividad y Calidad
del software.
Antes de construir el software, se construyen prototipos y se aprenden de ellos.
Antes de comprometer el dinero y los recursos, los ejecutivos necesitan
informacin del costo.
Caractersticas de un modelo
Comprensible
Preciso
Predictivo
Barato
Sencillo
Realista
Ventajas de Usar Modelos
Ayudar a entender un problema complejo.
Investigar y comparar soluciones alternativas.
Comunicar idas acerca de un problema o una solucin.
Demonstrar al cliente que el sistema es viable.
Detectar errores y omisiones en el diseo.
Generar un plan de implementacin.
Negociar cambios al sistema y cuantificar los impactos econmicos.
-
2. MODELOS DE ESTIMACIN
Los Modelos de Estimacin son mtricas que se aplican al Proceso de desarrollo de
software, estos determinan el tiempo de desarrollo y esfuerzo a emplear.
Usa tcnicas tales como:
Basada en Opinin de Expertos, que estar soportada por la experiencia
profesional, esta el mtodo Puro y el de Wideband Delphi.
Analogas, comparacin directa con proyectos pasados exitosos.
Mtodo basado exclusivamente en los Recursos: Parkinson.
En la estimacin consiste en ver de cuanto personal y durante cuanto tiempo se
dispone de el, haciendo esa estimacin. En la realizacin, El trabajo se expande
hasta consumir todos los recursos disponibles (Ley de Parkinson).
Mtodo basado exclusivamente en el Mercado: Precio para Vender.
Lo importante es conseguir el contrato, el precio se fija en funcin de lo que
creemos que esta dispuesto a pagar el cliente.
Mtodo basado en los Componentes del Producto, es fragmentar el producto en
sus partes, la estimacin global es la suma de las estimaciones de los
componentes.
Esta el mtodo Bottom-up en el cual se descompone el proyecto en las unidades lo
menores posibles, se estima cada unidad y se calcula el coste total.
Esta el mtodo Top-Down, en el cual se ve todo el proyecto, se descompone en
grandes bloques o fases, se estima el coste de cada componente.
Modelos de Estimacin basados en Modelos Estadsticos, Teoras y Modelos
Compuestos, se basan en la utilizacin de frmulas que aplicadas sobre modelos
top-down o bottom-up producen una estimacin de costo del proyecto.
El costo se estima como una funcin matemtica de los atributos del personal,
producto, proyecto y plataforma.
Tienen la siguiente estructura:
Esfuerzo = A + B x Tamao C x M
A, B y C son constantes que se obtienen empricamente.
-
M es un multiplicador que refleja los atributos del personal, producto,
proyecto y plataforma.
Tamao es la variable de estimacin (LDC o PF) .
Entre los Modelos orientados a LDC propuestos se tienen:
Modelo de Walston-Felix : E = 5.2 x (KLDC)0.91
Modelo de Bailey-Basisli : E = 5.5 + 0.73 x (KLDC)1.16
Modelo de Doty: E = 5.288 x (KLDC)1.047
Modelo simple de Boehm : E = 3.2 x (KLDC)1.05
Entre los modelos orientados a PF se tienen:
Modelo de Albretch y Gaffney : E = -13.39 + 0.054 x PF
Modelo de Kemerer : E = 60.62 x 7.728 x 10-8
x PF3
Modelo de Matson, Barnett y Mellichamp : E = 585.7 + 15.12 x PF
Un buen modelo de estimacin debe poseer capacidades predictivas, no slo ser
descriptivo o explicativo. La validez de los modelos de estimacin se establece
comparando la coincidencia entre los datos empricos y experimentales.
Modelo de Estimacin basados en Modelos Estadsticos
C.E Walson y P.C. Felix, de IBM utilizaron datos de 60 proyectos terminados para
desarrollar un modelo simple del calculo del esfuerzo de desarrollo de Software.
Se encontr que una relacin de la forma era la mas representativa:
E = a L b [meses / personas]
donde L es la variable nmero de lneas de cdigo (LOC), en miles y E es el esfuerzo total
requerido en meses / personas.
Mediante una anlisis de regresin lineal se determinaron los valores de a y b. La ecuacin
resultante es:
E = 5.2 L 0.91
-
La productividad nominal de programacin en LOC por persona/mes, puede ser calculada
como L/E.
Modelos de Estimacin en basados en Teoras
El modelo ms importante es el de Putnam o SLIM. Este modelo asume una distribucin
especfica del esfuerzo a lo largo de la vida de un proyecto de desarrollo de Software. El
modelo se ha obtenido partir de distribuciones de mano de obra de grandes proyectos. Sin
embargo, se puede extrapolar a proyectos ms pequeos.
Est basado en la curva de Rayleigh, que describe la necesidad de personal al desarrollar
proyectos complejos.
Putnam desarroll la siguiente relacin entre el tamao del Software y el tiempo de
desarrollo.
E = L3
/ (C3
T4
)
Donde:
L = Nmero de instrucciones producidas (ESLOC). (Effective Source Lines of Code)
E = Esfuerzo durante todo el ciclo de vida en aos / personas.
C = Constante dependiente de la tecnologa.
2000 para un entorno pobre de desarrollo de software (sin metodologa,
con una documentacin y revisiones pobres).
0 2 4 6 8 10 12
0
10
20
30
40
50
60C.E Walson y P.C. Felix de IBM
60 Proyectos Terminados Exitosamente
L - Nmero de lneas de cdigo [KLOC]E -
Es
fue
rzo
tota
l re
qu
erid
o [m
es
es
/ p
ers
on
as
]
-
8000 para un buen entorno de desarrollo de Software (con una buena
tecnologa adecuada, documentacin y revisiones).
11000 para un entorno excelente (con herramientas y tcnicas
automticas).
T = Tiempo de desarrollo en aos.
Se aprecia que el esfuerzo es proporcional a la cuarta potencia del tiempo necesario para
la entrega. As, si queremos entregar el trabajo en la mitad de tiempo, el esfuerzo
necesario en personas-ao se multiplicar por 16.
Modelos de Estimacin en basados en Modelos Compuestos
Son modelos que utilizan una combinacin del Anlisis Estadstico y Juicio de Expertos.
Basado en la experiencia de proyectos reales
Modelo Independiente: No est ligado a un vendedor de software especfico
COCOMO 81 y II de Boehm, es el ms conocido y slidamente documentado.
COCOMO II se explicar ms adelante.
-
SOFCOST de Trausworthe, del Laboratorio de Propulsin, intent desarrollar una
estimacin de costo del Software utilizando elementos de los modelos con ms
xito disponibles. Este modelo requiere 68 parmetros de entrada, cuyos valores se
deducen a partir de las respuestas del usuario a 47 preguntas acerca del proyecto.
SPQR de Capers Jones, ha desarrollado un modelo de estimacin de costos llamado
Software Productivity, Quality and Reliability.
El enfoque del problema es similar al de Boehm en su modelo COCOMO. Est basado en
20 factores que influyen razonablemente en el costo y productividad del desarrollo del
software y que estn bien definidos y otros 25 factores que no estn tan bien definidos.
SPQR requiere responder a ms de 100 preguntas relacionadas con el proyecto para
formular los parmetros de entrada necesarios en el calculo de los costos y los planes.
Jones seala que con este modelo es posible proporcionar estimaciones de costo que
estarn el 90% de las veces dentro del valor real con una desviacin del 15%.
COPMO de Thebaut, propone un modelo de desarrollo de Software que intenta
contabilizar el esfuerzo requerido cuando los equipos de programacin estn involucrados
en grandes proyectos. La ecuacin general de calculo de esfuerzo es:
E = a + b S + c P d
Donde, a,b,c,d, son constantes a ser determinadas a partir de datos empricos mediante
anlisis de regresin.
S = Tamao del programa en miles de LOC
P = Promedio de personal durante el ciclo de vida del proyecto
Desafortunadamente, este modelo requiere dos parmetros cuyos valores no son
conocidos hasta la terminacin del proyecto. Adems, las constantes b y c dependientes
de la complejidad del Software no son fcilmente determinables.
-
3. FAMILIA COCOMO
Constructive Cost Model (COCOMO), es un modelo matemtico de base emprica utilizado
para estimacin de costos de software.
Desarrollado a finales de los aos 70 hasta 1981 por el Dr. Barry Boehm en UCLA, es el
modelo de estimacin de costos ms utilizado, en el ao 2000 se public la versin
COCOMO II.
Incluye tres sub-modelos, cada uno ofrece un nivel de detalle y aproximacin, cada vez
mayor, a medida que avanza el proceso de desarrollo del software: Bsico, Intermedio y
Detallado.
Evolucin de la Familia COCOMO
Caractersticas Generales COCOMO II
Permite estimar el esfuerzo, costo y duracin de cualquier proyecto de software.
Es un modelo algortmico basado en una serie de frmulas matemticas que producen una
estimacin en funcin de un conjunto de variables (x1, x2, , xn):
Lneas de cdigo, Tamao del software a realizar (lneas: KLSI) o puntos de funcin.
Capacidad de analistas y programadores.
-
Complejidad del producto.
Duracin del proyecto: Unidad de tiempo (meses del calendario).
Restricciones de tiempo de ejecucin, memoria, equipos de trabajo, etc.
El parmetro principal para la estimacin de costo es Software Lines of Code LOC,
tambin puede usar Puntos de Funcin y estos se convierten a LOC.
La estimacin cubre nicamente las fases:
Incepcin
Elaboracin
Construccin
Transicin
Incluye todos los costos directos del proyecto, pero no los indirectos.
El esfuerzo se mide en Personas - Mes.
Concepto Operacional COCOMO II
-
Proceso de Estimacin con COCOMO II
Modelos COCOMO II
Diseo Preliminar
Est indicado para estimar en proyectos antes de que la arquitectura est
completa.
La medida de tamao se hace en Puntos de Funcin que luego se transforman en
KLSI para su entrada en las frmulas.
Tiene cinco factores de escala con seis rangos cada uno.
Diseo Post-Arquitectura
Est indicado para proyectos en los que la arquitectura ha sido completada.
Toma como entrada KLOC.
Tiene 17 atributos de costo y 7 de diseo preliminar.
Personal con experiencia intermedia, algunos tienen experiencia y otros no.
Algunas interfaces muy rigurosas otras flexibles.
Tamao mximo 300 KLSI.
Diseo de Composicin de Aplicaciones
Esta indicado para: Proyectos construidos con herramientas, Re-utilizacin del
software y Construccin de Interfaces.
Toma como entrada Tamao en puntos objeto.
-
Clculo del Esfuerzo (MM), Tamao (Size) y Tiempo de Desarrollo (TDEV) COCOMO II
Esfuerzo, sin ajustar, Diseo Preliminar y Post- Arquitectura.
MMsin ajustar = a(q)* Size B
a(q), depende del calibrado (2.94 COCOMO II, 2000), obtenido a travs de
resultados de proyectos anteriores.
Size es el Tamao del software.
B = 0.91 + 0.01 * j=1..5 SF j
Si B es:
B < 1 Proyecto presenta ahorro de escala.
B = 1 Los ahorros de escala y los gastos estn equilibrados.
B > 1 El proyecto presenta gasto de escala.
Los Factores de Escala SF son:
Modelo de Composicin de
Aplicacin
Modelo de Diseo
Preliminar
Modelo de Reutilizacin
Modelo Post Arquitectura
Nmeros de Puntos de Aplicacin
Numero de Puntos de Funcin
Numero de lneas de Cdigo de Reutilizacin
o Generadas
Numero de Lneas de
Cdigo Fuente
Sistemas desarrollados usando lenguajes dinmicos,
programacin DB, etc.
Estimacin de esfuerzo inicial basado en requerimientos del sistema y opciones de diseo
Esfuerzo para integrar componentes de reutilizacin
o cdigo generado automticamente
Esfuerzo de desarrollo basado en especificacin de diseo del
sistema
Con base en Usado por
Con base en
Con base en
Con base en
Usado por
Usado por
Usado por
-
SF1 = PRE, precedentes.
SF2 = FLEX, Flexibilidad de desarrollo.
SF3 = RESL, Arquitectura /resolucin de riesgos.
SF4 = TEAM, Cohesin del equipo.
SF5 = MAT, Madurez del proceso.
Esfuerzo Ajustado, Diseo Preliminar y Post- Arquitectura lo define como:
MM = MMsin ajustar * Xi
Donde Xi son los diferentes Atributos o Drivers, 7 para el caso del modelo Diseo
Preliminar y 17 para el modelo post arquitectura, se han calibrado sobre 198
proyectos.
Atributos de Producto
RELY: Confiabilidad requerida
DATA: Tamao de la base de datos
DOCU: Documentacin necesaria
CPLX: Complejidad del producto
RUSE: Reusabilidad requerida
Atributos de Plataforma
TIME: Restricciones de tiempo de ejecucin
STOR: Restricciones de almacenamiento
PVOL: Cambio de plataforma
Atributos de Personal
ACAP: Capacidad de los analistas
AEXP: Experiencia de los analistas
-
PCAP: Habilidad de los programadores
PEXP: Experiencia en este tipo de plataforma
LEXP: Experiencia con el lenguaje de software
PCON: Continuidad de personal
Atributos de Proyecto
TOOL: Herramientas que soportan las actividades de anlisis y diseo
SITE: Coordinacin entre sitios
SCED: Compresin o extensin de la duracin del proyecto
Tamao, sin ajustar, Diseo Preliminar y Post- Arquitectura
Size = Size * (1 + BRAK/100)
El porcentaje de rotura de BRAK es para ajustar el tamao eficaz del producto, esto
refleja la volatilidad de los requisitos.
Tiempo de Desarrollo, Diseo Preliminar y Post- Arquitectura
TDEV = 3,67 * MMexp
* ( SCED/100)
exp = 0,28 + 0,2 * (E - 0.91)
Limitaciones de COCOMO II
Factores cualitativos son difciles de modelar.
Calibracin utilizando proyectos exitosos.
Es fcil manipular el modelo para obtener resultados deseados.
Los resultados no son proporcionales a las tareas de gestin ya que no tiene en cuenta los
recursos necesarios para realizarlas.
Se puede desviar de la realidad si se indica mal el porcentaje de lneas de comentarios en
el cdigo fuente.
-
Es un tanto subjetivo, puesto que est basado en estimaciones y parmetros que pueden
ser "vistos" de distinta manera por distintos analistas que usen el mtodo.
Se miden los costos del producto, de acuerdo a su tamao y otras caractersticas, pero no
la productividad.
La medicin por lneas de cdigo no es vlida para desarrollos en programacin orientados
a objetos (OOP).
Utilizar este modelo puede resultar complicado, en comparacin con otros mtodos.
4. METRICAS DE PRODUCTIVIDAD
Las Mtricas de Productividad se centran en el rendimiento de las funciones del desarrollo
de software, para obtener:
Tamao de la cartera de aplicaciones (Nmero de Puntos Funcin).
Las tendencias del crecimiento de dicha cartera (Nmero de Puntos Funcin en
Perodos de Tiempo).
Ratio de Productividad de un proyecto (Tamao, Nmero de Puntos Funcin /
Esfuerzo), se conoce cuando se finaliza el proyecto.
Ratio de duracin del desarrollo de un proyecto (Nmero de Puntos Funcin /
Tiempo transcurrido).
Productividad global de una empresa (Nmero de Puntos Funcin / Esfuerzo total
de la empresa).
Entre 10 y 10.000 Puntos Funcin la Productividad es difcilmente comparable.
-
5. METRICAS DE CALIDAD
Las mtricas de calidad proporcionan una indicacin de cmo se ajusta el software a los
requisitos implcitos y explcitos del usuario :
Ratio de estabilidad (Nmero de cambios / Nmero de Puntos Funcin).
Ratio de defectos (Nmero de defectos / Nmero de Puntos Funcin
Ratio de suficiencia, en la Fase de Pruebas (Nmero de defectos / Nmero de
Puntos Funcin de lo que se prueba).
Tiempo medios de correccin (Tiempo transcurrido / Nmero de problemas).
Fiabilidad (Fallo de la aplicacin / Nmero de Puntos Funcin de la aplicacin).
6. BIBLIOGRAFIA
Wikipedia, COCOMO II.
Mtricas, Estimacin de tamao y recursos, Desarrollo de Sistemas de Informacin
Corporativos, Departamento de Informtica, Universidad Carlos II de Madrid.
Estimacin de Costos de Proyectos de Software, Dr. Ricardo Valerdi, CIMAT Septiembre
2007, MIT.
COCOMO II, Model Definition Manual, 2000 Center for Software Engineering, USC.
Estimacin de Costes del Software, Carlos Castillo Diestra, Universidad Privada del Norte.
Modelos de Estimacin COCOMO, Ingeniera de software 9, SOMMERVILLE.