En este post hablábamos sobre diferentes modelos de estimación: Puntos de Función, Puntos de Casos de Uso y COCOMO II.
COCOMO II permite realizar estimaciones en función del tamaño del software, y de un conjunto de factores de coste y de escala.
En los factores de coste se incluyen aspectos relacionados con la naturaleza del sistema, equipo, y características propias del proyecto.
Los factores de escala incluye la parte de escala producida a medida que un proyecto de software incrementa su tamaño.
COCOMO II posee tres modelos:
· Composición de Aplicación,
· Diseño Temprano
· Post-Arquitectura.
Cada uno de estos modelos está orientado a sectores específicos del mercado de desarrollo de software y a las distintas etapas del desarrollo de software.
La sectorización de aplicaciones en COCOMO II es esta:
· Aplicaciones desarrolladas por Usuarios Finales: En este sector se encuentran las aplicaciones generadas directamente por usuarios finales, mediante la utilización de generadores de aplicaciones tales como hojas de cálculo, sistemas de consultas, etc. Estas aplicaciones surgen debido al uso masivo de estas herramientas, conjuntamente con la presión actual para obtener soluciones rápidas y flexibles.
· Generadores de Aplicaciones: En este sector están los módulos pre-empaquetados que serán usados por usuarios finales y programadores.
· Aplicaciones con Componentes: Sector en el que se están aquellas aplicaciones que se resuelven por soluciones preempaquetadas, pero son lo suficientemente simples para ser construidas a partir de componentes interoperables. Por ejemplo: interfaces gráficos, administradores de bases de datos, buscadores inteligentes de datos, … 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 integración entre sus componentes, sin antecedentes en el mercado que se puedan tomar como base. Partes de estos sistemas pueden ser desarrolladas a través de la composición de aplicaciones.
· Infraestructura: Área que comprende el desarrollo de sistemas operativos, protocolos de redes, sistemas administradores de bases de datos, …
Los modelos de COCOMO II se adaptan tanto a los sectores descritos como al tipo y cantidad de información disponible.
· El modelo Composición de Aplicación se emplea en desarrollos de software durante la etapa de prototipado.
· El modelo Diseño Temprano 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 coste.
· El modelo Post-Arquitectura se aplica en la etapa de desarrollo, después de definir la arquitectura del sistema, y en la etapa de mantenimiento
Modelos de estimación
En la estimación del tamaño de software COCOMO II utiliza tres técnicas:
· Puntos Objeto,
· Puntos Función No Ajustados y
· Líneas de Código Fuente.
Además se emplean otros parámetros relativos al tamaño que contemplan aspectos tales como: reuso, reingeniería, conversión y mantenimiento.
Puntos objeto
El procedimiento para determinar Puntos Objeto en un proyecto software se resume en:
1. Determinar Cantidad de Objetos: Estimar la cantidad de pantallas, reportes, componentes que contendrá la aplicación.
2. Clasificar cada instancia de un objeto según sus niveles de complejidad (simple, media o difícil)
3. Dar el peso a cada objeto según el nivel de complejidad. Los pesos reflejan el esfuerzo relativo requerido para implementar una instancia de ese nivel de complejidad.
4. Determinar la cantidad de Puntos Objeto, sumando todos los pesos de las instancias de los tipos de objetos especificados.
Puntos Función
El modelo COCOMO II usa Puntos Función y/o Líneas de Código Fuente (SLOC) como base para medir tamaño en los modelos de estimación de Diseño Temprano y Post-Arquitectura.
La puntos función están basados en información disponible en las etapas tempranas del ciclo de vida del desarrollo de software.
COCOMO II considera solamente UFP (Puntos Función no ajustados).
FP = UFP x TCF
Donde UFP: Puntos Función no Ajustados
TCF: Factor de Complejidad Técnica
Para calcular los UFP, se deben identificar los siguientes elementos:
· Entradas Externas (Inputs): Entrada de datos del usuario o de control que ingresan desde el exterior del sistema para agregar y/o cambiar datos a un archivo lógico interno.
· Salidas Externas (Outputs): Salida de datos de usuario o de control que deja el límite del sistema de software.
· Archivo Lógicos Internos (Archivos): Incluye cada archivo lógico, es decir cada grupo lógico de datos que es generado, usado, o mantenido por el sistema de software.
· Archivos Externos de Interfase (Interfases): Archivos transferidos o compartidos entre sistemas de software.
· Solicitudes Externas (Queries): Combinación única de entrada-salida, donde una entrada causa y genera una salida inmediata, como un tipo de solicitud externa.
Una vez identificados los elementos se clasifican de acuerdo al grado de complejidad en: bajo,promedio o alto. Se asigna un peso a cada ítem según el tipo y el grado de complejidad correspondiente. Finalmente los UFP son calculados sumando los pesos de todos los ítems identificados.
Podéis leer algo más sobre Puntos Función aquí.
Líneas de Código Fuente (SLOC)
El objetivo es medir la cantidad de trabajo intelectual puesto en el desarrollo de un programa.
Definir una línea de código es difícil debido a que existen diferencias conceptuales cuando se cuentan sentencias ejecutables y de declaraciones de datos en lenguajes diferentes.
A los efectos de COCOMO II, se eliminan las categorías de software que consumen poco esfuerzo. Así no están incluidas librerías de soporte, sistemas operativos, librerías comerciales, etc., ni tampoco el código generado con generadores de código fuente.
Conversión de Puntos Función a Líneas de Código Fuente (SLOC)
Para determinar el esfuerzo nominal en el modelo COCOMO II los puntos función no ajustados tienen que ser convertidos a líneas de código fuente considerando el lenguaje de implementación
Esto se realiza para los modelos Diseño Temprano y Post Arquitectura.
Como conclusión podríamos decir que
COCOMO II es un modelo capaz de conseguir estimaciones de precisión, permite calibrarse por organización, aunque para ello requiere la experiencia de un número grande de proyectos ya finalizados que puedan aportar datos necesarios para la recalibración.



Deja un comentario