Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INGENIERIA DE SOFTWARE II
COCOMO II
1. BREVE HISTORIA
El modelo COCOMO ha evolucionado debido a los constantes avances en el mercado de
desarrollo de software.
El USC- CSE implement los dos ltimos modelos en una herramienta de software.
Esta herramienta le permite al planificador hacer rpidamente una exploracin de las
posibilidades de un proyecto, analizando qu efectos provoca el ajuste de
requerimientos, recursos y staff sobre la estimacin de costos y tiempos. Para evitar
confusin el modelo COCOMO original fue redesignado con el nombre COCOMO 81. As
todas las referencias de COCOMO encontradas en la literatura antes de 1995 se refieren
a lo que ahora llamamos COCOMO81. La mayora de las referencias publicadas a partir
de 1995 se refieren a COCOMO II.
2. INTRODUCCIN:
Modelo COCOMO II, modelo de estimacin que se encuentra en la jerarqua de modelos
de estimacin de software con el nombre de COCOMO, por Constructive Cost Model
(Modelo Constructivo de Coste). El modelo COCOMO original se ha convertido en uno
de los modelos de estimacin de coste del software ms utilizados y estudiados en la
industria. Una de las tareas de mayor importancia en la administracin de proyectos de
software es la estimacin de costos. Si bien es una de las primeras actividades,
inmediatamente posterior al establecimiento de los requerimientos, se ejecuta
regularmente a medida que el proyecto progresa con el fin de ajustar la precisin en la
estimacin. La estimacin de costos de software tiene dos usos en la administracin de
proyectos:
Es importante reconocer la fuerte relacin entre costo, cronograma y calidad. Estos tres
aspectos estn ntimamente relacionados y confrontados entre s. De esta manera, se
hace difcil incrementar la calidad sin aumentar el costo y/o el cronograma del software
a desarrollar. Similarmente, el cronograma de desarrollo no puede reducirse
dramticamente sin deteriorar la calidad del producto de software y/o incrementar el
costo de desarrollo. Los modelos de estimacin juegan un papel importante ya que
permiten equilibrar estos tres factores. Se han propuesto numerosos mtodos de
estimacin. Entre ellos se pueden contar:
un proyecto nuevo y el impacto de los cambios en los costos. Por otra parte, la
principal desventaja es que no est claro hasta qu punto es realmente
representativo el proyecto previo, en lo que se refiere a restricciones, tcnicas,
personal y funcionalidad requerida.
PARKINSON: Este mtodo intenta adaptar la estimacin del costo a los recursos
disponibles. En general, es extremadamente inadecuado.
TASAR PARA GANAR: Estima los costos en funcin del presupuesto adecuado para
ganar el trabajo, o el cronograma necesario para estar primero en el mercado
con el nuevo producto.
ESTIMACIN TOP-DOWN: A partir de las propiedades globales del producto de
software se deriva el costo de todo el proyecto. Despus, el costo total es dividido
entre las diversas componentes.
ESTIMACIN BOTTOM-UP: El costo de cada componente de software es
estimado por separado, generalmente por la persona responsable del desarrollo de
la misma, y luego sumados para obtener el costo total del proyecto. Las tcnicas de
estimacin bottom-up y top-down pueden ser usadas en conjuncin con cualquiera
de los mtodos discutidos en esta seccin.
MODELOS ALGORTMICOS: Estos mtodos proveen uno o ms algoritmos que
estiman el costo del software en funcin de un nmero de variables que se
consideran los principales factores de costo. Los valores de los factores se
establecen a partir del anlisis de regresin de datos confiables recopilados en
proyectos anteriores. Comparados con otros mtodos una de sus ventajas es la
objetividad, ya que estn calibrados a partir de experiencias anteriores. Esto mismo
constituye la principal desventaja, por no poder asegurar que estas experiencias
sean realmente representativas de proyectos futuros, en especial si se desarrollan
en nuevas reas de aplicacin, con nuevas tcnicas y arquitecturas. Como sucede
en cualquier modelo de estimacin, no hay forma de compensar la falta o calidad
de los datos de entrada y/o precisin de los valores de los factores de costo. El
modelo COCOMO es un ejemplo de modelo algortmico
3. CARACTERSTICAS
Es una herramienta basada en las lneas de cdigo la cual la hace muy poderosa para
la estimacin de costos y no como otros que solamente miden el esfuerzo en base
al tamao.
Representa el ms extenso modelo emprico para la estimacin de software.
Existen herramientas automticas que estiman costos basados en COCOMO como
ser: Costar, COCOMO 81.
COCOMO II est compuesto por tres modelos denominados: Composicin de Aplicacin, Diseo
Temprano y Post Arquitectura. Estos surgen en respuesta a la diversidad del mercado actual y
futuro desarrollo de software, esta diversidad puede representarse con el siguiente esquema:
Generadores de Aplicaciones:
En este sector operan firmas como Lotus, Microsoft, Novell, Borland con el
objetivo de crear mdulos pre-empaquetados que sern usados por usuarios
finales y programadores.
Sistemas Integrados: Sistemas de gran escala, con un alto grado de integracin entre
sus componentes, sin antecedentes en el mercado que se puedan tomar como base.
Porciones de estos sistemas pueden ser desarrolladas a travs de la composicin de
aplicaciones. Entre las empresas que desarrollan software representativo de este
sector, se encuentran grandes firmas que desarrollan software de
telecomunicaciones, sistemas de informacin corporativos, sistemas de control de
fabricacin, etc.
5. MODELOS DE COCOMO II
Los tres modelos de COCOMO II se adaptan tanto a las necesidades de los diferentes
sectores, como al tipo y cantidad de informacin disponible en cada etapa del ciclo de
vida de desarrollo, lo que se conoce por granularidad de la informacin. Estos tres
modelos son:
Modelo de composicin de aplicacin. Utilizado durante las primeras etapas de
la Ingeniera del software, donde el prototipado de las interfaces de usuario, la
interaccin del sistema y del software, la evaluacin del rendimiento, y la
evaluacin de la madurez de la tecnologa son de suma importancia.
Modelo de fase de diseo previo. Utilizado una vez que se han estabilizado los
requisitos y que se ha establecido la arquitectura bsica del software.
Modelo de fase posterior a la arquitectura. Utilizado durante la construccin
del software.
6. CONCLUSIONES
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 nmero importante de
proyectos ya culminados que puedan aportar los datos necesarios para la recalibracin
Sin lugar a dudas, en la actualidad siguen existiendo inconvenientes y limitaciones para
las estimaciones, pero ms all de esto COCOMO II ha recorrido un importante camino,
logrando la madurez necesaria del modelo para conseguir estimaciones de gran
precisin.
EJEMPLO:
Usando COCOMO bsico para estimar el esfuerzo requerido en el desarrollo de un programa
de 850 lneas en modo orgnico se tiene el siguiente:
Boehn tambin adopta el modelo COCOMO Intermedio para repartir costos a componentes
individuales, considerando las 8500 lneas proyectadas, realizando la lista de componentes:
Basado sobre 30hombre-mes para el esfuerzo (E), el nmero 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. 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 monoltico, 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. Por ejemplo: el CMMADJ para el componente factura es calculado por:
7. BIBLIOGRAFA
LVAREZ, Jess. Revisin de los modelos de estimacin de costos. [En lnea]. Modelos
de estimacin en proyectos de software. 2007, [Consultado el 10 de diciembre de
2014] Disponible en:
http://sinbad2.ujaen.es/cod/archivosPublicos/pfc/pfc_jesus_alvarez.pdf].
ROSSI, Gustavo, et al. (ed.). Web engineering: modelling and implementing web
applications. Springer Science & Business Media, 2007.