COCOMO II
grillo98922 de Octubre de 2011
3.470 Palabras (14 Páginas)948 Visitas
Introducción.
El modelo COCOMO ha evolucionado debido a los constantes avances en el mercado de desarrollo de software. En el año 1981 Barry Boehm publica el modelo COCOMO, acorde a las prácticas de desarrollo de software de aquel momento. Durante la década de los 80, el modelo se continuó perfeccionando y consolidando, siendo el modelo de estimación de costos más ampliamente utilizado en el mundo.
Al aparecer las computadoras personales y generalizarse su uso, surgieron algunas
Implementaciones. Varias empresas comenzaron a comercializar herramientas de estimación computarizadas.
En el año 1983 se introduce el lenguaje de programación 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.
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. Estos cambios comenzaron a generar problemas en la aplicación del modelo COCOMO. La solución fue reinventar el modelo. Después de algunos años 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 tecnologías como orientación a objetos, desarrollo incremental, composición de aplicación, y reingeniería. COCOMO II consta de tres modelos, cada uno de los cuales ofrece una precisión acorde a cada etapa de desarrollo del proyecto. Enunciados en orden creciente de fidelidad son, modelo de Composición de Aplicación,
Justificación.
Por último, la experiencia ha demostrado que si una organización calibra la constante multiplicativa en COCOMO II para sus propios datos empíricos, la precisión del modelo puede aumentar significativamente por encima de los resultados de calibración genéricos obtenidos con las versiones mencionadas anteriormente.
Objetivos.
1. Mostrar brevemente la historia tras COCOMO II.
2. Mostrar las técnicas o métodos de costeo.
3. Mostrar o identificar los sub-modelos de COCOMO II.
Un modelo de estimación de proyectos de software.
Una de las tareas de mayor importancia en la administración de proyectos de software es la estimación 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 precisión en la estimación.
La estimación de costos de software tiene dos usos en la administración 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 métricas que permitan medir el nivel de cumplimiento del desarrollo del software.
La estimación de costos de software posibilita relacionar conceptos generales y técnicas del análisis económico en el mundo particular de la ingeniería de software. Aunque no es una ciencia exacta no podemos prescindir de ella puesto que hoy en día un error en las predicciones puede conducir a resultados adversos.
Es importante reconocer la fuerte relación entre costo, cronograma y calidad. Estos tres aspectos están íntimamente relacionados y confrontados entre sí. De esta manera, se hace difícil incrementar la calidad sin aumentar el costo y/o el cronograma del software a desarrollar.
El cronograma de desarrollo no puede reducirse dramáticamente sin deteriorar la calidad del producto de software y/o incrementar el costo de desarrollo. Los modelos de estimación juegan un papel importante ya que permiten equilibrar estos tres factores.
Se han propuesto numerosos métodos de estimación. Entre ellos se pueden contar:
Juicio de Expertos: Este método implica la consulta a expertos, quienes usan su
experiencia y conocimiento del proyecto propuesto para lograr una estimación de sus
costos.
Analogía: Este método implica una estimación por analogía con proyectos similares, que ya han finalizado, de manera de relacionar los costos reales con la estimación del costo del nuevo proyecto. La principal virtud de la estimación por analogía es que está basada en la experiencia real de un proyecto. Esta experiencia puede ser estudiada para determinar las diferencias específicas con un proyecto nuevo y el impacto de los cambios en los costos. Por otra parte, la principal desventaja es que no está claro hasta que punto es realmente representativo el proyecto anterior, en lo que se refiere a restricciones, técnicas, personal y funcionalidad requerida.
Parkinson: Este método intenta adaptar la estimación del costo a los recursos disponibles. En general, es extremadamente inadecuado.
Tasar para ganar: Estima los costos en función del presupuesto adecuado para ganar el trabajo, o el cronograma necesario para estar primero en el mercado con el nuevo producto.
Estimación top-down: A partir de las propiedades globales del producto de software se deriva el costo de todo el proyecto. Después, el costo total es dividido entre las diversas componentes.
Estimación bottom-up: El costo de cada componente de software es estimado por
separado, generalmente por la persona responsable del desarrollo, y luego sumados para obtener el costo total del proyecto.
Las técnicas de estimación bottom-up y top-down pueden ser usadas en conjunción con cualquiera de los métodos discutidos en esta sección.
Modelos Algorítmicos: Estos métodos proveen uno o más algoritmos que estiman el costo del software en función de un número de variables que se consideran los principales factores de costo. Los valores de los factores se establecen a partir del análisis de regresión de datos confiables recopilados en proyectos anteriores. Comparados con otros métodos una de sus ventajas es la objetividad, ya que están 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 aplicación, con nuevas técnicas y arquitecturas. Como sucede en cualquier modelo de estimación, no hay forma de compensar la falta o calidad de los datos de entrada y/o precisión de los valores de los factores de costo.
Para apoyar a los distintos sectores del mercado software, COCOMO II proporciona una familia de modelos de estimación de coste software cada vez más detallado y tiene en cuenta las necesidades de cada sector y el tipo de información disponible para sostener la estimación del coste software. Esta familia de modelos está compuesta por tres submodelos cada uno de los cuales ofrece mayor fidelidad a medida que uno avanza en la planificación del proyecto y en el proceso de diseño.
Estos tres submodelos se denominan:
• El modelo de Composición de Aplicaciones.
Indicado para proyectos construidos con herramientas modernas de construcción de interfaces gráficos para usuario.
El modelo de estimación utilizado en los proyectos de software que se construyen a partir de componentes pre-empaquetadas. En este caso, se emplean Puntos Objeto para estimar el tamaño del software, lo cual está acorde al nivel de información que generalmente se tiene en la etapa de planificación, y el nivel de precisión requerido en la estimación de proyectos de esta naturaleza.
Para los demás sectores del mercado se aplica un modelo mixto, combinación de los tres modelos.
Este modelo se emplea en desarrollos de software durante la etapa de prototipado.
• El modelo de Diseño anticipado.
Este modelo puede utilizarse para obtener estimaciones aproximadas del coste de un proyecto antes de que esté determinada por completo su arquitectura. Utiliza un pequeño conjunto de drivers de coste nuevo y nuevas ecuaciones de estimación. Está basado en Punto de Función sin ajustar o KSLOC (Miles de Líneas de Código Fuente).
En este modelo se utiliza en las primeras etapas del desarrollo en las cuales se evalúan las alternativas de hardware y software de un proyecto. En estas etapas se tiene poca información, lo que concuerda con el uso de Puntos Función, para estimar tamaño y el uso de un número reducido de factores de costo.
• El modelo Post-Arquitectura.
Este es el modelo COCOMO II más detallado. Se utiliza una vez que se ha desarrollado por completo la arquitectura del proyecto. Tiene nuevos drivers de coste, nuevas reglas para el recuento de líneas y nuevas ecuaciones.
Se aplica en la etapa de desarrollo propiamente dicho, después que se define la arquitectura del sistema, y en la etapa de mantenimiento.
Este modelo emplea:
• Puntos Función y/o Líneas de Código Fuente para estimar tamaño.
• Con
...