estimaci n de costos - departamento de programación 2012-2 · pdf filemodelo de...
TRANSCRIPT
ESTIMACIÓN DE COSTOS
Integrantes:
ARMENDARIZ MONTOYA SANDIBEL
GREGORIO MORALES JORGE DE JESUS
MONROY SUAREZ DIEGO
VALLEGO GONZALEZ JESUS
¿QUÉ ES COCOMO?
� MODELO DE ESTIMACION DE PROYECTOS DE
SOFTWARE
� En el año 1981 Barry Boehm lo pública� En el año 1981 Barry Boehm lo pública
� Permite realizar estimaciones en función del
tamaño del software, y de un conjunto de
factores de costo y de escala
Métodos de estimación:Métodos de estimación:Métodos de estimación:Métodos de estimación:
•Juicio de Expertos: implica la consulta a expertos
•Analogía: implica una estimación por analogía con proyectos similares
•Parkinson: adaptar la estimación del costo a los recursos disponibles
•Tasa para ganar: estima costos en función del presupuesto adecuado
•Estimación top-down: de las propiedades globales del producto de software deriva el costo de todo el proyecto
•Estimación bottom-up: el costo de cada componente es estimado por separado, luego sumados para obtener el costo total del proyecto
•Modelos Algorítmicos: proveen uno o más algoritmos que estiman el costo del software en función de un número de variables que se consideran los principales factores de costo
Objetivos:
•Desarrollar un modelo de estimación de costo y
cronograma de proyectos de software
•Construir una base de datos de proyectos de
software que permitiera la calibración continua del
modelo
•Implementar una herramienta de software que •Implementar una herramienta de software que
soportara el modelo.
•Proveer un marco analítico cuantitativo y un
conjunto de herramientas y técnicas que evaluaran
el impacto de las mejoras tecnológicas sobre los
costos y tiempos en las diferentes etapas del ciclo
de vida de desarrollo.
� Debido a la complejidad de los proyectos software, el modelo original fue modificado, denominándose el modelo actual “COCOMO II”.
� El nuevo modelo permite estimar el esfuerzo y tiempo de un proyecto de software en dos etapas diferentes:
�diseño temprano
�post-arquitectura
�Composición de Aplicación
�Diseño Temprano
COCOMO II POSEE TRES MODELOS DENOMINADOS:
�Diseño Temprano
�Post-Arquitectura
***Se adaptan tanto a las necesidades de los diferentes sectores descritos, como al tipo y cantidad de información disponible en cada etapa del ciclo de
vida de desarrollo, lo que se conoce por granularidad de la información
MODELO COMPOSICIÓN DE APLICACIÓNMODELO COMPOSICIÓN DE APLICACIÓNMODELO COMPOSICIÓN DE APLICACIÓNMODELO COMPOSICIÓN DE APLICACIÓN
La fórmula propuesta en este modelo es la siguiente:
PM = NOP / PRODPM = NOP / PRODPM = NOP / PRODPM = NOP / PROD
Donde:
NOP (Nuevos Puntos Objeto): Tamaño del nuevo software a desarrollar NOP (Nuevos Puntos Objeto): Tamaño del nuevo software a desarrollar NOP (Nuevos Puntos Objeto): Tamaño del nuevo software a desarrollar NOP (Nuevos Puntos Objeto): Tamaño del nuevo software a desarrollar
expresado enexpresado enexpresado enexpresado en
Puntos Objeto y se calcula de la siguiente manera:
NOP = OP x (100 NOP = OP x (100 NOP = OP x (100 NOP = OP x (100 ---- %%%%rehusorehusorehusorehuso)/100)/100)/100)/100
OP (Puntos Objeto): Tamaño del software a desarrollar expresado en Puntos OP (Puntos Objeto): Tamaño del software a desarrollar expresado en Puntos OP (Puntos Objeto): Tamaño del software a desarrollar expresado en Puntos OP (Puntos Objeto): Tamaño del software a desarrollar expresado en Puntos
ObjetoObjetoObjetoObjetoObjetoObjetoObjetoObjeto
%rehusó: %rehusó: %rehusó: %rehusó: Porcentaje de Porcentaje de Porcentaje de Porcentaje de rehusó rehusó rehusó rehusó que se espera lograr en el proyectoque se espera lograr en el proyectoque se espera lograr en el proyectoque se espera lograr en el proyecto
PROD: Es la productividad promedio determinada a partir del análisis de PROD: Es la productividad promedio determinada a partir del análisis de PROD: Es la productividad promedio determinada a partir del análisis de PROD: Es la productividad promedio determinada a partir del análisis de
datos dedatos dedatos dedatos de
proyectos en [Banker 1994], mostrada en Tabla 6.
MODELO DISEÑO TEMPRANOMODELO DISEÑO TEMPRANOMODELO DISEÑO TEMPRANOMODELO DISEÑO TEMPRANO
� Usa en las etapas tempranas de un proyecto
de software.
� El modelo de Diseño Temprano ajusta el
esfuerzo nominal usando siete factores de
costo. La fórmula para el cálculo del costo. La fórmula para el cálculo del
esfuerzo es la siguiente:
� Pmnominal: es el esfuerzo Nominal
� KSLOC KSLOC KSLOC KSLOC es el tamaño del software a desarrollar expresado en miles de líneas de
código fuente
� A A A A es una constante que captura los efectos lineales sobre el esfuerzo de acuerdo a
la variación del tamaño
� B B B B es el factor exponencial de escala,.
� EMiEMiEMiEMi factores de costo que tienen un efecto multiplicativo sobre el� EMiEMiEMiEMi factores de costo que tienen un efecto multiplicativo sobre el
esfuerzo, llamados Multiplicadores de Esfuerzo (Effort Multipliers).
****Cada factor se puede clasificar en seis niveles diferentes que expresan el
impacto del multiplicador sobre el esfuerzo de desarrollo. Esta escala varía desde
un nivel Extra Bajo hasta un nivel Extra Alto
CLASIFICADOS EN CATEGORÍAS, LOS 7 MULTIPLICADORES DE ESFUERZO SON
� Del Producto
RCPX: Confiabilidad y Complejidad del producto
RUSE: Reusabilidad Requerida
� De la Plataforma
PDIF: Dificultad de la PlataformaPDIF: Dificultad de la Plataforma
� Del Personal
PERS: Aptitud del Personal
PREX: Experiencia del Personal
� Del Proyecto
FCIL: Facilidades
SCED: Cronograma de Desarrollo Requerido
MODELO POSTMODELO POSTMODELO POSTMODELO POST----ARQUITECTURAARQUITECTURAARQUITECTURAARQUITECTURA
� Es el modelo de estimación más detallado y se aplica cuando la arquitectura del proyecto está completamente definida
� Este modelo se aplica durante el desarrollo y mantenimiento de productos de software.
� La fórmula para el cálculo del esfuerzo es la siguiente
� El esfuerzo nominal de desarrollo de un proyecto de software se ajusta para una mejor estimación mediante factores que se clasifican en cuatro áreas:
� Producto
� Plataforma,
� Personal
� Proyecto
FACTORES QUE TIENEN QUE VER CON EL PRODUCTO
RELY
� Este factor mide la confiabilidad del producto desoftware a ser desarrollado, esto es, que elproducto cumpla satisfactoriamente con lafunción que debe realizar y respete el tiempo deejecución que se fijó para el mismo.ejecución que se fijó para el mismo.
Nivel de Nivel de Nivel de Nivel de escalaescalaescalaescala ValorValorValorValor
Muy Alto 1.26
Alto 1.10
Nominal 1.00
Bajo 0.92
Muy Bajo 0.82
DATA (TAMAÑO DE LA BASE DE DATOS)
El valor de DATA se determina calculando la relación entre el tamaño de la base de datos y el tamaño del programa.
Nivel de escala Valor
DATA => 1000 1.28
100<=DATA<1000 1.14
10<=DATA<100 1.00
DATA < 10 .90
CPLX (COMPLEJIDAD DEL PRODUCTO)
Analiza la complejidad de las operaciones empleadas en el producto, clasificadas en operaciones: de control, computacionales, dependientes de los dispositivos, de administración de datos y de administración de interfaz de usuario.de datos y de administración de interfaz de usuario.
Nivel de escala Valor
Extra Alto 1.74
Muy Alto 1.34
Alto 1.17
Nominal 1.00
Bajo 0.87
Muy Bajo 0.73
RUSE(REQUERIMIENTOS DE REUSABILIDAD)
Este factor considera el esfuerzo adicional necesario para construir componentes que puedan ser rehusadas dentro de un mismo proyecto o en futuros desarrollos.
Nivel de escala Valor
Extra Alto 1.24
Muy Alto 1.15
Alto 1.07
Nominal 1.00
Bajo 0.95
DOCU
Documentación acorde a las diferentes
etapas del ciclo de vida
Nivel de escala ValorNivel de escala Valor
Muy Alto 1.23
Alto 1.11
Nominal 1.00
Bajo 0.91
Muy Bajo 0.81
FACTORES QUE TIENEN QUE VER CON LA PLATAFORMA
TIME (RESTRICCIÓN DEL TIEMPO DE EJECUCIÓN)
� Este factor representa el grado de restricción de tiempo de ejecución impuesta sobre el sistema de software.
� EL valor de TIME está expresado en términos de porcentaje de tiempo de ejecución de porcentaje de tiempo de ejecución disponible que usará el sistema
Uso del tiempo
Nivel de escala Valor
95 Extra Alto 1.63
85 Muy Alto 1.29
70 Alto 1.11
<= 50 Nominal 1.00
STOR (RESTRICCIÓN DEL ALMACENAMIENTO PRINCIPAL)
Este factor es una función que representa el
grado de restricción del almacenamiento
principal impuesto sobre un sistema de
software.software.
Nivel de escala Valor
Extra Alto 1.46
Muy Alto 1.17
Alto 1.05
Nominal 1.00
PVOL (VOLATILIDAD DE LA PLATAFORMA)
Este factor se usa para representar la
frecuencia de los cambios en la plataforma
subyacente.
CambiosCada
Nivel de escala Valor
2 semanas Muy Alto 1.30
2 meses Alto 1.15
6 meses Nominal 1.00
12 meses Bajo 0.87
FACTORES QUE TIENEN QUE VER CON EL PERSONAL
ACAP (CAPACIDAD DEL ANALISTA)
� Analista: es la persona que trabaja con los requerimientos, en el diseño global y en el diseño detallado.
Nivel de escala Valor
Muy Alto 0.71
Alto 0.85
Nominal 1.00
Bajo 1.19
Muy Bajo 1.42
PCAP (CAPACIDAD DEL PROGRAMADOR)
En el uso de las herramientas actuales, existe una tendencia a darle mayor importancia a la capacidad del programador. Se evalúa la capacidad de los programadores para el trabajo en equipo más que para el trabajo individualen equipo más que para el trabajo individual
Nivel de escala Valor
Muy Alto 0.76
Alto 0.88
Nominal 1.00
Bajo 1.15
Muy Bajo 1.34
PCON (CONTINUIDAD DEL PERSONAL)
Este factor mide el grado de permanencia
anual del personal afectado a un proyecto
de software.
Nivel de escala Valor
Muy Alto 0.81
Alto 0.90
Nominal 1.00
Bajo 1.12
Muy Bajo 1.29
AEXP (EXPERIENCIA EN LA APLICACIÓN)
Este factor mide el nivel de experiencia del
equipo de desarrollo en aplicaciones similares.
tiempo Nivel de escala Valor
6 años Muy Alto 0.81
3 años Alto 0.88
1 año Nominal 1.00
6 meses Bajo 1.10
2 meses Muy Bajo 1.22
PEXP (EXPERIENCIA EN LA PLATAFORMA)
Este es otro factor que se debe tomar en
cuenta ya que existe gran influencia de este
factor en la productividad.
Nivel de escala Valor
Muy Alto 0.85
Alto 0.91
Nominal 1.00
Bajo 1.09
Muy Bajo 1.19
LTEX (EXPERIENCIA EN EL LENGUAJE Y LAS HERRAMIENTAS)
Este factor mide el nivel de experiencia del
equipo en el uso del lenguaje y herramientas
a emplear.
Nivel de escala Valor
Muy Alto 0.84
Alto 0.90
Nominal 1.00
Bajo 1.09
Muy Bajo 1.20
FACTORES QUE TIENEN QUE VER CON EL PROYECTO
TOOL (USO DE HERRAMIENTAS DE SOFTWARE)
El tipo de herramientas abarca desde las que permiten editar y codificar hasta las que posibilitan una administración integral del desarrollo en todas sus etapas.
� Muy Bajo, corresponde al uso de herramientas sólo para codificación, edición y depuración
� Muy Alto incluye potentes herramientas integradas al proceso de desarrollo.desarrollo.
Nivel de escala Valor
Muy Alto 0.78
Alto 0.90
Nominal 1.00
Bajo 1.09
Muy Bajo 1.17
SITE (DESARROLLO MULTICITADO)
� La determinación de este factor de costo involucra la evaluación y promedio de dos factores, ubicación espacial (disposición del equipo de trabajo) y comunicación (soporte de comunicación).comunicación).
Nivel de escala Valor
Muy Alto 0.86
Alto 0.93
Nominal 1.00
Bajo 1.09
Muy Bajo 1.22
SCED (CRONOGRAMA REQUERIDO PARA EL DESARROLLO)
Este factor mide la restricción en los plazos
de tiempo impuesta al equipo de trabajo.
Nivel de escala Valor
Muy Alto 1.00
Alto 1.00
Nominal 1.00
Bajo 1.14
Muy Bajo 1.43
EAF
� EAF= (RELY*DATA *CPLX* RUSE *DOCU
*TIME* STOR* PVOL *ACAP*PCAP* PCON*
AEXP *PEXP *LTEX *TOOL *SITE *SCED)
� EAF= producto de todos los factores (columna
21)
B
Es el factor exponencial de escala, toma en
cuenta las características relacionadas con
las economías y deseconomías de escala
reducidas cuando un proyecto de software reducidas cuando un proyecto de software
incrementa su tamaño.
B=1.1 + 1.01∑(wj)
PREC
� toma en cuenta el grado de experiencia previa en relación al producto a desarrollar, tanto en aspectos organizacionales como en el conocimiento del software y hardware a utilizar.
Nivel de Nivel de Nivel de Nivel de
evaluacionevaluacionevaluacionevaluacionvalorvalorvalorvalor
Extra Alto 0.00
Muy Alto 1.24
Alto 2.48
Nominal 3.72
Bajo 4.96
Muy Bajo 6.20
FLEX
Considera el nivel de exigencia en elcumplimiento de los requerimientospreestablecidos, plazos de tiempos yespecificaciones de interfase
Nivel de Nivel de Nivel de Nivel de
evaluacionevaluacionevaluacionevaluacionvalorvalorvalorvalor
Extra Alto 0.00
Muy Alto 1.24
Alto 2.48
Nominal 3.72
Bajo 4.96
Muy Bajo 6.20
RESL
� Este factor involucra aspectos relacionados
al conocimiento de los ítems de riesgo crítico
y al modo de abordarlos dentro del proyecto.
Nivel de Nivel de Nivel de Nivel de
evaluacionevaluacionevaluacionevaluacionvalorvalorvalorvalor
Extra Alto 0.00
Muy Alto 1.41
Alto 2.83
Nominal 4.24
Bajo 5.65
Muy Bajo 7.07
TEAM
� El factor de escala denominado Cohesión del Equipo tiene en cuenta las dificultades de sincronización entre los participantes del proyecto: usuarios, clientes, desarrolladores, encargados de mantenimiento, etc.
Nivel de Nivel de Nivel de Nivel de
evaluacionevaluacionevaluacionevaluacionvalorvalorvalorvalor
Extra Alto 0.00
Muy Alto 1.10
Alto 2.19
Nominal 3.29
Bajo 4.36
Muy Bajo 5.48
PMAT
Existe dos formas de calcularlo:
La primera captura el nivel de madurez de la organización, resultado de la evaluación según CMM y asignándole el valor según CMM y asignándole el valor correspondiente según
EvaluacionEvaluacionEvaluacionEvaluacion CMMCMMCMMCMM Nivel de evaluaciónNivel de evaluaciónNivel de evaluaciónNivel de evaluación valorvalorvalorvalor
5 Extra Alto 0.00
4 Muy Alto 1.56
3 Alto 3.12
2 Nominal 4.68
1-mitad superior Bajo 6.24
1- mitad inferior Muy Bajo 7.80
Celda Celda Celda Celda 29 : PM nominal29 : PM nominal29 : PM nominal29 : PM nominal
PMnominal= 2.94 x ( Líneas de código en miles)B
Celda Celda Celda Celda 30: Productividad30: Productividad30: Productividad30: Productividad
ESFUERZO NOMINAL DEL MODULO
� columna 22: columna 22: columna 22: columna 22: Esfuerzo nominal del modulo, esta
columna se tiene que dividir las líneas de
código entre el PMnominal
ESFUERZO ESTIMADO POR MODULO..
� Se obtiene con le producto del esfuerzo
nominal del modulo y EAF
ESFUERZO ESTIMADO
� Celda 31: Una vez calculados todos estos
valores, hacer la sumatoria total y ponerlos al
final de la columna 23.
� PMestimado=∑PMestimado modulo
TDEV
� Tiempo de desarrollo: es el tiempo calendario en meses que transcurre desde la determinación de los requerimientos a la culminación de una actividad que certifique que el producto cumple con las especificaciones. Celda Celda Celda Celda 24242424que el producto cumple con las especificaciones. Celda Celda Celda Celda 24242424
COSTO MES PERSONA
El costo mes persona para cada modulo
(esto es expresado en miles de dólares). � Columna 25: Columna 25: Columna 25: Columna 25:
Celda 32: ∑ ( costos )Celda 32: ∑ ( costos )Celda 32: ∑ ( costos )Celda 32: ∑ ( costos )
COSTO POR INSTRUCCIÓN (COLUMNA 26)
Productividad líneas de código Productividad líneas de código
mes persona (columna 27)
Celda 33: Celda 33: Celda 33: Celda 33: Promedio
productividad de
lineas de codigo mes
personapersona
VENTAJAS Y MEJORAS
�
☺ ser adaptado (calibrado) a un organismo enparticular
� ☺Contar con la experiencia de un número ☺Contar con la experiencia de un número
importante de proyectos ya culminados que se
puedan aportar los datos necesarios para la re
calibración
� ☺Contar con un ajuste para las diferentes
limitaciones para las estimaciones que se poseen