UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA ESCUELA DE CIENCIA DE LA COMPUTACIÓN COCOMO MODELO CONSTRUCTIVO DE COSTES
POR: Roberth Paúl bravo Castro María Esther Ruilova Rojas
BREVE HISTORIA Modelo empírico Se obtuvo recolectando datos de varios proyectos de software grandes, y después analizando esos datos para descubrir fórmulas que se ajustarán mejor a las observaciones. Esta bien documentado, es de dominio público y lo apoyan herramientas comerciales. Se ha utilizado y evaluado ampliamente. Ha evolucionado del COCOMO 81( 1981) al COCOMO 2 (1995)
BREVE HISTORIA (2) 1983 introduce el lenguaje de programación Ada para reducir los costos de desarrollo de grandes sistemas. Algunos aspectos de Ada provocaron un gran impacto en los costos de desarrollo y mantenimiento, así Barry Boehm y Walker Royce definieron un modelo revisado, llamado Ada COCOMO [Boehm 1989]. En los 90, las técnicas de desarrollo de software cambiaron dramáticamente, surgieron la necesidad de reusar software existente, la construcción de sistemas usando librerías, etc.    USC COCOMO II
COCOMO’ 81 Es un modelo que apoya en la planificación de presupuesto y cronograma, antes de iniciar el trabajo. Es un modelo no lineal de una variable esfuerzo = a * KLD b tiempo = c * esfuerzo d  (d  meses)
COCOMO’ 81 Modelo 1 COCOMO básico, calcula esfuerzo y costo del desarrollo en función del tamaño del programa, expresados en LDC. Modelo 2 COCOMO intermedio, calcula esfuerzo y costo en función del tamaño del programa y de un conjunto de conductores de costo con atributos del producto, del HW, del personal y del proyecto. Modelo 3 COCOMO avanzado, incorpora las características del intermedio + evaluación de los condiciones de costo en cada fase del proceso.
TIPOS DE PROYECTOS Modo orgánico (Básico) Proyectos de software pequeños y sencillos. Programadores expertos desarrollan software en ambiente familiar . E m   = 2,4 L k 1,05  [H-M] t d  = 2,5 E m 0,38  [mes] L k = miles de líneas fuente entregadas
Modo semiacoplado  (Básico) Proyectos de software intermedio en cuanto a tamaño y nivel de complejidad. Mezcla de gente experta e inexperta E m   = 3,0 L k 1,12  [H-M] t d  = 2,5 E m 0,35  [mes]
Modo empotrado  (Básico) Proyectos muy restringidos  (procesador y hardware) y no han habido proyectos anteriores comparables . E m  = 3,6 L k 1,20  [H-M] t d  = 2,5 E m 0,32  [mes]
Modo orgánico (Intermedio) Esfuerzo Nominal    E n E n   = 3,2 L k 1,05  [H-M] Modo semi-acoplado (Intermedio) En  = 3,0 Lk 1,12  [H-M] Modo empotrado (Intermedio) En  = 2,8 Lk 1,20  [H-M] 15 multiplicadores de esfuerzo afectan E n  entregando E t (tiempo de desarrollo)t d   = 2,5 E t 0,32
COCOMO II Uno de los problemas del COCOMO original es su dependencia con el tamaño (LDC) como una variable clave. COCOMO II se basa en los puntos objeto. El punto objeto  es una medida indirecta de software que se calcula teniendo en cuenta el total de: pantallas o interfaces de usuario informes componentes necesarios construir para la aplicación Cada instancia de objeto se clasifica en un nivel de complejidad, según la tabla siguiente...
1. Cada instancia de objeto se clasifica en un nivel de complejidad. 2. El total de puntos de objeto se determina con la sumatoria de multiplicar el número original de instancias de objeto por el factor de peso asignado. Total PO  = Σ nro.instancias x peso. 3. Cuando se aplica sobre el desarrollo en componentes o para la reutilización en general se estima el % de reutilización y se calculan: PONuevos  = (puntos objeto) x [(100 - %reutilización) /100]
Esfuerzo estimado  = PON / PROD PROD= proporción de productividad basado en la experiencia del desarrollador y la madurez del entorno de desarrollo, según la tabla siguiente. Experiencia/capacidad del desarrollador Muy baja Baja Normal Alta Muy Alta Madurez/capacidad del entorno Muy baja Baja Normal Alta Muy Alta PROD 4 7 13 25 50
ESTIMACIÓN DEL ESFUERZO El esfuerzo necesario para concretar un proyecto de desarrollo de software, cualquiera sea el modelo empleado, se expresa en meses/persona (PM) y representa los meses de trabajo de una persona fulltime, requeridos para desarrollar el proyecto.
M. COMPOSICIÓN DE APLICACIÓN Fórmula propuesta para este modelo: PM = NOP / PROD M. DISEÑO TEMPRANO El modelo de Diseño Temprano ajusta el esfuerzo nominal usando siete factores de costo. La fórmula para el cálculo del esfuerzo es la siguiente:
PMEstimado  es el esfuerzo Nominal ajustado por 7 factores, que reflejan otros aspectos propios del proyecto que afectan al esfuerzo necesario para la ejecución del mismo. KSLOC  es el tamaño del software a desarrollar expresado en miles de líneas de código fuente. A  es una constante que captura los efectos lineales sobre el esfuerzo de acuerdo a la variación del tamaño, ( A=2.94 ). B  es el factor exponencial de escala, toma en cuenta las características relacionadas con las economías y deseconomías de escala producidas cuando un proyecto de software incrementa su tamaño. EMi  corresponde a los factores de costo que tienen un efecto multiplicativo sobre el esfuerzo, llamados Multiplicadores de Esfuerzo.
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 Plataforma Del Personal PERS: Aptitud del Personal PREX: Experiencia del Personal Del Proyecto FCIL: Facilidades SCED: Cronograma de Desarrollo Requerido
Modelo Post-Arquitectura se aplica cuando la arquitectura del proyecto está completamente definida. Este modelo se aplica durante el desarrollo y mantenimiento de productos de software incluidos en las áreas de Sistemas Integrados, Infraestructura y Generadores de Aplicaciones. El esfuerzo nominal se ajusta usando 17 factores multiplicadores de esfuerzo.
ESTIMACIÓN DEL CRONOGRAMA TDEV  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. PM*  es el esfuerzo expresado en meses personas, calculado sin tener en cuenta el multiplicador de esfuerzo  SCED.  B  es el Factor de Escala SCED%  es el porcentaje de compresión/expansión del cronograma.
USC – COCOMO II
Proceso de estimación con COCOMO II
CONCLUSIONES Durante la última década, la evolución de las tecnologías de desarrollo de software impulsó un nuevo enfoque en la estimación de costos, que considerara conceptos tales como orientación a objetos, reingeniería, reusabilidad, utilización de paquetes comerciales, composición de aplicaciones. Además, surgió la necesidad de que estos nuevos modelos se adaptaran a la granularidad de la información disponible en las diferentes etapas de desarrollo. La familia de modelos de COCOMO II, constituida por los modelos Composición de Aplicación, Diseño Temprano y Post-Arquitectura, conforma estas premisas ya que son parte de sus objetivos principales.
CONCLUSIONES (2) COCOMO II, al igual que el modelo original preserva su estado de dominio público en relación a los algoritmos, la herramienta de software, estructuras de datos, relaciones e interfases. Otra de las ventajas de este modelo es que puede ser adaptado (calibrado) a un organismo en particular, si se cuenta con la experiencia de un número importante de proyectos ya culminados que puedan aportar los datos necesarios para la recalibración. Sin lugar a dudas, en la actualidad siguen existiendo inconvenientes y limitaciones para las estimaciones, pero más allá de esto COCOMO II ha recorrido un importante camino, logrando la madurez necesaria del modelo para conseguir estimaciones de gran precisión.
BILBIOGRAFÍA http://www.sc.ehu.es/jiwdocoj/mmis/cocomo.htm http://www.ldc.usb.ve/~teruel/ci4713/clases2001/cocomo2.html http://sunset.usc.edu/research/COCOMOII/cocomo_main.html#cocomo81 http://pisuerga.inf.ubu.es/lsi/Docencia/TFC/ITIG/icruzadn/Memoria/612.htm

Cocomo

  • 1.
    UNIVERSIDAD TÉCNICA PARTICULARDE LOJA ESCUELA DE CIENCIA DE LA COMPUTACIÓN COCOMO MODELO CONSTRUCTIVO DE COSTES
  • 2.
    POR: Roberth Paúlbravo Castro María Esther Ruilova Rojas
  • 3.
    BREVE HISTORIA Modeloempírico Se obtuvo recolectando datos de varios proyectos de software grandes, y después analizando esos datos para descubrir fórmulas que se ajustarán mejor a las observaciones. Esta bien documentado, es de dominio público y lo apoyan herramientas comerciales. Se ha utilizado y evaluado ampliamente. Ha evolucionado del COCOMO 81( 1981) al COCOMO 2 (1995)
  • 4.
    BREVE HISTORIA (2)1983 introduce el lenguaje de programación Ada para reducir los costos de desarrollo de grandes sistemas. Algunos aspectos de Ada provocaron un gran impacto en los costos de desarrollo y mantenimiento, así Barry Boehm y Walker Royce definieron un modelo revisado, llamado Ada COCOMO [Boehm 1989]. En los 90, las técnicas de desarrollo de software cambiaron dramáticamente, surgieron la necesidad de reusar software existente, la construcción de sistemas usando librerías, etc.  USC COCOMO II
  • 5.
    COCOMO’ 81 Esun modelo que apoya en la planificación de presupuesto y cronograma, antes de iniciar el trabajo. Es un modelo no lineal de una variable esfuerzo = a * KLD b tiempo = c * esfuerzo d (d  meses)
  • 6.
    COCOMO’ 81 Modelo1 COCOMO básico, calcula esfuerzo y costo del desarrollo en función del tamaño del programa, expresados en LDC. Modelo 2 COCOMO intermedio, calcula esfuerzo y costo en función del tamaño del programa y de un conjunto de conductores de costo con atributos del producto, del HW, del personal y del proyecto. Modelo 3 COCOMO avanzado, incorpora las características del intermedio + evaluación de los condiciones de costo en cada fase del proceso.
  • 7.
    TIPOS DE PROYECTOSModo orgánico (Básico) Proyectos de software pequeños y sencillos. Programadores expertos desarrollan software en ambiente familiar . E m = 2,4 L k 1,05 [H-M] t d = 2,5 E m 0,38 [mes] L k = miles de líneas fuente entregadas
  • 8.
    Modo semiacoplado (Básico) Proyectos de software intermedio en cuanto a tamaño y nivel de complejidad. Mezcla de gente experta e inexperta E m = 3,0 L k 1,12 [H-M] t d = 2,5 E m 0,35 [mes]
  • 9.
    Modo empotrado (Básico) Proyectos muy restringidos (procesador y hardware) y no han habido proyectos anteriores comparables . E m = 3,6 L k 1,20 [H-M] t d = 2,5 E m 0,32 [mes]
  • 10.
    Modo orgánico (Intermedio)Esfuerzo Nominal  E n E n = 3,2 L k 1,05 [H-M] Modo semi-acoplado (Intermedio) En = 3,0 Lk 1,12 [H-M] Modo empotrado (Intermedio) En = 2,8 Lk 1,20 [H-M] 15 multiplicadores de esfuerzo afectan E n entregando E t (tiempo de desarrollo)t d = 2,5 E t 0,32
  • 11.
    COCOMO II Unode los problemas del COCOMO original es su dependencia con el tamaño (LDC) como una variable clave. COCOMO II se basa en los puntos objeto. El punto objeto es una medida indirecta de software que se calcula teniendo en cuenta el total de: pantallas o interfaces de usuario informes componentes necesarios construir para la aplicación Cada instancia de objeto se clasifica en un nivel de complejidad, según la tabla siguiente...
  • 12.
    1. Cada instanciade objeto se clasifica en un nivel de complejidad. 2. El total de puntos de objeto se determina con la sumatoria de multiplicar el número original de instancias de objeto por el factor de peso asignado. Total PO = Σ nro.instancias x peso. 3. Cuando se aplica sobre el desarrollo en componentes o para la reutilización en general se estima el % de reutilización y se calculan: PONuevos = (puntos objeto) x [(100 - %reutilización) /100]
  • 13.
    Esfuerzo estimado = PON / PROD PROD= proporción de productividad basado en la experiencia del desarrollador y la madurez del entorno de desarrollo, según la tabla siguiente. Experiencia/capacidad del desarrollador Muy baja Baja Normal Alta Muy Alta Madurez/capacidad del entorno Muy baja Baja Normal Alta Muy Alta PROD 4 7 13 25 50
  • 14.
    ESTIMACIÓN DEL ESFUERZOEl esfuerzo necesario para concretar un proyecto de desarrollo de software, cualquiera sea el modelo empleado, se expresa en meses/persona (PM) y representa los meses de trabajo de una persona fulltime, requeridos para desarrollar el proyecto.
  • 15.
    M. COMPOSICIÓN DEAPLICACIÓN Fórmula propuesta para este modelo: PM = NOP / PROD M. DISEÑO TEMPRANO El modelo de Diseño Temprano ajusta el esfuerzo nominal usando siete factores de costo. La fórmula para el cálculo del esfuerzo es la siguiente:
  • 16.
    PMEstimado esel esfuerzo Nominal ajustado por 7 factores, que reflejan otros aspectos propios del proyecto que afectan al esfuerzo necesario para la ejecución del mismo. KSLOC es el tamaño del software a desarrollar expresado en miles de líneas de código fuente. A es una constante que captura los efectos lineales sobre el esfuerzo de acuerdo a la variación del tamaño, ( A=2.94 ). B es el factor exponencial de escala, toma en cuenta las características relacionadas con las economías y deseconomías de escala producidas cuando un proyecto de software incrementa su tamaño. EMi corresponde a los factores de costo que tienen un efecto multiplicativo sobre el esfuerzo, llamados Multiplicadores de Esfuerzo.
  • 17.
    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 Plataforma Del Personal PERS: Aptitud del Personal PREX: Experiencia del Personal Del Proyecto FCIL: Facilidades SCED: Cronograma de Desarrollo Requerido
  • 18.
    Modelo Post-Arquitectura seaplica cuando la arquitectura del proyecto está completamente definida. Este modelo se aplica durante el desarrollo y mantenimiento de productos de software incluidos en las áreas de Sistemas Integrados, Infraestructura y Generadores de Aplicaciones. El esfuerzo nominal se ajusta usando 17 factores multiplicadores de esfuerzo.
  • 19.
    ESTIMACIÓN DEL CRONOGRAMATDEV 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. PM* es el esfuerzo expresado en meses personas, calculado sin tener en cuenta el multiplicador de esfuerzo SCED. B es el Factor de Escala SCED% es el porcentaje de compresión/expansión del cronograma.
  • 20.
  • 21.
  • 22.
    CONCLUSIONES Durante laúltima década, la evolución de las tecnologías de desarrollo de software impulsó un nuevo enfoque en la estimación de costos, que considerara conceptos tales como orientación a objetos, reingeniería, reusabilidad, utilización de paquetes comerciales, composición de aplicaciones. Además, surgió la necesidad de que estos nuevos modelos se adaptaran a la granularidad de la información disponible en las diferentes etapas de desarrollo. La familia de modelos de COCOMO II, constituida por los modelos Composición de Aplicación, Diseño Temprano y Post-Arquitectura, conforma estas premisas ya que son parte de sus objetivos principales.
  • 23.
    CONCLUSIONES (2) COCOMOII, al igual que el modelo original preserva su estado de dominio público en relación a los algoritmos, la herramienta de software, estructuras de datos, relaciones e interfases. Otra de las ventajas de este modelo es que puede ser adaptado (calibrado) a un organismo en particular, si se cuenta con la experiencia de un número importante de proyectos ya culminados que puedan aportar los datos necesarios para la recalibración. Sin lugar a dudas, en la actualidad siguen existiendo inconvenientes y limitaciones para las estimaciones, pero más allá de esto COCOMO II ha recorrido un importante camino, logrando la madurez necesaria del modelo para conseguir estimaciones de gran precisión.
  • 24.
    BILBIOGRAFÍA http://www.sc.ehu.es/jiwdocoj/mmis/cocomo.htm http://www.ldc.usb.ve/~teruel/ci4713/clases2001/cocomo2.htmlhttp://sunset.usc.edu/research/COCOMOII/cocomo_main.html#cocomo81 http://pisuerga.inf.ubu.es/lsi/Docencia/TFC/ITIG/icruzadn/Memoria/612.htm