¿Qué es COSMIC?
COSMIC es un acrónimo para el Common Software Measurement International Consortium, que a su vez es la organización responsable de la definición y el mantenimiento del método de medición del tamaño funcional que lleva el mismo nombre. Este método es el primero diseñado para cumplir con el estándar ISO / IEC 14143 y define una medida estándar del tamaño funcional del software en la unidad denominada Puntos de Función COSMIC (PFC).
El método tiene una flexibilidad que permite el desarrollo de extensiones locales para tratar problemas específicos como, por ejemplo, software con procesamiento matemático intensivo, algoritmos complejos y procesamiento de variables continuas, como audio y vídeo. Sin contar que es de dominio público y sin costos, poseyendo una base conceptual compatible con la moderna ingeniería de software y también es un método para Análisis de Puntos de Función.
¿Cómo funciona el proceso de medición COSMIC?
El proceso se realiza en tres fases: la fase de definición de la estrategia de medición, la fase de asignación y la fase de medición.
La fase de definición de la estrategia de medición consiste en evaluar los objetivos para definir el propósito de la medición de cada pedazo de software a medir, incluyendo sus fronteras. En la fase de Mapeo se evalúan los requisitos funcionales del usuario de los artefactos del software a ser medido, en términos del modelo general de software. Este modelo define que una función del software (o proceso funcional) está compuesta de dos tipos de subprocesos: movimientos o manipulación de datos. Por simplificación, sólo se miden los movimientos de datos de un proceso funcional, y hay cuatro tipos de movimientos presentes en él, la entrada, la salida, la lectura y la grabación.
Por último, en la fase de medición, se asocia a cada movimiento de datos, entre las fronteras definidas en las fases anteriores, el valor de un punto de función COSMIC. Así, se suman los movimientos de datos de cada proceso funcional y luego el tamaño de todos los procesos funcionales considerados en el ámbito del análisis, para obtener el resultado final de la medición.
¿Cuáles son las ventajas y desventajas del COSMIC sobre la APF?
Tanto el método de COS-MIC como el de IFPUG son APF (Análisis de Puntos de Función). La evaluación bajo la óptima ventaja / desventaja es un poco subjetiva, por lo que vamos a tratar de destacar las diferencias más significativas entre ambos.
El método COSMIC es más flexible para la aplicación en gama de escenarios más amplios de proyectos de software y permite una medición en una granularidad más fina que la del IFPUG, que puede ser visto como un estándar de estrategia de medición del COSMIC.
El IFPUG define la complejidad de una función de una manera algo arbitraria y limitada (baja, media o alta).
El método del COSMIC no entra en el mérito de clasificar una función en cuanto a la complejidad. Esta puede tener desde dos puntos de función hasta un número indeterminado, según la cantidad de sus movimientos de datos. El método IFPUG también establece una segregación más estricta entre requisitos funcionales y no funcionales. El método COSMIC tiene una interpretación más maleable, reconociendo que los requisitos no funcionales pueden evolucionar a requisitos funcionales. Esto permite medir, usando un patrón único, elementos de software que por el método de IFPUG se llaman elementos no mensurables.
¿En el futuro el COSMIC va a sustituir a la APF? ¿Cuándo?
De nuevo, tanto el método COSMIC como el de la IFPUG son APF. El método IFPUG es más antiguo (más de 35 años) y, por lo tanto, tiene una difusión más amplia. El método COSMIC es relativamente reciente (desarrollado hace 15 años) y aún con una difusión menor cuando se compara con el método IFPUG, pero con un ritmo de adopción más acelerado por el mercado.
Aunque el método COSMIC tiene una base conceptual más moderna que el IFPUG, el know-how desarrollado en el mercado y toda la base histórica de indicadores usando este método pesan a favor del método IFPUG.
En términos prácticos es poco probable que una empresa que ya esté usando, de una manera madura, un método opte por sustituirlo. Si esto ocurre, es muy probable que sea por factores externos como, por ejemplo, la exigencia de un cliente.
Por lo tanto, lo más probable es que los métodos sigan conviviendo en el mercado por tiempo indeterminado, porque son plenamente conciliables.
Lo que definirá cuál de ellos tendrá más predominio en el futuro es qué elección será adoptada por las organizaciones que aún no utilizan ningún método de medición funcional de software, que es la gran mayoría hoy.
Ejemplo de proceso funcional con 7 movimientos de datos, o 7 CFPs