jueves, 29 de septiembre de 2016

COCOMO I


Resultado de imagen para modelo cocomo

1.- Contenido

Definición:

"...El Modelo Constructivo de Costos o COCOMO, es un modelo matemático de base empírica utilizado para estimación de costos de software. Engloba en el grupo de los modelos algorítmicos que tratan de establecer una relación matemática la cual permite el esfuerzo y tiempo requerido para desarrollar un producto..." (1)
Objetivos:
  • Construir una base de datos de proyectos de software que permitiera la calibración continua del modelo, y así incrementar la precisión en la estimación. 
  • Implementar una herramienta de software que soportara el modelo. 
  • Proveer una marco analítica cuantitativo y un conjunto de herramientas y técnicas que evaluaran el impacto de las mejoras tecnológicas de software sobre los costos y tiempos en las diferentes etapas del ciclo de vida de desarrollo. (2)

Modos de Desarrollo
Orgánico.
Proyectos relativamente sencillos, menores de 50 KDLC lineas de código, en los cuales se tiene experiencia de proyectos similares y se encuentran en entornos estables.
Semi-acoplado
Proyectos intermedios en complejidad y tamaño (menores de 300KDLC), donde la experiencia en este tipo de proyectos es variable, y las restricciones intermedias.
Empotrado
Proyectos bastantes complejos, en los que apenas se tiene experiencia y se engloban en un entorno de gran innovación y de gran volatilidad.Modelos de Desarrollo
Modelo Básico
Se utiliza para obtener una primera aproximación rápida del esfuerzo, y hace uso de la siguiente tabla de constantes para calcular distintos aspectos de costes:
MODO
a
b
c
d
Orgánico
2.40
1.05
2.50
0.38
Semi - acoplado
3.00
1.12
2.50
0.35
Empotrado
3.60
1.20
2.50
0.32
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:

MODO 


a
b
Orgánico
3.20
1.05
Semi - Orgánico
3.00
1.12
Empotrado
2.80
1.20
Se puede observar que los exponentes son los mismos que los del modelo básico, confirmando el papel que representa el tamaño; mientras que los coeficientes de los modos orgánico y rígido han cambiado, para mantener el equilibrio alrededor del semilibre con respecto al efecto multiplicador de los atributos de coste.

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.

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).

     Ejemplo Práctico:
   1. Usando COCOMO básico para estimar el esfuerzo requerido en el desarrollo de un   programa de 850 líneas en modo orgánico se tiene los siguiente:
     E = 3.2 (8.5)1.05 * 1 = 30 Mes-hombre
     Boehn también adopta el modelo COCOMO Intermedio para repartir costos a componentes individuales, considerando las 8500 líneas proyectadas, realizando la lista de componentes:
      COMPONENTES
       EDSI
%     TOTAL
        CMMNOM
      PERSONAL
       2000
        23.4%
        7.06
      FACTURA
       3000
        35.3%
       10.60
      POR COBRAR
       3500
        41.2%
       12.36
     Nivel de Componente de COCOMO Intermedio
     Basado sobre 30hombre-mes para el esfuerzo (E), el número de EDSI para hombre-mes es dado por.
     (EDSI/mes-hombre)NOM= 8500/30 = 283 EDSI mes-hombre
      Usando el EDSI/ mes-hombre, cada componente aporta una proporción al total de valor por ejemplo el componente nominal mes-hombre(CMMNOM) para el componente de personal es dado por:
     (CMMNOM) = EDSI por componente/ (EDSI/MM)NOM= 200/283 =7.06 CMMNOM
     Después de calcular el CMMNOM para cada componente, el factor de ajuste de esfuerzo (EAF ) es calculado individualmente para cada componente. El factor EAF es aplicado a CMMNOM llegando a un nuevo ajuste en mes-hombre, estimando (CMMADJ) para cada componente. Esto es como un modelo monolítico, el cual es aplicado a un simple EAF para el sistema. Por lo tanto, es posible aclarar las variaciones entre los factores de costo y las diversidades de componentes. 
     2.- Resumen
   Es un modelo matemático para la estimación de costes.
Incluye tres submodelos, cada uno ofrece un nivel de detalle y aproximación, cada vez mayor, a medida que avanza el proceso de desarrollo:

  • Básico
  • Intermedio
  • Detallado
   Aporte: Ronny Ramos Díaz.
   CARACTERÍSTICAS
- Está basado en estimaciones matemáticas.
- Orientado a la magnitud del producto final.
- Mide el “tamaño” del proyecto, en líneas de código principalmente

INCONVENIENTES

- No tiene en cuenta los recursos necesarios para realizarlas.
- Algo subjetivo ya que las estimaciones y parámetros pueden ser vistos de distintas maneras por los analistas.
- Se miden los costes del producto por su tamaño y no por la productividad.


    3.- Summary.
     Son las siglas para COnstructive COst MOdel (Modelo constructivo de costos)
Es un modelo empírico de estimación de costes.
     Creado por Barry W. Boehm. (Boehm, 1981)
      Incluye 3 submodelos con un nivel de detalle cada vez mayor.

    4.- Recomendaciones
     Para el desarrollo del software es necesaria la estimación del esfuerzo y tiempo requeridos, por lo tanto se plantea:
    Aporte: Efrain Calle Chambe
  Las estimaciones basadas principalmente en el modelado del proyecto actual y su comparación con proyectos anteriores.
  •     Lograr usar modelos económicos como COCOMO para estimar el costo.
     Así como todo modelo posee características que la definen, un modelo de costos presenta las siguientes:
  •     Comprensible
  •     Preciso
  •     Predictivo
  •     Barato
  •     Sencillo
  •     Realista
    5.- Conclusiones
    Es uno de los modelos más documentados en la actualidad y es muy fácil de utilizar. Es correcto con referencia a los 63 proyectos utilizados, aunque de ello no se debe desprender que deba ser válido siempre. Una preocupación es la adaptación de las ecuaciones exponenciales a organizaciones específicas, cosa que no parece inmediatamente fácil.

    6.- Apreciación del Equipo
   Ayuda mucho en lo que se refiere para calcular el tiempo, esfuerzo Que se requieren para desarrollar un producto, en este caso un Software en el cual podemos realizar operaciones aritméticas capaz de establecer un precio para un determinado programa.
    Aporte: Jannet Llaguento Cajo.

    7.- Glosario de Términos
  •    Predictivo: (Que predice anunciar por revelación, ciencia o conjetura algo que ha de suceder).
       Empírico: Basado en la experiencia y en la observación       de los hechos.

   Parámetros: Variable que incluida en una ecuacion     modifica el resultado de esta.

       Volatilidad: Es una medida de la frecuencia e intensidad de los cambios del precio de un activo o de un tipo.


  Complementación Expositiva:






No hay comentarios:

Publicar un comentario