In Spanish
La disciplina “Comprensión de programas” –CP- se define como el proceso por el cual los desarrolladores estudian y comprenden el comportamiento y operación de un sistema o software, utilizando el código fuente como referencia principal. Si se tiene un servicio restful íntegramente diseñado, desarrollado y ejecutado en un Sistema de Gestión de Reglas de Negocio, construido por personas con formación informática pero también por usuarios de negocio, existe conocimiento (información, premisas, criterios de diseño, abstracciones) que queda distribuido entre ambos perfiles complementarios. Si a eso se suman los frecuentes cambios de las normativas impositivas en Argentina que constituyen el ámbito de aplicación de este software y el dinamismo que hoy en día experimentan los equipos de desarrollo por el recambio de sus integrantes, transcurrido un lapso de tiempo no tan prolongado, el único conocimiento actualizado e íntegro queda atrapado dentro del código fuente. Como paliativo para esta problemática, se desarrolla una herramienta que da soporte al ciclo de vida propio de este sistema. El conocimiento del dominio de ambos perfiles se extrae del código fuente, para modelarlo y representarlo visualmente, colaborando con el entendimiento de quienes deban realizar tareas de mantenimiento, entrenando nuevos recursos o acompañando a los existentes.
In English
The discipline "Program Comprehension" is defined as the process by which developers study and understand the behavior and operation of a system or software, using the source code as the main reference. If you have a restful service, fully designed, developed and executed in a Business Rules Management System, built by IT people but also by business users, there is knowledge (information, premises, design criteria, abstractions) which is distributed between both complementary roles. If we add to this, the frequent changes in tax regulations in Argentina that constitute the scope of application of this software and the actual dynamism that development teams experience due to the replacement of their members, after a not so long time period, the only updated and complete knowledge is trapped within the source code. A tool that supports the life cycle of this system is developed as a palliative for this problem. The domain knowledge of both roles is extracted from the source code, to model it and visually represent it, collaborating with those who must carry out maintenance tasks, training new resources or supporting existing ones.