Ingeniería de Software

Clase 4
Estimación del costo del Software

UNPSJB 2005

Ingeniería de Software - Clase 4

1

Glosario de la Clase

Objetivos

Introducir técnicas para estimar el costo y el esfuerzo requeridos para la producción de Software. Se busca  Comprender los fundamentos de precios y costos del software y la compleja relación entre ellos  Métricas que se utilizan para valorar la productividad  Comprender los principios rectores de COCOMO 2 para estimación algorítmica de costos
Ingeniería de Software - Clase 4 2

UNPSJB 2005

Qué es la estimación de costos?

Conceptos o definiciones

Si no podemos medir el software, no podremos manejarlo [De Marco] La estimación del tamaño del software es la predicción de cuán grande será el producto una vez que esté terminado. La principal razón para estimar el tamaño del software es ayudar a construir un plan de desarrollo.

La estimación de costos es una aproximación a los costos del proyecto. Se mide en términos de esfuerzos requeridos por persona/mes por año. El proceso de estimación de costos es un conjunto de técnicas utilizadas para desarrollar estimaciones de costo del software a partir de entradas, limitaciones y otros factores que puedan influir.
3

UNPSJB 2005

Ingeniería de Software - Clase 4

Conceptos iniciales

Los administradores de proyecto deben estimar las respuestas a las siguientes preguntas


UNPSJB 2005

Cuanto esfuerzo se requiere para completar una actividad? Cuanto tiempo calendario se necesita para completar una actividad? Cual es el costo total de una actividad?

Estimación y planificación  se hacen en forma conjunta Es necesario normalmente estimar antes de planificar.

Ingeniería de Software - Clase 4

4

Clase 4 5 .Conceptos iniciales  Tres parámetros involucrados en el cálculo del costo total del proyecto    Costos de hardware y software (incluyendo mantenimiento) Costos de viajes y capacitación Costos de esfuerzo (pagos a los ingenieros de software)  generalmente considerado más importante  Se descarta el precio del hard y soft  en Argentina no se debería descartar  Los viajes y capacitación también se consideran “despreciables”. UNPSJB 2005 Ingeniería de Software .

) Costo de recursos como bibliotecas.Conceptos iniciales  Como se compone el costo del esfuerzo       Sueldo de los ingenieros involucrados en el sistema Costo de las redes y comunicaciones Costos de personal de apoyo (secretarios. etc. personal de limpieza.Clase 4 6 . para las oficinas) Costos de seguridad social y seguros de salud (de los empleados) UNPSJB 2005 Ingeniería de Software . esparcimiento. Costos de medio ambiente (luz. técnicos. te. etc. gas.

Conceptos iniciales  Calcular los costos   Para asignar un precio al soft que tome en cuenta consideraciones de la organización Factores que afectan la asignacion de precios    Oportunidad de mercado (cobrar poco para ingresar a un mercado nuevo) Incertidumbre en la estimacion de costos (una organización insegura en su costo estimado  tiende a incrementar sus valores “por las dudas”   UNPSJB 2005 Ingeniería de Software .Clase 4 Términos contractuales (si el cliente acepta que se “reutilice” su código en otros sistemas  los costos grales pueden bajar) Volatilidad de requerimientos (si los req. cambian al principo el precio es bajo para ganar el trabajo y luego se pueden “aumentar” ante cada cambio pedido Salud financiera (ante problemas finacieros bajamos los costos (necesitamos el 7 laburo!!) ) .

Experiencia y cantidad de miembros en el equipo de desarrollo Dispoonibilidad de herramientas Adecuación a estándares DBMS y experiencia del equipo con el hardware 8 .Conceptos iniciales  Causas de estimaciones inadecuadas (estudio del ´92)   Aspectos del proyecto que influyeron en la estimación       Pedidos frecuentes de cambio por parte de los  usuarios Tareas pasadas por alto  Pérdida de comprensión de los usuarios de sus propios requerimientos  Análisis insuficinte cuando se  desarrolla una estimación Pérdida de un método  adecuado o guías para la  estimación  UNPSJB 2005 Ingeniería de Software .Clase 4 Complejidad del sistema Integracion requerida con sistemas existentes Capacidades del equipo de desarrollo Dimension del sistema expresada en término de funciones o programas Frecuencia en los cambios de req.

9 UNPSJB 2005 .Productividad  Se mide    Contanto el número de unidades producidas y dividiendo a este entre el número de personas hora requeridas para producirlas En problemas de software existen múltiples soluciones con diferentes abributos. Ej:   Entonces  Como estimar?? Con medidas  Medidas relacionadas al tamaño (LDC)   Una más eficiente en performance Otra más fácil de mantener Ingeniería de Software .Clase 4 Presenta inconvenientes con lenguajes de alta generación  Medidas relacionadas a la función (PF)  Independientes del lenguaje.

Productividad  Puntos función   Productividad se expresa como PF producidos por persona por mes Cálculo   Factores que se miden     Entradas y salidas externas Interacciones con el usuario Interfaces externas Archivos utilizados por el sistema   Cada uno tiene una ponderación de acuerdo a complejidad Ajustan los PF multiplicando por pesos estimados Ingeniería de Software .Clase 4 10 UNPSJB 2005 .

o sea el código que hay que ingresar a mano. Gen.Clase 4 11 UNPSJB 2005 .de 4ta.Productividad  Puntos Objetos (PO)     Alternativa de PF Más utilizados con los Leng. 2y 3 de acuerdo a la complejidad)  Número de informes que se producen (2 los sencillos. Se utilizan los PO para el modelo de estimación COCOMO-2 Qué mide:  Número de pantallas independientes que se despliegan (ponderadas entre 1. 5 los intermedios y 8 los complejos)  Módulos clásicos que se desarrollan en el entorno del 4GL. Ingeniería de Software .

Clase 4 12 UNPSJB 2005 .Productividad  Factores que afectan al productividad      Experiencia en el dominio de la aplicación Calidad del proceso: de desarrollo del producto Tamaño del proyecto Apoyo tecnológico Ambiente del trabajo Ingeniería de Software .

Productividad    Con PF o PO  es posible estimar las primeras etapas del proceso de desarrollo LDC no son útiles. además. datos históricos (# promedio de líenas de código.   Se puede utilizar. AVC) Tamaño del código = AVC x Número de PF  AVC promedio   200-300 LDC / PF Ass 2-40 LDC / PF 4GL UNPSJB 2005 Ingeniería de Software . aún no se decidió el lenguaje a utilizar Los PF se utilizan para estimar el tamaño final del código.Clase 4 13 .

Clase 4 14 . UNPSJB 2005 Ingeniería de Software . etc.Productividad  Boehm    El problema  medidas de volumen / tiempo  no tienen en cuenta carcterísticas no funcionales del soft   La productividad varía desde cuatro puntos de objeto por mes hasta 50 dependiendo de  Herramientas de apoyo  Capacidad del desarrollador  Estas medidas asumen que  más significa mejor Fiabilidad Mantenimiento.

Clase 4 15 .Técnicas de estimación  No es simple de realizar  factores     Las estimaciones iniciales se basan en requerimientos generales del usuario Probablemente no se conoce a la plantilla de trabajo y su experiencia Quizá no se conoce la tecnología de desarrollo Puede haber problemas con la valoración de técnicas de estimacíon de costos UNPSJB 2005 Ingeniería de Software .

16 Modelo en función de información histórica relacionada con métricas de software y su costo  así se precide el esfuerzo requerido Cada uno opina. El costo del soft se estima independientemente de lo que el cliente esté dispuesto a pagar por él. El costo se determina por los recursos disponibles. El esfuerzo depende de lo que el cliente quiera pagar y no de la funciónalidad del soft. se compara y se intenta llegar a una conclusión  Ley de Parkinson   Opinión de expertos   Asignar precios para ganar  UNPSJB 2005 Ingeniería de Software . más que por los objetivos logrados.Técnicas de estimación  Técnicas de estimación de costos   Estimación por analogía  Modelado de algoritmo de costo  Aplicable cuando se desarrollaron proyectos similares Establece que el trabajo se extiende para llenar tiempo disponible.Clase 4 .

17 UNPSJB 2005 Ingeniería de Software .Clase 4 .Técnicas de estimación  Problemas  costos “anteriores” vs. OO. por ej. en lugar de trabajo muy artesanal.) cambios que afectan las estimaciones de acuerdo con la experiencia      Desarrollo OO en lugar de orientado a funciones Sistemas C/S en lugar de desarrollos en mainframes Utilizar componentes comerciales en lugar de desarrollarlas Reutilizar gran parte del trabajo efectuado Herramientas cASE y 4GL con mesas de ayuda. Costos “futuros”   Ejemplos     Varian los métodos Técnicas de desarrollo Poca experiencias en esas nuevas técnicas (UML.

Modelado algorítmico de costos    Enfoque más sistemático aunque no el más preciso Se construye analizando los costos y atributos de proyectos realizados.Clase 4 .5 (refleja el esfuerzo para grandes proyectos M = multiplicador generado al combinar diferentes procesos. atributos del producto y del desarrollo 18 UNPSJB 2005 Ingeniería de Software . Muchas componentes de estimación algorítmica  exponenciales   La estimación algorítmica     El costo del proyecto no se incrementa linealmente con su tamaño  Esfuerzo = A x Tamaño B x M A = factor constante que depende de prácticas de organización locales Tamaño = valoración del tamaño del código del soft o estimación de su funcionalidad B entre 1 y 1.

Modelado algorítmico de costos  Modelos algoritmicos  dificultades    Dificil estimar el tamaño en la primer etapa del proyecto. Dependen del conocimiento y experiencia Decisiones de diseño que aún no se conocen durante la estimaicón  pueden afectar el tamaño final del sistema   DBMS  se puede utilizar uno existente o crear uno Lenguaje  Java genera más LDC que C   Pero Java hace más comprobaciones en compilación que bajan el costo de la validación.Clase 4 . B y M son muy subjetivas. Como se toma en cuenta lo anterior?  Como se evalúa la reutilización? 19 UNPSJB 2005 Ingeniería de Software .

20 . Si la estimación inicial es X meses de esfuerzo  El rango varía de UNPSJB 2005 Ingeniería de Software .Modelado algorítmico de costos  Si para el Ej anterior se usan modelos algorítmicos    La precisión de las estimaciones de un modelo algorítmico   Se deben calibrar los datos Estimador debe tener en cuenta  Peor estimación  Mejor estimacion  Estimación esperada   Dependen de la información disponible del sistema A medida que el proyecto avanza son más exactas.25x a 4x cuando el sistema se propone por primera vez.Clase 4 0.

5x Requerimientos Diseño Código Entrega 0.Clase 4 21 .25x UNPSJB 2005 Ingeniería de Software .Modelado algorítmico de costos  4x Incertidumbre estimada (Boehm 1995) 2x x Factibilidad 0.

COCOMO  Qué significa COCOMO?    COnstructive COst MOdel   Por que COCOMO?  Modelo para la construcción de costos   Quién lo creó?     Bohem 1981 Muy bueno para proyectos de la década del 80 y principios del 90 Los proyectos estimados con COCOMO estuvieron en + .Clase 4 22 .20% de las predicciones  Está bien documentado Es de dominio público Es ámpliamente utilizado y muy evaluado Gran tradición desde su creación UNPSJB 2005 Ingeniería de Software .

Clase 4 KDSI = miles de líneas de instrucciones 23 fuente entregadas . Usualmente con 300 KDSI UNPSJB 2005 Ingeniería de Software . aplicado luego de especificar los requerimientos Avanzado: aplicado luego de completar el diseño   Orgánico: equipos de soft relativamente pequeños desarrollando soft muy familiar en un ambiente “hogareño” Embebido: opera con limitaciones estrechas. regulaciones de soft y procedimientos operacionales Semi-aislado: paso intermedio entre los dos anteriores.COCOMO  COCOMO 81  Tres diferentes modelos (cada uno aumenta su detalle y precisión)   Tres diferentes modos:    Básico: aplicado en fases tempranas del proyecto Intermedio. el producto esta fuertemente atado a hardware complejo.

Clase 4 24 .COCOMO  KDSI = miles de líneas de instrucciones fuente entregadas      COCOMO 81 usa dos ecuaciones para calcular el esfuerzo en Hombre Mes (MM) y el número de meses estimado para el proyecto (TDEV) MM se baja en KDSI MM = a (KDSI )b * EAF TDEV = c (MM)d EAF es el Factor de Ajuste del Esfuerzo derivado de características del Costo (que llamamos M en transparencias anteriores) El valor de a.b.c.d depende del modo que se utilice UNPSJB 2005 Ingeniería de Software .

32= 38.5 0.4 2.05 1.5 0.20 C Ejemplo  Suponer un proyecto de control de vuelo (misión crítica) D   UNPSJB 2005 310000 instrucciones fuentes entregadas 2.0 3.COCOMO  Tabla de valores A 2.2= 5093 MM 2.32  Esqema = 2.5 0.4 meses =133 Ingeniería de Software .4 3.38  Modo embebido  Fiabilidad requerida muy alta 1.4*3.6 Modo Organico Semi-aislado Embebido B 1.Clase 4 25 persona por mes .4 mes  Promedio de staff = 5093 MM / 38.12 1.35  Se puede calcular  Esfuerzo=1.6(319)1.5*(5093)0.

COCOMO  COCOMO II    Desarrollado a partir de ls mediados de los 90 Objetivo  disponer de un modelo de estimación de costos y esquema de trabajo para el desarrollo del soft teniendo en cuenta las prácticas existentes en los 90 y los 2000 Desarrollar un modelo que tenga una herramienta y base de datos para determinar el costo del soft teniendo en cuenta las características de mejoramiento continuo en el modelado.Clase 4 26 . UNPSJB 2005 Ingeniería de Software .

Clase 4 27  Nivel de diseño inicial   Nivel post arquitectónico  UNPSJB 2005 . Se utiliza un conjunto de multiplicadores que reflejan: capacidad del personal. Las estimaciones se basan en punto función que se convierten en líneas de código fuente.COCOMO  Presenta tres niveles  Nivel de construcción de prototipos inicial  Las estimacioes de tamaño se basan en puntos objeto y se utiliza una fórmula sencilla tamaño/productividad para estimar el esfuerzo requerido Corresponde a la terminación de los requerimientos del sistema con algún diseño inicial. el producto y características del proyecto Ingeniería de Software . Diseñada la arquitectura del sistema se hace una estimación más o menos precisa del tamaño del soft.

 EAF se calcula desde 17 manejadores de costo. COCOMO 81 tenía 15. puntos función o líneas de código fuente.  UNPSJB 2005 Ingeniería de Software .COCOMO  Diferencias El valor de B (exponente) en la ecuación de esfuerzo es reemplazado con un valor variable basado en una escala de cinco factores  El tamaño del proyecto puede ser listado como puntos objeto.Clase 4 28 .

COCOMO  COCOMO 2. Formula final Donde    PM = (NOP*(1-%reutilización/100)) / PROD    Se basa en puntos objeto con peso Productividad  depende   UNPSJB 2005 Experiencia del programador Características de las herramientas CASE utilizadas PM es el esfuerzo en persona/mes NOP es el nro de PO PROD es la productividad tal cual se muestra a cont.: 29 Ingeniería de Software .Clase 4 . los niveles   Prototipos incial  Uso  estimar esfuerzo    cuando los proyectos prototipean Cuando se desarrolla reutilizando  La reutilización es muy común a este nivel El nro de PO se ajusta para tener en cuenta el % de reuso.

Clase 4 30 .COCOMO •Productidad de los puntos objeto Experiencia y capacidad de los desarrolladores Madurez y capacidad CASE Muy baja Muy baja baja baja normal normal alta alta Muy alta Muy alta PROD (NOP/ MES) 4 7 13 25 50 UNPSJB 2005 Ingeniería de Software .

flexiblidad de desarrollo.1 y 1. (entre 1.Clase 4 .5 (propuesto por Boehm) Tamaño medido en KSLOC (miles de líneas de código fuente) Se calcula utilizando PF Estima el tamaño del código implementado manualmente más que al generado o reutilizado  B  esfuerzo creciente al incrementarse el tamaño del proyecto. proceso de riesgo. dependiendo de la novedad del proyecto.COCOMO  Diseño inicial    Estimaciones basadas en la fórmula estándar: Esfuerzo = A x TamañoB x M     A  2.24. cohesión del equipo nivel de madurez de la organización (CMM) M  conjunto de 7 conductores de proyectos y procesos  Fiabilidad y complejidad del producto (RCPX)  Reutilización requerida (RUSE)  Dificultad de la plataforma (PDIF)  Capacidad del personal (PERS).  Experiencia del personal (PREX)  Calendario (SCED)  Recursos de apoyo (FCIL) 31 UNPSJB 2005 Ingeniería de Software .

ASLOC  número de líneas generadas automáticamente ATPROD nivel de productividad para este tipo de producción de código.Clase 4 . 32 PMm=(ASLOC x (AT/100))/ATPROD   Formula del esfuerzo Donde P = a * tamañoB * M + PMm   M = PERS*RCPX* RUSE* PDIF*PREX* FCIL*SCED  UNPSJB 2005 Ingeniería de Software .COCOMO   Se estima sobre una escala entre  1 valores bajos  6 valores altos PM factore que se utiliza cuando mucho código se genera automáticamente. AT porcentaje del código total del sistema que se genera automáticamente.

4 DM estructurado al 10% en codigo OO +0.COCOMO ESLOC  número equivalente de líneas de código nuevas  Se basa en la fórmula de  ASLOC  número de líneas de estimaciones iniciales  código reutilizable que deben teniendo en cuenta 17 modicarse factores para refinar el cálbulo del esfuerzo inicial  DM  porcentajes de modificación de diseño  KSLOC se ajusta para tomar en cuenta dos  CM  porcentajes de modificación factores importantes del código  Volatilidad de  IM  porcentaje del esfuerzo requerimientos original requerido para integrar el  Amplitud de la posible soft reutilizado reutilización  SU factor que se basa en el costo  Formula para el tamaño de comprension del sfot que varía del esfuerzo: desde 50% para soft complejo no ESLOC=ASLOC*(AA+SU+0.Clase 4 33 y8)  Postarquitectónico  .3 CM+. (valor entre 0 UNPSJB 2005 Ingeniería de Software .03 IM)/100 bien escrito  AA  valoración respecto de la reutilización del soft.

alto cliente establece solo metas generales)  Resulución de arquitecturariesgo (cantidad de AR efectuada. bajo poco alto mucho)  Cohesión del equipo (bajo poco. luego se divide por 100 y al resultado se le suma 1.COCOMO  El exponente (B) tiene tres posibles valores de acuerdo a la complejidad del proyecto  Se estima considerando 5 factores de escala  Precedentes (experiencia previa de la organización)  Flexibilidad de desarrollo (bajo se utiliza proceso preescrito. alto mucho)   Madurez del proceso ( utilizando el nivel de madurez de CMM) Cada factor anterior se toma en escala de 0 a 5 (EXTRA ALTO A muy bajo ) (ESCALA INVERSA) Los valores resultantes se suman.Clase 4 34 .01 para dar el exponente B  UNPSJB 2005 Ingeniería de Software .

COCOMO  Ejemplo de cálculo de B  Organización con poca experiencia en el dominio del problema. Como quería la escala UNPSJB 2005      Precedentes  proyecto nuevo para la organización 4 Flexibilidad de desarrollo  no se involucra el cliente muy alto 1 Resolución de riesto . Se forma un equipo e desarrollo nuevo. no se hace AR muy bajo 5 Cohesión del equipo se crea el equipo no hay datos. el cliente no ha definido el proceso a utilizar y no proporciona suficinete timepo en el calendario para hacer AR.17 Ingeniería de Software .01= 1. con el que la organización que hace el soft puede asegurar CMM nivel 2. medio 3 Madurez del proceso  algún control CMM 2 valor promedio 3 (4+1+5+3+3)100+1.Clase 4 35 .

COCOMO  Atributos que se utilizan para ajuste son de cuatro clases   Atributos del producto         Atributos del producto  características requeridas por el soft a desarrollar Atributos de la computadora  restricciones sobre el soft o sobre el hard Atributos del personal  experiencia y capacidades de los desarrolladores Atributos del proyecto  características puntuales de lo que se intenta realizar. RELY  flexibilidad requerida del sistema CPLX  complejidad de los módulos del sistema DOCU  amplitud de la documentación requerida DATA  tamaño de la BD RUSE  % requerido de componentes reutilizables TIME  restricciones de tiempo de ejecución PVOL  volatilidad de la plataforma de desarrollo STOR  restricciones de memoria  Atributos de la computadora    UNPSJB 2005 Ingeniería de Software .Clase 4 36 .

17 Tamaño del sistema 128000 (esto incluye factores de reutiización y requerimientos de volatilidad) Estimación inicial de COCOMO sin conductores de costo 730 persona mes UNPSJB 2005 Ingeniería de Software .Clase 4 37 .COCOMO  Atributos personales        Atributos del proyecto    ACAP  capacidad de análisis del proyecto PCON  continuidad del personal PEXP  experiencia del programador en el dominio del proyecto PCAP  capacidad del programador AEXP  experiencia del analista en el dominio del proyecto LTEX  experiencia en el lenguaje y las herramientas TOOL  utilizacion de las herramientas del soft SCED  compresión de los tiempos de desarrollo SITE  amplitud del trabajo en sitos múltiples y calidad de las comunicaciones del sitio  Siguiendo con el ejemplo anterior    Valor de B  1.

39 Complejidad MA 1.21 Utilizacion de herramientas B 1.75 Complejidad MB .75 Restricciones de memoria No hay 1 Utilizacion de herramientas MA .12 Calendario Acelerado 1.3 Restricciones de memoria A 1.72 Calendario normal 1 El resto se considera neutro (1 de incidencia) Se observa como inciden los factores en los dos calculos realizados UNPSJB 2005 Ingeniería de Software .29 El resto se considera neutro (1 de incidencia)     Fiabilidad MB 0.COCOMO  Estimación ajustada de COCOMO 2306 persona mes   Aca infuyen factores como    Estimacion ajusatada de COCOMO 295 persona mes      Fiabilidad MA(muy alta) 1.Clase 4 38 .

COCOMO  Modelo algoritmico de costos en la planeación del proyecto   Modelos para comparar diferentes formas de inversión Importante donde existen cosots de hard/soft comerciales y donde se necesita reclutar personal nuevo con habilidades específicas para el proyecto  Ej: control de una nave que se lanzará al espacio     Tiene que ser muy fiable Límites de peso muy rigurosos Número de chips mínimo Para COCOMO  UNPSJB 2005 Ingeniería de Software .Clase 4 Factores de fiabilidad y restricciones son muy importante (por encima de 1) 39 .

personal con experiencia de hard UNPSJB 2005 Ingeniería de Software . sistema de desarrollo y equipo de desarrollo B. nuevo sistema de desarrollo los costos de hard se incrementan la experiencia decrece F. solo actualiza la memoria los costos de hard se incrementan D. Utilizar el hardware existente. Personal más experimentado  Opciones a considerar  grafico E. Actualización del procesador y de la memoria los costos del hard se inclementan la experiencia crece C.COCOMO  Modelo algoritmico de costos en la planeación del proyecto  Tres componentes a tomar en cuenta    Costo del hard objetivo que ejecuta le sistema Costo de la plataforma para desarrollar el sistema (computadora más hardware) Costo del esfuerzo requerido para el deasarrollo A.Clase 4 40 .

COCOMO  Modelo algoritmico de costos en la planeación del proyecto  Las opciones anteriores incluyen   Gastar más en hard objetivo para reducir costos de soft Invertir enmejores herramientas de desarrollo  Los costos de hard adicionales   Aceptable si es un producto especializado (que no se produce en masa) No aceptable si el hard dbe estar en un producto de venta masiva UNPSJB 2005 Ingeniería de Software .Clase 4 41 .

12 0.COCOMO  Modelo algoritmico de costos en la planeación del proyecto Costo de las opciones de administración Opci RELY ón A B C D E F 1.72 1.06 1 1 TIME 1.84 1.22 1 0.39 1.22 0.39 1.06 1 1 1.11 1 1.39 1.39 1.39 1.39 STO R 1.11 1.84 ESFUERZ O TOTAL COSTO SOFT COSTO hARD COSTO TOTAL 63 88 60 54 56 57 949393 1313550 895653 769008 844425 851180 100000 120000 105000 100000 220000 120000 1049393 1402025 1000653 897490 1044159 1002706 Costo del soft = Esfuerzo estimado * RELY*TIME*STOR*TOOL*EXP*15000 (COSTO PROMEDIO DEL ESFUERZO PERSONA/MES) UNPSJB 2005 Ingeniería de Software .86 1.12 1 1.Clase 4 42 .86 0.11 1 1 TOOL LTEX S 0.86 0.

Otras opciones    L a opción D   Más gastos en hard Reclutamietno de nuevo personal Costos más bajos No requiere desembolso adicional de hard pero se debe reclutar nuevo personal    La opción B  Muestra que la actualizacion del hard no necesariamente reduce costos debido a que el multiplicador de experiencia es más significativo Si está en la compañía mejor Si es externo  Aumentan riesgos  Problemas de costo  los beneficios pueden ser menores que lo que sugiere el cuadro  La Opción C  Presenta ahorros sin riesgos asociados.Clase 4 .COCOMO  Modelo algoritmico de costos en la planeación del proyecto  La opcion A   Costo de construcción del sistema con laayuda y el persona existente. quízá sea la mejor para tomar 43 UNPSJB 2005 Ingeniería de Software .

Duración y personal del proyecto  No solo se estima esfuerzo  se debe    Estimar tiempo de desarrollo Personal necesario   COCOMO incluye  Formula para estimar calendari (TDEV) TDEV = 3 * (PM)(0.2*(B-1.33+0.Clase 4 44 .01)) PM cálculo del esfuerzo B B componente calculado anteriormente (1 para modelo inicial de construcción de prototipos) UNPSJB 2005 Ingeniería de Software .

diseño y codificación Idem para pruebas de unidad Desde ahí el número de persona decae. UNPSJB 2005 Ingeniería de Software . El # de personas crece desde un número relativamente chico hacia un máximo y luego decrece nuevamente. Más personas cuando Análisis detallado.Duración y personal del proyecto  Respecto del personal    Dividir el esfuerzo requerido en un proyecto por la duración del proyecto no da una indicación útil del número de personas requeridas para el equipo.Clase 4 45 .     Durante IR  pocas personas Idem planeación y AR.

sin embargo para cualquier estimación de costos se debería utilizar más de un método Conviene utilizar otro método que evaluara diferente a COCOMO para ver la perspectiva desde otro ángulo Aún las compañías que venden/utilizan COCOMO aconsejan utilizar otras herramientas COSTAR es otra posibilidad UNPSJB 2005 Ingeniería de Software .Clase 4 46 .COCOMO es lo mejor?     Es el método más popular.

Conclusiones de COCOMO     COCOMO es el método más popular para estimar software Fácilde hacer. las estimaciones pequeñas pueden resolverse “a mano” Hay versiones gráficas disponibles para bajarse de internet Existen varios productos comerciales que implementan COCOMO  tiene buen soporte pero son productos caros UNPSJB 2005 Ingeniería de Software .Clase 4 47 .

Conclusiones   El costeo de un producto de soft siempre se hace de manera “pobre” La presición de la estimación debe mejorarse   Utilizando colecciones de datos Utilizando herramientas  Utilizar varios métodos de estimación Ingeniería de Software .Clase 4 48 UNPSJB 2005 .

Samuel Lee.Referencias bibliográficas    Ingeniería de Soft (6ta edición) Ian Sommerville Software Cost Estimation (Seth Bowen. Universidad de Calgary) Ingeniería de Software . Lance titchkosky) Software cost estimation: metrics and models (kim Johnson.Clase 4 49 UNPSJB 2005 .

3 5.7 # 10-/./0 88902.974 .9.:.7.  & .425430390870:9.7/ 97-:948/0507843.774.425:9.8706:07/...808   97-:948/0574/:.85:39:./08 /048/08.2.907J89. ! . 5.-08 % 70897./4708 97-:948/05740./0$419.9/.4308/090254/0 00....:.1472..//048 2O/:48/088902../08.7 97-:948/0...N4/0.5..70 .:2039.7744 $% # 70897./0/08. 70897.94         97-:948/0574/:.4250/./47. 050703.907J89..7./706:07/. % 9.:890843/0.    97-:9486:080:9.4308 84-7008419484-700.  97-:948/0.80  .94 .08/0 46:08039039.O3 !'  ./47.7./.425:9.//0...    &!$  30307J..94 ...O3706:07/. /4..8 54708419. .70.4.4308/020247.774.. #&$ 706:07/4/0 .259://0.

94 !  ..2039..O3 706:07203948/0 ..208 &!$  30307J..2039..2.2.-...94     './/05747.4038948 29508.3. !! 050703.43/:./ 892.42:3.//0507843.4.030 /4234/05740.8/08419 $ .259://097.8077..//0.94 % 050703./47 ! 050703.   08943..7744 $% ...    97-:948507843.4308/0894  $:03/4..8 077.:0 1.9/.2./.425708O3/048902548 /0/08./0    83 .5.5.4393:/.47/0   %./0$419.08       ! .0 .94 !! .3E88/0 5740.8 .O33.89./0.70 .94708/070:9.43/0.//0.43 000254 ./47 030/4234/05740.N4/088902.03003:..390747    97-:948/05740./.94708/0../../05747.8 %  :9.80  .4894  507843.

./  4250/.743472...74.:8.43..9.43/0077. $04-807..03/./48 &!$  30307J..2039.4308/020247./  #0897./  #0897.43/0 077./ 2:.-/.947080348/48.424       ./0    507843./03481..   &9.   4250/. 4./03.208    .4243.:4870.94708.31:031.8  ./03.8   .4308/020247.70 .-/.    .80  ..../4  7089480. 7089480.03/..    892.438/07.2039. &9../0$419.:89.O3. 30:974 /03./0     507843../.438/07..9.007..30:974 /03.208   892./..

30.390/43/0 08903.O3/05740.4894803.48498/0 .8/03. 5.7/10703908 1472.7/.94   4/0485.7.078O3 25479.7.4/0.4792.425. .    4/04..

-0 J2908/050842: 7:74848 2074/0. 3.089. 3:0.:9. 70.7507843../0$419.-/.7.4..390 54703.06:080.7.     .2.7E.4308843 2:25479./0  .3.8419.94708/0 1..58 2J324 !.94  .4207./08 0850.0 5740.80 %0306:08072: 1.-/.43.43974/0:3.08 /43/08030....70 .85.J1./ 70897.4     &!$  30307J. 085.

425:9./0$419.. . 5.0  844./47.488902. 20247.1.9:.7/.3  !07843./0 /08.70 0890390 88902.70  4894/0081:074 706:07/45.    4/04.2E8 05072039.7/../0.48948/0. 5. 20247.  4894/0..46:000.30.:039.3 ..7744  .0 /0.050703./0.7/80 3..438/07.48948/0. 088902. /08. 48.48948/0.7 7.94   %708.2E8 ./47/0.4308.4254303908.43 050703.8.7/80 3.7.7088902.7/ 4-09.7/ &!$  30307J./0 /08.774406:54/0 /08.70.O3/05740.O3/0 574.7.9..4/0.9:.7/80 3. 942.0  507843.08...7744 5.702039..3 .70.80  .70.4792.7744 48./4  3:0.702039.02039.70 .1472..4894803..  4894/0.4  &9.703.5. 48.050703.774.:9..

.80  .70 .4792.8.-080.43.30.5.  48.390747083.940850..70/:.72E803.039.8/0 /08.94  .7/4-09.059.0032.845.8.7//-0089./0$419..4308.079703204708077.4894803 .    4/04..4/0.2039.45./.2.94/0.48948/0.O3/05740.-0808:3574/:..7744 .703:3 574/:./4 6:03480574/:.:03   .059.48948/08419 3.7.7 .89. 4.08   &!$  30307J.7/.

4792.5.    4/04.845.94 4894/0..30.O3/05740. # O3                   $% #         %          % $  %         $&# % %  $%  $ %  $%  #  $%  % %                                          4894/0841981:0740892..4/0.4894803 ./23897./4 # % $% # % !#  $&# !#$ .4308/0.O3 5.

$ &!$  30307J./0$419.70 .80  !    $%   .

 .0507843.94  .845.O3  !708039.20934/0 3:0./0$419.O3  :0897..:9.70 .43.4308    E8.425.:.    4/04.7/507480 /0-070. 0890390   97.7/ 3430./74  .73:0..4/0.4792.7. 5.082E8 831../48 6:JE 80.:/.4 $089E03.9.08.7  &!$  30307J.O3 /088902.485:0/03 80720347086:046:0 8:0700. 6:002:95.    .45.20390 70/:..O3  489482E8-.5.  ..7/ #0.4 507843.43/0./0.370848  !74-02.O3/05740.4774883 70848..7.84.43 .43897:..6:0.48  4706:070/0802-484 .894803.:9.45./.NJ.48948/0-/4...942.45.0.9:..4894 48-0301.. 2047 $08090734  :2039.80 ..30.43  4894/0..8/0./47/0 050703.4894803 ..20475.4507843.

30.43897:.:4/0 081:074 ...7 %' %'  !      !.39074720390  5..790254/0 /08.80  ..7 ..7.E. 081:074 80/0-0    892.:.24/04 3.03/.7744 !07843.74      3.:0  472:./0 .70 .0892./0$419.:7./05740.7.O3507843.5.08..425430390 ./4 .94  4844800892.O3/0 574949548 &!$  30307J.

94 34/.70./0$419.7.O3 # E8507843.:32E24 :04/0.20390      :7.8 5.70 .0 &!$  30307J.390# 54.80  ..:7. /:7.94  #0850./70081:074 706:07/403:3 5740.8 /025.70.8 /0:3/.O3/05740.0 3:0.O3507843.8706:07/.20390..O3 9/032074/0 507843.57:0-..:.94547...:3.006:54 /0507843./4  /80N4.30...    .0/08/0:3 32074 70.J032074 /0507843.9...94/0507843.O3 /025./ 08/0.4 ..3/.8 507843..8 ..8.4/1...7../05740./0.3/4 3E88/09.

4894880 /0-07J. 507850.6:070892.:./08/04974E3:4 3.9.07.:.7 8302-.7.O3/0.NJ..86:0..   5..72E8/0:32F94/4 43.03/03.425.749742F94/46:0 0.:9./1070390.7..030:9.74 5.8..7.   0842047     802F94/42E8545:.

8 077.:9.548-/..70 .7497.80  .2039.4380.3    ./0$419.8  $%#08497./ &!$  30307J.3:9.

748574/:.7.75.34 .78419.948.80  ..:84308/0          0802F94/42E8545:.8 5:0/037084./0$419.748 &!$  30307J.....43../0.80892.3    9030-:03 84547905074843574/:.780/03907309 8903.0780 ..2.. 0892.4308506:0N.8/8543-085.07843087E1.07 .4207.70 E. -.70 .948.086:0 2502039.7.

...O3/0.5708.48904/0:3574/:.0892.O3/0-0 2047.307.80  &!$  .40. 54-70 .8  &9.4308/0/.2039.O3 30307J.:84308   .0/02.3/4077..780   &9.948 &9.7..43.3/4.7482F94/48/0 0892./0$419.70 .94/08419 80257080.

.7 30307J..9432097.943 $09 403 $.8 .0/.8    30307J.80  &!$  ..2:000 .48 $419.70.70489892./0$419.//0.078/.3/24/08 243843  &3.70 ./0$419 9.0 $419.3.O3 .3 $42207.#010703.4890892.0 99.8--47E1.