Mapeo y factorización de modelos orientados a objetos en aplicaciones C

La generación de modelos de alto nivel, en procesos de ingeniería inversa aplicados a sistemas legacy, ayuda a entender cómo fue construido dicho sistema. En el contexto de programas implementados en lenguajes estructurados, las propuestas actuales de generación...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autor principal: Cassol, Ignacio
Formato: Artículo revista
Lenguaje:Español
Publicado: Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas 2016
Materias:
M2k
Acceso en línea:http://www.ridaa.unicen.edu.ar/xmlui/handle/123456789/771
Aporte de:
Descripción
Sumario:La generación de modelos de alto nivel, en procesos de ingeniería inversa aplicados a sistemas legacy, ayuda a entender cómo fue construido dicho sistema. En el contexto de programas implementados en lenguajes estructurados, las propuestas actuales de generación de modelos requieren documentación y/o conocimiento implícido que generalmente sólo poseen los stakeholders que han participado en la construcción de dicha aplicación. Cuando estos requerimientos no se cumplen, las propuestas no son aplicables. Los sistemas legacy implementados en lenguajes estructurados todavía tienen vigencia y siguen funcionando. Estos sistemas también evolucionan y los desarrolladores deben realizar tareas de mantenimiento. Basados en las buenas propiedades que tiene el paradigma orientado a objetos, proponemos M2K: una metodología que genera un modelo orientado a objetos de sistemas legacy programados en Ansi C. Nuestra contribución está basada en la generación de dicho modelo combinando técnicas automáticas y manuales que aportan flexibilidad a la solución. Un software propio parsea de modo automático el código legacy y genera un modelo. Un experto, sobre la base de dicho modelo, aplica un conjunto de refactorings y genera un modelo mejorado. Finalmente, presentamos un modelo de métricas que nos permite medir la distancia entre el modelo generado automáticamente y el modelo mejorado.