Extracción de reglas de negocio de código fuente
Supervisor(es): Mayr, Cristina
Resumen:
El BROU (Banco de la República Oriental del Uruguay) cuenta con un sistema informático central desarrollado en EAE (Enterprise Application Environment)/LINC (Logic and Information Network Compiler), una herramienta de cuarta generación propietaria de Unisys Corporation, que cuenta con un ambiente de desarrollo en Windows utilizando un lenguaje denominado LDL y genera código fuente Cobol para distintas plataformas (en el caso particular del banco equipos Sun Sparc con Sistema Operativo Solaris 10, Base de Datos Oracle 10g y Micro Focus Cobol 4.0 Server Express Service Pack 2). Este sistema denominado SFB (Sistema Financiero Bancario) ha sido utilizado por el banco durante quince años, en los que ha evolucionado junto con los requerimientos del negocio, pero con cambios que no han sido formalmente registrados. Es debido a esto que en la actualidad el banco no posee documentación actualizada del sistema con las reglas de negocio que se aplican en el mismo. Nuestro trabajo consistió en la selección de un conjunto compuesto por las transacciones mas importantes del sistema, y el desarrollo de un programa que realiza un proceso de ingeniería inversa y a partir del código fuente del sistema devuelve como salida un pseudocódigo con las reglas de negocio aplicadas. Para la selección de las transacciones nos basamos en la experiencia de los principales analistas de los diferentes módulos del sistema, junto con estadísticas de ejecución en el ambiente de producción. Durante el proyecto consideramos una mejor solución realizar un desarrollo aplicable a cualquier desarrollo en EAD, y no restringido a un conjunto de transacciones en particular. Para la gestión de proyecto estudiamos la metodología PMI y la adaptamos a nuestro proyecto, siguiendo las mejores prácticas sugeridas en el PMBOK. En el análisis utilizamos teoría de compiladores [15], dado que se utilizaron técnicas de diseño de compiladores para el desarrollo de nuestro traductor. También estudiamos herramientas existentes con funcionalidades similares, y el proceso de “Synchronized Refinement”, ya que en el se define parte del fundamento teórico que utilizamos en nuestro trabajo. En cuanto a la implementación, optamos por un desarrollo JEE en NetBeans con base de datos MySQL, debido a que son herramientas de software libre y las consideramos adecuadas para nuestra implementación. Nuestro programa carga en una base de datos la información extraída del sistema a analizar, para luego hacer una doble recorrida del código fuente armando un árbol sintáctico-semántico, e invocando métodos que traducen los comandos a expresiones previamente definidas para formar el pseudocódigo que será la salida final. Además de incluir el material y la documentación generado durante el proyecto, en los anexos se incluye un relevamiento del módulo de Banca Electrónica (transacciones de cajeros automáticos) que incluye el análisis de su rediseño hacia una arquitectura orientada a servicios.
| 2011 | |
|
Ingeniería inversa Reglas de negocio Código fuente BROU Unisys EAE/LINC Sistema Financiero Bancario Synchronized Refinement Pseudocódigo Teoría de compiladores Árbol Semántico-Sintáctico SOA |
|
| Español | |
| Universidad de la República | |
| COLIBRI | |
| https://hdl.handle.net/20.500.12008/52170 | |
| Acceso abierto | |
| Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0) |