Resumen-Este trabajo presenta una experiencia real de reingeniería de sistemas legados. La misma tuvo lugar en la Administración General de Vialidad Provincial (Santa Cruz) y demandó aproximadamente un año de trabajo. El proyecto de reingeniería tuvo dos objetivos muy concretos: a) desarrollar un marco de trabajo de reingeniería que se adecuara a los sistemas legados de la organización con la finalidad de poder ser replicado a otros sistemas legados de la organización. Este objetivo dio por resultado la elaboración de una guía para su posterior reutilización a estos contextos. b) su aplicación a uno de los sistemas legados de la organización. En esta primera instancia se aplicó al sistema de Patrimonio.Palabras Clave-Sistemas legados, reingeniería, migración, mantenimiento.
I. INTRODUCCIONPragmáticamente los sistemas legados se han definido como "software que es vital para la organización, pero no se sabe qué hacer con él" [1]. Los sistemas legados son uno de los principales problemas del mantenimiento de software. A pesar que la crisis Y2K forzó a muchas organizaciones a sustituir los sistemas antiguos, existe aún software que supera los 20 años. Se trata de software monolítico, dividido en subsistemas que cumplen funciones importantes para las organizaciones, pero de los cuales no se dispone documentación, los desarrolladores originales ya no trabajan en la organización y solo se dispone de los códigos fuentes e incluso en algunos casos ni siquiera eso.Aunque tecnologías más modernas (aplicaciones clienteservidor, BD relacionales, tecnologías OO / componentes, etc.) suponen mayor facilidad de mantenimiento y además ofrecen mas oportunidades, ocurre que el ciclo de vida de los sistemas se extiende más de lo debido. Sneed [2] afirma que las empresas no invierten recursos en ingeniería inversa o reingeniería a las nuevas tecnologías sobre la base de que los costes de mantenimiento son menores. Sin embargo, en un punto el mantenimiento adaptativo [3] obliga a realizar el mayor esfuerzo y más riesgoso, el desarrollo de un nuevo sistema, la migración de los datos, la recuperación de la lógica de negocios, es decir una reingeniería [4]. Los procesos de reingeniería son complejos, y no existen formulas preestablecidas que se puedan aplicar con éxito a todos los casos, por otro lado conllevan una importante carga de trabajo manual, aún cuando se puedan utilizar herramientas que automaticen ciertas actividades.Este trabajo presenta una experiencia real de reingeniería de sistemas legados. La misma tuvo lugar en la Administración General de Vialidad Provincial (Santa Cruz) y demandó aproximadamente un año de trabajo. El proyecto de reingeniería tuvo dos objetivos muy concretos: a) desarrollar un proceso de reingeniería que se adecuara los sistemas legados de la organización con la finalidad de poder ser replicado a otros sistemas legados de la misma. Este objetivo dio por resultado la elaboración de una guía para su posterior reutilización a estos contextos. b) su aplicación a uno de los sistemas legados de la organizaci...