Análisis de evolución de aplicaciones orientadas a objetos usando correlación de indicadores
Abstract
El software es un recurso crítico en nuestra sociedad. Para ser considerado una inversión exitosa, el software tiene que seguir cumpliendo los requerimientos del usuario que se generan por los cambios durante toda su vida útil.
Los cambios se generan constantemente, y no deberían alterar la estructura de las aplicaciones de software que afectan. Particularmente, la estructura del software implementado con el paradigma orientado a objetos, se basa en una arquitectura de capas (packages, clases, métodos), donde cada una se compone de entidades de un mayor nivel de abstracción. Una forma de medir cómo se afecta la estructura de una aplicación es el uso de los indicadores de cohesión, acoplamiento y complejidad, y el análisis de los mismos en diferentes versiones de una aplicación. Usando una derivación del Análisis de Conceptos Formales llamada lattices de AOC-poset como herramienta de análisis complementado con métricas, se plantea una evaluación de cómo evolucionan tres indicadores (la complejidad, la cohesión y el acoplamiento) en diferentes niveles de una aplicación orientada a objetos, y nos permiten identificar cambios no documentados de la misma. La metodología a utilizar es la construcción de AOC-poset por cada indicador, en cada nivel de abstracción de una aplicación orientada a objetos. Luego compararemos cada lattice en cada nivel de cada indicador, y analizaremos si se cambian (o no) los indicadores en diferentes versiones de un software. Como resultados, se espera identificar patrones de la degradación o las mejoras en los indicadores de calidad en el lattice obtenido, y detectar si los indicadores evolucionan con uniformidad en diferentes capas de abstracción. La mayor contribución en el estado del arte actual de este trabajo es el uso de lattices complementado con métricas para medir la evolución del software, que es un campo aún no explorado dentro de la reingeniería de software.