Sei sulla pagina 1di 7

INGENIERIA DE SISTEMAS E INFORMATICA

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.

En el ao 1981 Barry Boehm publica el modelo COCOMO, acorde a las prcticas de


desarrollo de software de aquel momento [Boehm 1981]. Durante la dcada de los 80,
el modelo se continu perfeccionando y consolidando, siendo el modelo de estimacin
de costos ms ampliamente utilizado en el mundo.

En el ao 1983 se introduce el lenguaje de programacin Ada (American National


Standard Institute) 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 tcnicas de desarrollo de software cambiaron dramticamente, surgieron


la necesidad de reusar software existente, la construccin de sistemas usando libreras,
etc. Estos cambios comenzaron a generar problemas en la aplicacin del modelo
COCOMO. La solucin fue reinventar el modelo. Despus de algunos aos y de un
esfuerzo combinado de USC-CSE (University of Southern California- Center For Software
Engineering), IRUS at UC Irvine y organizaciones privadas, aparece COCOMO II. Las
incorporaciones a este modelo lo reforzaron e hicieron apto para ser aplicado en
proyectos vinculados a tecnologas como orientacin a objetos, desarrollo incremental,
composicin de aplicacin, y reingeniera. COCOMO II consta de tres modelos, cada uno
de los cuales ofrece una precisin acorde a cada etapa de desarrollo del proyecto.
Enunciados en orden creciente de fidelidad son, modelo de Composicin de Aplicacin,
Diseo Temprano y Post Arquitectura.

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.

Luis Enrique Alvarez Vargas 1


INGENIERIA DE SISTEMAS E INFORMATICA
INGENIERIA DE SOFTWARE 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:

Durante la etapa de planeamiento: Permite decidir cuantas personas son necesarias


para llevar a cabo el proyecto y establecer el cronograma adecuado.
Para controlar el progreso del proyecto: Es esencial evaluar si el proyecto
est evolucionando de acuerdo al cronograma y tomar las acciones correctivas si
fuera necesario. Para esto se requiere contar con mtricas que permitan medir el
nivel de cumplimiento del desarrollo del software.

En el mbito de la ingeniera de software, la estimacin de costos radica bsicamente


en estimar la cantidad de personas necesarias para desarrollar el producto. A diferencia
de otras disciplinas de la ingeniera, en las cuales, el costo de los materiales es el
principal componente a ser estimado. La estimacin de costos de software posibilita
relacionar conceptos generales y tcnicas del anlisis econmico en el mundo particular
de la ingeniera de software. Aunque no es una ciencia exacta no podemos prescindir de
ella puesto que hoy en da un error en las predicciones puede conducir a resultados
adversos.

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:

JUICIO DE EXPERTOS: Este mtodo implica la consulta a expertos, quienes


usan su experiencia y conocimiento del proyecto propuesto para lograr una
estimacin de sus costos.
ANALOGA: Este mtodo implica una estimacin por analoga con proyectos
similares, que ya han finalizado, de manera de relacionar los costos reales con la
estimacin del costo del nuevo proyecto. La principal virtud de la estimacin por
analoga es que est basada en la experiencia real de un proyecto. Esta
experiencia puede ser estudiada para determinar las diferencias especficas con

Luis Enrique Alvarez Vargas 2


INGENIERIA DE SISTEMAS E INFORMATICA
INGENIERIA DE SOFTWARE II

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.

4. OBJETIVOS PARA LA CONSTRUCCIN DE COCOMO II


Desarrollar un modelo de estimacin de costo y cronograma de proyectos
de software que se adaptara tanto a las prcticas de desarrollo de la dcada del 90
como a las futuras.
Construir una base de datos de proyectos de software que permitiera la calibracin
continua del modelo, y as incrementar la precisin en la estimacin.

Luis Enrique Alvarez Vargas 3


INGENIERIA DE SISTEMAS E INFORMATICA
INGENIERIA DE SOFTWARE II

Implementar una herramienta de software que soportara el modelo.


Proveer un marco analtico cuantitativo y un conjunto de herramientas y tcnicas
que evaluaran el impacto de las mejoras tecnolgicas de software sobre los costos
y tiempos en las diferentes etapas del ciclo de vida de desarrollo.

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:

APLICACIONES DESARROLLADAS POR USUARIOS FINALES


GENERADORES DE APLICACIONES CON SISTEMAS
APLICACIONES COMPONENTES INTEGRADOS
INFRAESTRUSTURA

Aplicaciones desarrolladas por Usuarios Finales:


En este sector se encuentran las aplicaciones de procesamiento de informacin
generadas directamente por usuarios finales, mediante la utilizacin de generadores
de aplicaciones tales como planillas de clculo, sistemas de consultas, etc. Estas
aplicaciones surgen debido al uso masivo de estas herramientas, conjuntamente con
la presin actual para obtener soluciones rpidas y flexibles.

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.

Aplicaciones con Componentes:


Sector en el que se encuentran aquellas aplicaciones que son especficas para ser
resueltas por soluciones pre-empaquetadas, pero son lo suficientemente simples
para ser construidas a partir de componentes interoperables.
Componentes tpicas son constructores de interfaces grficas, administradores de
bases de datos, buscadores inteligentes de datos, componentes de dominio-
especfico (medicina, finanzas, procesos industriales, etc.). Estas aplicaciones son
generadas por un equipo reducido de personas, en pocas semanas o meses.

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.

Infraestructura: rea que comprende el desarrollo de sistemas operativos,


protocolos de redes, sistemas administradores de bases de datos, etc.
Incrementalmente este sector direccionar sus soluciones, hacia problemas
genricos de procesamiento distribuido y procesamiento de transacciones, a
soluciones middleware. Firmas representativas son Microsoft, Oracle, SyBase,
Novell y NeXT

Luis Enrique Alvarez Vargas 4


INGENIERIA DE SISTEMAS E INFORMATICA
INGENIERIA DE SOFTWARE II

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

Durante la ltima dcada, la evolucin de las tecnologas de desarrollo de software


impuls un nuevo enfoque en la estimacin de costos, que considerara conceptos tales
como orientacin a objetos, reingeniera, reusabilidad, utilizacin de paquetes
comerciales, composicin de aplicaciones. Adems, surgi la necesidad de que estos
nuevos modelos se adaptaran a la granularidad de la informacin disponible en las
diferentes etapas de desarrollo.

La familia de modelos de COCOMO II, constituida por los modelos Composicin de


Aplicacin, Diseo Temprano y Post-Arquitectura, conforma estas premisas ya que son
parte de sus objetivos principales. COCOMO II, al igual que el modelo original preserva
su estado de dominio pblico en relacin a los algoritmos, la herramienta de software,
estructuras de datos, relaciones e interfaces. Para contar con informacin fidedigna y
favorecer el continuo refinamiento y calibracin del modelo, la USC implement un
Programa de Recoleccin de Datos14. Se espera que en el transcurso del ao 2001
se libere una nueva versin de la herramienta calibrada y actualizada.

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.

Luis Enrique Alvarez Vargas 5


INGENIERIA DE SISTEMAS E INFORMATICA
INGENIERIA DE SOFTWARE II

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:

E = 3.2 (8.5)1.05 * 1 = 30 Mes-hombre

Boehn tambin adopta el modelo COCOMO Intermedio para repartir costos a componentes
individuales, considerando las 8500 lneas 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 nmero 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 proporcin 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

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:

CMMADJ= (CMMNOM)*(EAF)= 10.60*1.13 = 11.98 CMMADJ

Luis Enrique Alvarez Vargas 6


INGENIERIA DE SISTEMAS E INFORMATICA
INGENIERIA DE SOFTWARE II

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

COLOMO-PALACIOS, Ricardo (ed). Agile Estimation Techniques and Innovate


Approaches to Software Process Improvement. IGI Global, 2014, p. 54-56.

ROSSI, Gustavo, et al. (ed.). Web engineering: modelling and implementing web
applications. Springer Science & Business Media, 2007.

THOMAS, Pablo Javier, et al. Anlisis comparativo de estimacin de esfuerzo en el


desarrollo de software. En XVII Congreso Argentino de Ciencias de la Computacin.
2011.

CAMPOS, Csar. Mtodo de estimacin de costos de construccin. [en lnea]. La


Ingeniera de Software. 2012, [Consultado el: 30 de octubre de 2014] Disponible en:
[http://laingeneriadesoftware.blogspot.mx/2012_01_19_archive.html]

Luis Enrique Alvarez Vargas 7

Potrebbero piacerti anche