J2XMI
Hace ya algún tiempo que le vengo dando vueltas a un proyecto. Se trata de desarrollar un módulo software (J2XMI) en mis ratos libres, como proyecto de investigación open source. La idea está más que trillada, la meta es implementar una librerÃa para hacer ingenierÃa inversa sobre código Java. Lo nuevo es el resultado que produce la herramienta: ficheros de salida XMI que describen un modelo UML de clases.
¿Por qué XMI? Sus propias siglas lo dicen, se trata de "XML for Metadata Interchange". Un resultado en este formato permitirÃa intercambiarlo entre diversas herramientas software, tanto CASE como otras librerÃas.
He decidido emprender este proyecto después de haber comprobado que existen muy pocas herramientas open source y free software que hagan ingenierÃa inversa útil y fiable. En ocasiones, pecan de simples por omitir detalles del modelo que considero importantes, como la documentación javadoc y los sources originales; en otros casos, cuando pretenden ser rigurosas, generan diagramas erróneos y complejos, que en último caso no permiten volver a pasar del diagrama al código original.
Primero, los beneficios que debe proporcionar. Luego, un pequeño "plan de ataque".
Beneficios
* http://elgatocallejero.blogspot.com |