Método de aproximación COSMIC: “Aproximación mediante lógica difusa – el modelo EPCU”

¿Cómo funciona el método de aproximación: “Aproximación mediante lógica difusa – el modelo EPCU”?  

¿Qué consideraciones se deben tener en cuenta si se decide emplear este método de aproximación?

¿Por qué es el ÚNICO método que NO necesita ser calibrado localmente?

La aproximación de tamaño funcional “Aproximación mediante lógica difusa – el modelo EPCU” fue introducida por primera vez en 2012, basada en una técnica utilizando un modelo de lógica difusa, denominado Estimación de Proyectos en un Contexto de Incertidumbre (modelo EPCU) para crear una técnica de dimensionamiento aproximado sin necesidad de utilizar datos históricos locales [1], ya que utiliza un mecanismo de inferencia basado en conceptos matemáticos de lógica difusa.

La lógica difusa es una rama de la inteligencia artificial que le permite a una computadora analizar información del mundo real en una escala entre lo falso y lo verdadero, manipula conceptos vagos, como «poco» o «mucho», y permite a los ingenieros construir dispositivos que juzgan la información difícil de definir.

El modelo general EPCU considera los siguientes pasos y mostrados gráficamente en la Figura 1:

  1. Identificación de las variables de entrada
  2. Especificación de la variable de salida
  3. Generación de las reglas de inferencia
  4. Fuzzificación
  5. Evaluación de reglas de inferencia
  6. Desfuzzificación
Figura 1. Modelo EPCU

Específicamente el modelo EPCU ha sido aplicado para el problema específico de aproximar el tamaño funcional COSMIC de cualquier pieza de software en las primeras fases de un proyecto de desarrollo de software, donde la mayoría de los requisitos reales están escritos en lenguaje natural con alto entorno de incertidumbre, debido a que los requisitos no se conocen del todo en las etapas iniciales del proyecto.

La aplicación del modelo EPCU para aproximar el tamaño funcional COSMIC considera las siguientes dos variables lingüísticas de entrada para hacer el dimensionamiento:

  1. Variable 1: el tamaño del proceso funcional (pequeño, promedio, grande, muy grande), y
  2. Variable 2: el nivel de presencia de objetos de interés sobre los que los procesos funcionales mueven los datos (pocos, promedio, muchos).

Las dos variables lingüísticas de entrada citadas anteriormente clasifican primeramente los procesos funcionales y/o casos de uso y posteriormente hacen una asignación de valor, que es usada por el modelo EPCU para calcular el tamaño funcional aproximado.

La variable de salida está definida como un rango continuo de valores posibles con un límite superior o corte en 16.4 CFP para la aproximación por proceso funcional, límite fundamentado en la técnica de bandas de igual tamaño definida por Vogelezang [2]. En 2015, Valdés [3] implementa un modelo EPCU para Casos de Uso con un límite superior o corte en 44 CFP.

La investigación sobre la técnica de aproximación usando el modelo EPCU se ha centrado en dos niveles de documentación de la descripción de los requisitos funcionales del usuario:

  1. Proceso funcional, y
  2. Casos de uso.

Teniendo en cuenta los resultados de las investigaciones [4,5], se han identificado dos contextos distintos para cada nivel de documentación.

En la Tabla 1 y Tabla 2 se muestra un ejemplo de cómo ponderar requerimientos funcionales tanto por “Proceso funcional” como por “Caso de uso”, considerando las variables de entrada que usa el método, así como las asignaciones de valor correspondientes; de forma tal que para cada “caso de uso” o “proceso funcional” se hace una clasificación lingüística del tamaño que puede ser “pequeño”, “promedio”, “grande”, “muy grande” y en seguida asignar un valor numérico en el intervalo 0 a 5, con el cual se maneja la ambigüedad del requerimiento; como segundo paso se asigna a la siguiente variables la clasificación lingüística del nivel de presencia de los objetos de interés que puede ser “pocos”, “promedio”, “muchos” y en seguida se asigna de la misma manera un valor numérico en el intervalo 0 a 5.

Las ponderaciones anteriores representan las entradas necesarias para que el modelo EPCU realice la aproximación del tamaño funcional COSMIC de la pieza de software.

Tabla 1. Ejemplo de ponderación de las variables de entrada para «Procesos Funcionales»
Tabla 2. Ejemplo de ponderación de las variables de entrada para «Casos de Uso»

Podemos observar claramente que las fortalezas del método son las siguientes:

  1. Permite manejar dos niveles de granularidad que son a nivel de Caso de uso y a nivel de Proceso funcional.
  2. Aplicable en etapas tempranas cuando una parte significativa de los requisitos aún no se conocen a un nivel de detalle que permita identificar los procesos funcionales.
  3. No necesita datos históricos locales para proporcionar una estimación de tamaño, especialmente cuando las técnicas de aproximación actualmente disponibles para dimensionar el tamaño funcional del software requieren forzosamente un proceso de calibración que emplea datos históricos para obtener mejores resultados en contextos locales, sin embargo, la recopilación de estos datos puede ser a la vez costosa y lenta, y las técnicas de aproximación basadas en datos históricos son de poca utilidad sin tales datos.
  • Tiene un uso intensivo en México [6]. Es el único método de aproximación con el que se ha generado una base de datos de referencia de un país, en este caso México y que se ha comparado contra la base de datos internacional, de hecho, la base de datos generada por la amms.org.mx contiene más datos en COSMIC que la internacional.
  • Exhibe un buen comportamiento, incluso cuando las personas no están familiarizadas con el método COSMIC. Lo cual se ha validado comparando el comportamiento de la base de datos de la AMMS.org.mx con la base de datos de la ISBSG.

Es importante señalar, que el método de Aproximación mediante lógica difusa (EPCU) está soportado por la plataforma tecnológica MENSURA® desarrollada por SPINGERE; quien es el creador del método de aproximación EPCU, para más información consultar https://mensura.com.mx/, este es el método que más aplicación tiene a nivel industrial, es decir en proyectos reales, como se ha documentado en distintos artículos.

SPINGERE ofrece servicios y productos que facilitan estas tareas de aproximación de tamaño funcional en etapas tempranas del desarrollo de software (www.spingere.com.mx).

[1] F. Valdes Souto and A. Abran, «Case Study: COSMIC Approximate Sizing Approach Without Using Historical Data», Joint 22nd International Workshop on Software Measurement and 7th International Conference on Software Process and Product Measurement – IWSM-MENSURA, Assisi, Italy, 2012.

[2] F.W. Vogelezang and T.G. Prins, «Approximate size measurement with the COSMIC method: Factors of influence», Software Measurement European Forum – SMEF, Roma, Italia, 2007.

[3] F. Valdés-Souto and A. Abran, “Improving the COSMIC approximate sizing using the fuzzy logic EPCU model”, Joint International Workshop on Software Measurement and International Conference on Software Process and Product Measurement IWSM-MENSURA, Cracow, Poland, 2015.

[4] F. Valdés-Souto, Analyzing the performance of two COSMIC approximation sizing techniques at the functional process level, Sci. Comput. Program. 135 (2017) 105–121.

[5] F. Valdés- Souto, “Analyzing the Performance of Two COSMIC Sizing Approximation Techniques using FUR at the Use Case Level”, Joint International Workshop on Software Measurement and International Conference on Software Process and Product Measurement – IWSM-MENSURA, Beijing, China, September 2018.

[6] COSMIC Subject Matter Experts, “Early Software Sizing with COSMIC: Experts Guide”. Second Edition, February 2020.

[7] Common Software Measurement International Consortium (COSMIC), Measurementt Manual for ISO 19761, Part 1, Part 2, Part 3. Version 5.0, May 2020.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *