Medición automatizada del tamaño funcional para aplicaciones de software transaccionales

Estado:

Cristian Quesada López (Investigador principal)
Gabriela Marín Raventós
Marcelo Jenkins Coronas

Descripción: 

Vigencia: 01/08/2015 al 31/07/2016

Objetivo:

Automatizar la medición de tamaño funcional de aplicaciones de software transaccionales a partir de su código fuente de acuerdo al estándar IFPUG FPA CPM.

 

La estimación del tamaño del software es uno de los temas más importantes en la ingeniería de software y es un factor clave para determinar el esfuerzo y costo en un proyecto de software. El conteo de puntos de función (FPA) es una de las métricas más aceptadas en la industria para cuantificar el tamaño funcional del software.

Tradicionalmente el conteo se realiza a partir de los requerimientos por medio del análisis de expertos. Si una organización desea incorporar FPA en sus procesos de estimación debe contar con una base de datos histórica de proyectos que le permita predecir el esfuerzo y el costo que representa cada punto de función para su organización. El proceso de contar aplicaciones existentes es muy costoso, lento y al ser manual puede no ser exacto.

A lo largo de los años se ha intentado utilizar técnicas estadísticas para deducir puntos de función a partir de líneas de código, pero dada la variedad de lenguajes, arquitecturas y herramientas de desarrollo disponibles éstas no han producido los resultados esperados.

En la actualidad se aplican técnicas de reingeniería que automatizan el proceso de conteo de puntos de función a partir de diferentes artefactos de entrada y en particular a partir de código fuente. Esto porque en muchas organizaciones de software no existe documentación del sistema o esta se encuentra desactualizada. El proyecto de investigación realiza un estudio que analiza las técnicas de automatización del conteo de puntos de función a partir de diferentes artefactos de entrada, propone y evalúa un procedimiento automatizado de medición de tamaño funcional para aplicaciones de software transaccionales a partir de artefactos del código fuente. Esto incluye la creación de modelos funcionales mediante el análisis estático y dinámico de la aplicación a partir del código fuente (capa de interfaz de usuario, capa de negocios, capa de bases de datos, pruebas unitarias, logs de ejecución) y finalmente la creación de las reglas de mapeo entre los modelos funcionales generados y los componentes funcionales del método de conteo.

Área de impacto prioritaria del proyecto: Ingeniería de Software.
El impacto consiste en: La investigación impacta la ingeniera de software al producir conocimiento para desarrollar e incorporar procedimientos
automatizados de medición de tamaño funcional en los procesos de desarrollo de software en la industria de software.

La investigación impacta las organizaciones que desarrollan software en nuestro país y la enseñanza de metodologías de medición de tamaño funcional en nuestra universidad ya que desarrolla una guía de adopción de procedimientos de automatización para realizar el conteo de puntos de función y provee al menos una herramienta para la automatización del conteo de tamaño funcional de aplicaciones de software que puede ser usada en contextos profesionales y educativos para experimentación.