Garca Saba Jean Carlos Pupuche Mesa Hector Vega Valqui Carlos
ESTIMACION DE COSTOS Docente: Consuelo de Castillo Castro 2 ESTIMACION DE COSTOS PLAN 3 LO PRINCIPAL PARA LAS PERSONAS COSTO 4 ESTIMACIN DE COSTOS
ACCESO A INFORMACION
EXPERIENCIA
CORAJE PARA CONFIAR EN MEDIDAS 5 ESTIMACION DE COSTOS
MANEJADOR
ESTA EN RELACIN COSTO 6 ESTIMACION DE COSTOS
COSTO
TECNOLOGA
RECURSOS
COMPLEJIDAD 7 MTRICAS PARA LA PRODUCTIVIDAD Y CALIDAD DEL SOFTWARE 8 METRICA Es una asignacin de valor a un atributo de una entidad propia de software, ya sea un producto o proceso. 9 CLASIFICACION DE METRICAS Mtricas de productividad Mtricas de Calidad Mtricas Tcnicas Mtricas Orientadas al tamao Mtricas Orientadas a la Funcin Mtricas Orientadas a la persona 10 METRICAS DEL PRODUCTO Y DEL PROCESO Obtenido a partir de: CODIGO FUENTE ENTORNO DE DESARROLLO 11 CALIDAD DE UN PRODUCTO ISO 8402 conjunto de funcionalidades y caractersticas de un producto o servicio que se centran en su capacidad de satisfacer las necesidades, ya sea implcitas o bien explicitadas claramente, de un cliente o usuario. CALIDAD 12 UNIDADES DE MEDIDA LDC por Persona Dia Hrs para implemental un Punto de Funcin N de Errores Importe Monetario Pginas de Documentacin Medida habitual del costo: Es la cantidad de dinero que cuesta producir un software determinado. Medidas habituales del esfuerzo: Se reducen siempre al trabajo que lleva a cabo un profesional en una determinada unidad de tiempo. 1. Persona Da 2. Persona Mes 3. Persona Ao
EL ESFUERZO Y LA MEDIDA DE LA PRODUCTIVIDAD 14 - El problema de esta terminologa surge a partir de su denominacin habitual, que se puede encontrar a menudo con la sigla MM (Man - Month). - Su denominacin cambio: Persona-mes Staff- month Engineering - month
Problemas Terminolgicos de Hombre Mes 15 VENTAJAS Fcil de Obtener. Existen muchos modelos de estimacin basados en LDC. Existen muchas medidas de LDC.
LAS LINEAS DE CDIGO INCONVENIENTES Dependientes de los lenguajes de programacin. Perjudican a los programas cortos, pero bien diseados. Difcil uso en estimacin debido al nivel de detalle. Mejores programadores producen menos cdigos. 16 Productividad: Coste / LDC Pginas de Doc. / KLDC KLDC / Persona - mes Calidad: Errores / KLDC. Defectos / KLDC
METRICAS
-Relaciona las medidas individuales e indican una medida de Calidad o Productividad. 17 Ejemplo: Desarrollo: FARMACIA Los Resultados obtenidos de nuestra productividad son: Coste = 13.9 (C / LDC) Pag.Doc = 31.3 (Pag.Doc / KLDC) Esfuerzo = 403.3 (Esf. / KLDC) Los resultados obtenidos en calidad son: Errores = 10.3 (Err. / KLDC) Defectos = 2.4 (Def. / KLDC)
Los resultados obtenidos en calidad son: Errores = 6.8 (Err. / KLDC) Defectos = 2.2 (Def. / KLDC)
18 19 La realizacin de estimaciones adecuadas sobre el tamao y esfuerzo requerido es una de las caractersticas fundamentales de un proyecto de desarrollo de software exitoso. Las malas estimaciones o ms comnmente las no estimaciones, son posiblemente una de las principales causas de los fracasos. 20 Las estimaciones estn asociadas con el esfuerzo, costo y el tiempo de las actividades identificadas del proyecto. Los administradores del proyecto deben estimar las respuestas a las siguientes preguntas:
1. Cunto esfuerzo (personal necesario) se requiere para completar una actividad? 2. Cunto tiempo se necesita para completar una actividad? 3. Cul es el costo total de una actividad? 21 ESTIMACIN DEL PROYECTO DE SOFTWARE.
Para realizar estimaciones seguras de costos y esfuerzos se tienen varias opciones:
Dejar la estimacin para mas adelante. Desarrollar las estimaciones en proyectos similares ya terminados. Utilizar tcnicas de descomposicin relativamente sencillas para generar las estimaciones de costos y esfuerzo del proyecto. Desarrollar un modelo emprico para el calculo de costos y esfuerzos del Software.
22 TECNICAS DE ESTIMACIN. Se han desarrollado varias tcnicas de estimacin para el desarrollo de software, las cuales todas tienen en comn los siguientes atributos:
Se han de establecer de antemano el mbito del proyecto. Como bases para la realizacin de estimaciones se usan datos de software de proyectos pasados. El proyecto se descompone en partes ms pequeas que se estiman individualmente. 23 TECNICAS DE ESTIMACIN. ESTIMACIN DEL ESFUERZO.
Es la tcnica ms comn para calcular el coste de un proyecto de ingeniera de software. Se aplica un nmero de personas-da, mes o ao a la solucin de cada tarea del proyecto. 24 TECNICAS DE ESTIMACIN. ESTIMACIN LDC Y PF:
Las estimaciones de LDC y PF son tcnicas de estimacin distintas:
LDC (Datos de lneas de Cdigo) PF (Puntos de Funcin)
Los datos de LDC y PF se utilizan de dos formas durante la estimacin del proyecto de software. 25 TECNICAS DE ESTIMACIN. ESTIMACIN LDC Y PF:
Como una variable de estimacin que se utiliza para dimensionar cada elemento del software. Como mtricas de lnea base recopiladas de proyectos anteriores
El valor esperado para la variable de estimacin, E, puede obtenerse como una media ponderada de las estimaciones LDC o PF optimista (a), ms probable (m), y pesimista (b) de las estimaciones LDC o PF por ejemplo: E = (a + 4m + b)/6
26 MODELOS DE ESTIMACIN. LOS MODELOS EMPRICOS:
Los datos que soportan la mayora de los modelos de estimacin se obtienen una muestra limitada de proyectos. El modelo de estimacin no es adecuado para todas las clases de software y en todos los entornos de desarrollo. Por lo tanto los resultados obtenidos de dichos modelos se deben utilizar con prudencia. 27 28
EL MODELO COCOMO:
Modelo Constructivo de Costos COCOMO es una jerarqua de modelos de estimacin de costes de software que incluye submodelos bsico, intermedio y avanzado. 29 MODELO 1 (COCOMO bsico) calcula el esfuerzo y el coste del desarrollo en funcin del tamao estimado del programa (LDC). Se utiliza para una aproximacin rpida al principio del ciclo de vida.
ESFUERZO: E = a b KLDC bb
TIEMPO: D = c b E db
TIPOS DE COCOMO 30 MODELO 2 (COCOMO intermedio) calcula el esfuerzo y el coste en funcin del tamao estimado del programa y de un conjunto de guas de coste que incluyen una evaluacin subjetiva del producto, hardware, personal y atributos del producto
ESFUERZO: E = a i KLDC bi x FAE (factor de ajuste del esfuerzo) 31 MODELO 3 (COCOMO avanzado) incorpora las caractersticas del mod. 2 y evala el impacto de los FAE en cada fase del desarrollo.
Modelo Constructivo de Costes (COCOMO : Constructive Cost Model) 32 El modelo de esfuerzo general aplicable a todos los niveles de aplicacin y modos est dado por:
Donde: E : Es el esfuerzo estimado expresado en hombres-mes EDSI : Es el nmero estimado de lneas de cdigo distribuidas en miles para el proyecto a, b : Son constantes determinadas por el modo del desarrollo, ambos incrementados por la complejidad de la aplicacin. EAF : Es el factor de ajuste de esfuerzo EAF= 1 ( modelo bsico ) EAF= producto de 15 factores de costo (modelo intermedia y avanzado) Coeficientes para el modelo bsico que depende de modo de desarrollo:
E = a (EDSI)b * (EAF) MODO DE DESARROLLO a b c d Orgnico 2.4 1.05 2.5 0.38 Semi-acoplado 3.0 1.12 2.5 0.35 Empotrado 3.6 1.20 2.5 0.32 MODELO COCOMO 33 MODELO COCOMO El tiempo de desarrollo requerido por el proyecto, en meses es igual a:
Donde E : es el esfuerzo c,d : son coeficiente, cuyos valores se indicaron anteriormente en una tabla. El nmero de programadores es igual a: PG = E / TDEV 34 MODELO COCOMO Ejemplo 1. Usando COCOMO bsico para estimar el esfuerzo requerido y el costo del proyecto en el desarrollo de un programa de 10000 lneas en modo orgnico se tiene el siguiente:
Tiempo de desarrollo del proyecto
TDEV = 2.5 (25.2) ^ [0.38] =8.5 meses Personas necesarias para realizar el proyecto (CosteH) = E/TDEV CosteH = 25.2 / 8.5 = 2.96
Costo total del proyecto (CosteM) = CosteH * Salario medio entre los programadores y analistas. CosteM = 2.96 * ( 700 $) = 2075 $ en el Peru 2.96 * ( 1000 ) = 2960 en Espaa
Se puede observar que a medida que aumenta la complejidad del proyecto , las constantes aumentan de 2.4 a 3.6, que corresponde a un incremento del esfuerzo del personal. Hay que utilizar con mucho cuidado el modelo bsico puesto que se obvian muchas caractersticas del entorno
E = 2.4 (10.0)1.05 * 1 = 25.2 Mes-hombre E = a (EDSI)h * (EAF) MODELO COCOMO Boehn adopta el modelo COCOMO Intermedio para repartir costos a componentes individuales, considerando las 8500 lneas proyectadas, realizando la lista de componentes:
Se puede observar que los exponentes son los mismos que los del modelo bsico, confirmando el papel que representa el tamao; mientras que los coeficientes de los Modos orgnico y rgido han cambiado, para mantener el equilibrio alrededor del semilibre con respecto al efecto multiplicador de los atributos de coste.
COMPONENTES EDSI % TOTAL CMM NOM
PERSONAL 2000 23.4% 7.06 FACTURA 3000 35.3% 10.60 POR COBRAR 3500 41.2% 12.36 MODO DE DESARROLLO a b c d Orgnico 3.2 1.05 2.5 0.38 Semi-acoplado 3.0 1.12 2.5 0.35 Empotrado 2.8 1.20 2.5 0.32 36 Coeficientes para el modelo intermedio que depende de modo de desarrollo:
Los manejadores de costo tiene para elegir una de las seis posibilidades que son: Very Low (VL), Low (L), Nominal (N), High (H), Very High (VH), y Extra High (XH); no todos los rangos son vlidos para todos los manejadores de costo. Manejadores de Costo Very Low Low Nominal High Very High Extra High ACAP Analyst Capability 1.46 1.19 1.00 0.86 0.71 - AEXP Applications Experience 1.29 1.13 1.00 0.91 0.82 - CPLX Product Complexity 0.70 0.85 1.00 1.15 1.30 1.65 DATA Database Size - 0.94 1.00 1.08 1.16 - LEXP Language Experience 1.14 1.07 1.00 0.95 - - MODP Modern Programming Practices 1.24 1.10 1.00 0.91 0.82 - PCAP Programmer Capability 1.42 1.17 1.00 0.86 0.70 - RELY Required Software Reliability 0.75 0.88 1.00 1.15 1.40 - SCED Required Development Schedule 1.23 1.08 1.00 1.04 1.10 - STOR Main Storage Constraint - - 1.00 1.06 1.21 1.56 TIME Execution Time Constraint - - 1.00 1.11 1.30 1.66 TOOL Use of Software Tools 1.24 1.10 1.00 0.91 0.83 - TURN Computer Turnaround Time - 0.87 1.00 1.07 1.15 - VEXP Virtual Machine Experience 1.21 1.10 1.00 0.90 - - VIRT Virtual Machine Volatility - 0.87 1.00 1.15 1.30 - MODELO COCOMO MODELO COCOMO Nivel de Componente de COCOMO Intermedio Basado sobre 30hombre-mes para el esfuerzo (E), el numero de EDSI para hombre-mes es dado por.
Usando el EDSI/ mes-hombre, cada componente aporta una proporcin al total de valor por ejemplo el componente nominal mes-hombre(CMMNOM) para el componente de personal es dado por:
Despus de calcular el CMMNOM para cada componente, el factor de ajuste de esfuerzo (EAF ) es calculado individualmente para cada componente. Por ejemplo: el CMMADJ para el componente factura es calculado por : (EDSI/mes-hombre)NOM= 8500/30 = 283 EDSI mes-hombre (CMMNOM) = EDSI por componente/ (EDSI/MM)NOM= 2000/283 =7.06 CMMNOM CMMADJ= (CMMNOM)*(EAF)= 10.60*1.13 = 11.98 CMMADJ MODELO COCOMO Ejemplo 2. Usando COCOMO Intermedio para estimar el esfuerzo requerido en el desarrollo de un programa de 10000 lneas en modo orgnico, cuyo tamao es de 200 KDSI, y presenta los siguientes manejadores de costo: Baja Confiabilidad => 0.88 Alta Complejidad del producto => 1.15 Baja experiencia en la aplicacin => 1.13 Alta experiencia en los lenguajes de programacin => 0.95 otros manejadores de costo asumen a ser nominales => 1.00
EAF = .88 * 1.15 * 1.13 * .95 = 1.086
E = 3.2 * ( 2001.05 ) * 1.086 = 906 mes-hombre TDEV = 2.5 * 9060.38 = 33.24 PG = 906/33.24 = 27 programadores MODELO COCOMO Ventajas COCOMO es transparente, se puede ver como trabaja con otros modelos tal como SLIM (Software Life Cycle Management). Manejadores de costo ayudan particularmente al estimador a comprender el impacto de diferentes factores que afectan en el costo del proyecto.
Desventajas Triunfo depende ampliamente de la adaptacin del modelo a las necesidades de la organizacin, usando datos histricos; los cuales no siempre estn disponibles. Extremadamente vulnerable para la mis-clasificacin de el modo de desarrollo. Es difcil estimar KDSI con precisin sobre el antiguo proyecto, cuando la mayora de las estimaciones de esfuerzo son requeridas. KDSI, realmente, no es una medida del tamao, sino una medida de longitud. 40 MODELO COCOMO MODELO DETALLADO Presenta principalmente dos mejoras respecto al anterior: Los factores correspondientes a los atributos son sensibles o dependientes de la fase sobre la que se realizan las estimaciones. Aspectos tales como la experiencia en la aplicacin, utilizacin de herramientas de software, etc., tienen mayor influencia en unas fases que en otras, y adems van variando de una etapa a otra. Establece una jerarqua de tres niveles de productos, de forma que los aspectos que representan gran variacin a bajo nivel, se consideran a nivel mdulo, los que representan pocas variaciones, a nivel de subsistema; y los restantes son considerados a nivel sistema.
MODELO COCOMO ADA COCOMO Barr Bohema & Walter Roce, 1987, 1988 definen el nuevo modelo COCOMO, llamado "Ada COCOMO". Este modelo al igual que el COCOMO estndar utiliza los manejadores de costo y ecuaciones anteriormente definidas.
COCOMO INCREMENTAL Fue definido casi al mismo tiempo que Ada COCOMO. EL modelo COCOMO Incremental es una moderna alternativa para el tradicional modelo cascada de el desarrollo de procesos de software. Permite una variedad de desarrollo de procesos. En vez de modelar el software como a esfuerzo simple para obtener un producto simple. Permite desarrollar una serie de proyectos de software concurrente y producir un producto intermedio. Esta estrategia reduce risk y permite entregar un producto inicial ms fcilmente al cliente. Tambin existen algunas derivaciones de COCOMO como ser: Cocots, (Constructive Cost) Cossemo, (Constructive Staged Schedule & Effort Model). Copromo, (Constructive Productivity Improvement Model) ,Coqualmo , Coradmo MODELO COCOMO COCOMO II Incorporado en el ao 1990. Modelo que permite estimar el coste, esfuerzo y tiempo cuando se planifica una nueva actividad de desarrollo software. Tiene caractersticas de los modelos COCOMO 81 y Ada COCOMO. Apunta hacia los proyectos software de los 90 y de la primera dcada del 2000, y continuar evolucionando durante los prximos aos. Presenta tres submodelos : EL MODELO DE COMPOSICIN DE APLICACIONES. El modelo de composicin de la aplicacin es usada para estimar el esfuerzo y planificacin de proyectos que usa las herramientas integradas CASE para un desarrollo rpido de la aplicacin.
EL MODELO DE DISEO ANTICIPADO. puede utilizarse para obtener estimaciones aproximadas del coste de un proyecto antes de que est determinada por completo su arquitectura. MODELO POST-ARQUITECTURA :cubre el actual desarrollo y mantenimiento de un producto de software. Esta etapa del ciclo de vida procede mas a un costo efectivo. El modelo de post-arquitectura predice el esfuerzo de desarrollo del software, personas-mes (PM), utiliza un conjunto de 17 multiplicadores de manejadores de costo (EM) y un conjunto de 5 escalas de manejadores de costo para determinar la escala del exponente del proyecto (SF). Esta escalas de los manejadores de costo remplazan los modos de aplicacin (orgnico, sem.-acoplado y acoplado); el modelo tiene la siguiente forma:
PM = a * (Size) 1.01 + "j5= 1* I17= 1 Emil 43 Realizando una comparacin entre COCOMO 81 y COCOMO II; a este ltimo se le aadi nuevos manejadores de costos para la aplicaciones precedentes, flexibilidad en el desarrollo, necesita documentacin para el ciclo de vida, mltiples sitios de desarrollo y requiere software reusable. DIFERENCIAS ENTRE COCOMO II Y ANTECESORES MODELO COCOMO CONCLUSIONES Al realizar el trabajo de investigacin acerca de COCOMO llegamos a las siguientes conclusiones: COCOMO es una herramienta basada en la lneas de cdigo la cual le hace muy poderoso para la estimacin de costos y no como otros que solamente miden el esfuerzo en base al tamao. Hoy en da es necesario para un administrador de proyectos posser una herramienta de estimacin de costos; y esta herramienta puede ser COCOMO. COCOMO representa el ms extenso modelo emprico para la estimacin de software publicado hasta la fecha. Existen herramientas automticas que estiman costos basados en COCOMO como ser: Costar, COCOMO 81. Con la realizacin de este trabajo ampliamos nuestro conocimientos acerca de la estimacin de costos que es fundamental para un analista, administrador de proyecto.