SlideShare una empresa de Scribd logo
1 de 10
COCOMO El Modelo Constructivo de Costes (o COCOMO, por su acrónimo del inglés COnstructiveCOstMOdel) es un modelo matemático de base empírica utilizado para estimación de costes de software. Incluye tres submodelos, cada uno ofrece un nivel de detalle y aproximación, cada vez mayor, a medida que avanza el proceso de desarrollo del software: básico, intermedio y detallado. Este modelo fue desarrollado por Barry W. Boehm a finales de los años 70 y comienzos de los 80, exponiéndolo detalladamente en su libro "Software EngineeringEconomics" (Prentice-Hall, 1981).
Característica Pertenece a la categoría de modelos de subestimaciones basados en estimaciones matemáticas. Está orientado a la magnitud del producto final, midiendo el "tamaño" del proyecto, en líneas de código principalmente.
Inconvenientes Los resultados no son proporcionales a las tareas de gestión ya que no tiene en cuenta los recursos necesarios para realizarlas. Se puede desviar de la realidad si se indica mal el porcentaje de líneas de comentarios en el código fuente. Es un tanto subjetivo, puesto que está basado en estimaciones y parámetros que pueden ser "vistos" de distinta manera por distintos analistas que usen el método. Se miden los costes del producto, de acuerdo a su tamaño y otras características, pero no la productividad. La medición por líneas de código no es válida para orientación a objetos. Utilizar este modelo puede resultar un poco complicado, en comparación con otros métodos (que también sólo estiman).
Modelos de estimación La función básica que utilizan los tres modelos es: E = a(Kl)b * m(X) donde: a y b son constantes con valores definidos en cada submodeloKl es la cantidad de líneas de código, en miles. m(X) Es un multiplicador que depende de 15 atributos. El resultado se da en unidades salario/mes y horas-hombre. A la vez, cada submodelo también se divide en modos que representan el tipo de proyecto, y puede ser: modo orgánico: un pequeño grupo de programadores experimentados desarrollan software en un entorno familiar. El tamaño del software varía desde unos pocos miles de líneas (tamaño pequeño) a unas decenas de miles (medio). modo semilibre o semiencajado: corresponde a un esquema intermedio entre el orgánico y el rígido; el grupo de desarrollo puede incluir una mezcla de personas experimentadas y no experimentadas. modo rígido o empotrado: el proyecto tiene fuertes restricciones, que pueden estar relacionadas con la funcionalidad y/o pueden ser técnicas. El problema a resolver es único y es difícil basarse en la experiencia, puesto que puede no haberla.
Modelo básico Se utiliza para obtener una primera aproximación rápida del esfuerzo, Estos valores son para las fórmulas: Personas necesarias por mes para llevar adelante el proyecto (MM) = a*(Klb) Tiempo de desarrollo del proyecto (TDEV) = c*(MMd) Personas necesarias para realizar el proyecto (CosteH) = MM/TDEV Costo total del proyecto (CosteM) = CosteH * Salario medio entre los programadores y analistas. Se puede observar que a medida que aumenta la complejidad del proyecto (modo), 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 básico puesto que se obvian muchas características del entorno
Modelo intermedio Este añade al modelo básico quince modificadores opcionales para tener en cuenta en el entorno de trabajo, incrementando así la precisión de la estimación. Para este ajuste, al resultado de la fórmula general se lo multiplica por el coeficiente surgido de aplicar los atributos que se decidan utilizar. Los valores de las constantes a reemplazar en la fórmula son:
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 aplicación, utilización de herramientas de software, etc., tienen mayor influencia en unas fases que en otras, y además van variando de una etapa a otra. Establece una jerarquía de tres niveles de productos, de forma que los aspectos que representan gran variación a bajo nivel, se consideran a nivel módulo, los que representan pocas variaciones, a nivel de subsistema; y los restantes son considerados a nivel sistema.
La Métrica de Puntos Función Esta métrica se define como una métrica funcional, dado que se enfoca a la funcionalidad que el SW proporciona al usuario. “Es una métrica para establecer el tamaño y complejidad de los sistemas informáticos basada en la cantidad de funcionalidad requerida y entregada a los usuarios”, O “Los Puntos Función miden el tamaño lógico o funcional de los proyectos o aplicaciones de software basados en los requerimientos funcionales del usuario”11.
Partamos de la primera definición para entender las características de la métrica: TAMAÑO – es una métrica de tamaño, no de la calidad con la que se hizo ese SW, o del valor de ese producto, o del esfuerzo requerido para desarrollarlo, etc. APLICACIONES – mide las aplicaciones de SW, no considera el HW que utilizará, ni la administración del proyecto, ni la documentación, etc. FUNCIONALIDAD – se refiere a la capacidad del SW para que un usuario pueda realizar transacciones (lectura, escritura, etc.) y el guardar datos. Si analizamos a detalle, con estos elementos podemos describir cualquier sistema. USUARIO – quien lo va a usar y no quien lo desarrolló o quien lo diseñó  Así como existe el metro lineal para medir longitudes, Puntos Función es “el metro” para medir tamaño de una aplicación de software.

Más contenido relacionado

La actualidad más candente

Modelo de prototipos
Modelo de prototiposModelo de prototipos
Modelo de prototiposjuriberuiz
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
Testing Software
Testing SoftwareTesting Software
Testing Softwareodelorenzi
 
Planificacion y-estimacion-de-proyectos-de-software
Planificacion y-estimacion-de-proyectos-de-softwarePlanificacion y-estimacion-de-proyectos-de-software
Planificacion y-estimacion-de-proyectos-de-softwarePatricia F
 
Modelo cocomo
Modelo cocomoModelo cocomo
Modelo cocomoRoci_mary
 
Act 4.3 pruebas de software
Act 4.3 pruebas de softwareAct 4.3 pruebas de software
Act 4.3 pruebas de softwareRodrigo Santiago
 
Emulador emu8086
Emulador emu8086Emulador emu8086
Emulador emu8086gabo
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoCoesi Consultoria
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)Yadith Miranda Silva
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwarepaoaboytes
 

La actualidad más candente (20)

Modelo de prototipos
Modelo de prototiposModelo de prototipos
Modelo de prototipos
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
COCOMO
COCOMOCOCOMO
COCOMO
 
Testing Software
Testing SoftwareTesting Software
Testing Software
 
Planificacion y-estimacion-de-proyectos-de-software
Planificacion y-estimacion-de-proyectos-de-softwarePlanificacion y-estimacion-de-proyectos-de-software
Planificacion y-estimacion-de-proyectos-de-software
 
Rup
RupRup
Rup
 
Procesos del Software
Procesos del SoftwareProcesos del Software
Procesos del Software
 
Bootstrap
Bootstrap Bootstrap
Bootstrap
 
Cocomo ii
Cocomo iiCocomo ii
Cocomo ii
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Calidad del software cap2
Calidad del software   cap2Calidad del software   cap2
Calidad del software cap2
 
Modelo cocomo
Modelo cocomoModelo cocomo
Modelo cocomo
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 
Modelo espiral
Modelo espiralModelo espiral
Modelo espiral
 
Act 4.3 pruebas de software
Act 4.3 pruebas de softwareAct 4.3 pruebas de software
Act 4.3 pruebas de software
 
Modelo Cascada!!
Modelo Cascada!!Modelo Cascada!!
Modelo Cascada!!
 
Emulador emu8086
Emulador emu8086Emulador emu8086
Emulador emu8086
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de software
 

Destacado (6)

Cocomo
CocomoCocomo
Cocomo
 
Cocomo (1)
Cocomo (1)Cocomo (1)
Cocomo (1)
 
Cocomo
CocomoCocomo
Cocomo
 
Diapositivas software de aplicación
Diapositivas       software de aplicaciónDiapositivas       software de aplicación
Diapositivas software de aplicación
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Modelo Cocomo
Modelo CocomoModelo Cocomo
Modelo Cocomo
 

Similar a Cocomo (20)

Cocomo
CocomoCocomo
Cocomo
 
Modelo cocomo I
Modelo cocomo IModelo cocomo I
Modelo cocomo I
 
Modelo cocomo
Modelo cocomoModelo cocomo
Modelo cocomo
 
Cocomo 1
Cocomo 1Cocomo 1
Cocomo 1
 
Cocomo
CocomoCocomo
Cocomo
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
 
Modelo cocomo
Modelo cocomoModelo cocomo
Modelo cocomo
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
 
Cocomo
CocomoCocomo
Cocomo
 
Estimacion de proyectos de software
Estimacion de proyectos de softwareEstimacion de proyectos de software
Estimacion de proyectos de software
 
Métrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoMétrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigo
 
Tarea 13
Tarea 13Tarea 13
Tarea 13
 
Capitulo2
Capitulo2Capitulo2
Capitulo2
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
 
Slideshare 20, luis mortell 26.055.569
Slideshare 20, luis mortell 26.055.569Slideshare 20, luis mortell 26.055.569
Slideshare 20, luis mortell 26.055.569
 
Cocomo
CocomoCocomo
Cocomo
 
Cocomo
CocomoCocomo
Cocomo
 
Cocomo
CocomoCocomo
Cocomo
 
Cocomo
CocomoCocomo
Cocomo
 
Uml
UmlUml
Uml
 

Cocomo

  • 1. COCOMO El Modelo Constructivo de Costes (o COCOMO, por su acrónimo del inglés COnstructiveCOstMOdel) es un modelo matemático de base empírica utilizado para estimación de costes de software. Incluye tres submodelos, cada uno ofrece un nivel de detalle y aproximación, cada vez mayor, a medida que avanza el proceso de desarrollo del software: básico, intermedio y detallado. Este modelo fue desarrollado por Barry W. Boehm a finales de los años 70 y comienzos de los 80, exponiéndolo detalladamente en su libro "Software EngineeringEconomics" (Prentice-Hall, 1981).
  • 2. Característica Pertenece a la categoría de modelos de subestimaciones basados en estimaciones matemáticas. Está orientado a la magnitud del producto final, midiendo el "tamaño" del proyecto, en líneas de código principalmente.
  • 3. Inconvenientes Los resultados no son proporcionales a las tareas de gestión ya que no tiene en cuenta los recursos necesarios para realizarlas. Se puede desviar de la realidad si se indica mal el porcentaje de líneas de comentarios en el código fuente. Es un tanto subjetivo, puesto que está basado en estimaciones y parámetros que pueden ser "vistos" de distinta manera por distintos analistas que usen el método. Se miden los costes del producto, de acuerdo a su tamaño y otras características, pero no la productividad. La medición por líneas de código no es válida para orientación a objetos. Utilizar este modelo puede resultar un poco complicado, en comparación con otros métodos (que también sólo estiman).
  • 4. Modelos de estimación La función básica que utilizan los tres modelos es: E = a(Kl)b * m(X) donde: a y b son constantes con valores definidos en cada submodeloKl es la cantidad de líneas de código, en miles. m(X) Es un multiplicador que depende de 15 atributos. El resultado se da en unidades salario/mes y horas-hombre. A la vez, cada submodelo también se divide en modos que representan el tipo de proyecto, y puede ser: modo orgánico: un pequeño grupo de programadores experimentados desarrollan software en un entorno familiar. El tamaño del software varía desde unos pocos miles de líneas (tamaño pequeño) a unas decenas de miles (medio). modo semilibre o semiencajado: corresponde a un esquema intermedio entre el orgánico y el rígido; el grupo de desarrollo puede incluir una mezcla de personas experimentadas y no experimentadas. modo rígido o empotrado: el proyecto tiene fuertes restricciones, que pueden estar relacionadas con la funcionalidad y/o pueden ser técnicas. El problema a resolver es único y es difícil basarse en la experiencia, puesto que puede no haberla.
  • 5. Modelo básico Se utiliza para obtener una primera aproximación rápida del esfuerzo, Estos valores son para las fórmulas: Personas necesarias por mes para llevar adelante el proyecto (MM) = a*(Klb) Tiempo de desarrollo del proyecto (TDEV) = c*(MMd) Personas necesarias para realizar el proyecto (CosteH) = MM/TDEV Costo total del proyecto (CosteM) = CosteH * Salario medio entre los programadores y analistas. Se puede observar que a medida que aumenta la complejidad del proyecto (modo), 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 básico puesto que se obvian muchas características del entorno
  • 6. Modelo intermedio Este añade al modelo básico quince modificadores opcionales para tener en cuenta en el entorno de trabajo, incrementando así la precisión de la estimación. Para este ajuste, al resultado de la fórmula general se lo multiplica por el coeficiente surgido de aplicar los atributos que se decidan utilizar. Los valores de las constantes a reemplazar en la fórmula son:
  • 7.
  • 8. 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 aplicación, utilización de herramientas de software, etc., tienen mayor influencia en unas fases que en otras, y además van variando de una etapa a otra. Establece una jerarquía de tres niveles de productos, de forma que los aspectos que representan gran variación a bajo nivel, se consideran a nivel módulo, los que representan pocas variaciones, a nivel de subsistema; y los restantes son considerados a nivel sistema.
  • 9. La Métrica de Puntos Función Esta métrica se define como una métrica funcional, dado que se enfoca a la funcionalidad que el SW proporciona al usuario. “Es una métrica para establecer el tamaño y complejidad de los sistemas informáticos basada en la cantidad de funcionalidad requerida y entregada a los usuarios”, O “Los Puntos Función miden el tamaño lógico o funcional de los proyectos o aplicaciones de software basados en los requerimientos funcionales del usuario”11.
  • 10. Partamos de la primera definición para entender las características de la métrica: TAMAÑO – es una métrica de tamaño, no de la calidad con la que se hizo ese SW, o del valor de ese producto, o del esfuerzo requerido para desarrollarlo, etc. APLICACIONES – mide las aplicaciones de SW, no considera el HW que utilizará, ni la administración del proyecto, ni la documentación, etc. FUNCIONALIDAD – se refiere a la capacidad del SW para que un usuario pueda realizar transacciones (lectura, escritura, etc.) y el guardar datos. Si analizamos a detalle, con estos elementos podemos describir cualquier sistema. USUARIO – quien lo va a usar y no quien lo desarrolló o quien lo diseñó Así como existe el metro lineal para medir longitudes, Puntos Función es “el metro” para medir tamaño de una aplicación de software.