Versionamiento y Trazabilidad es el módulo de GxTend, la
suite de herramientas full-web para gestionar un proyecto de desarrollo de
software, que permite tener una visión del proyecto a través del tiempo.
Ahora con GxTend es posible acceder a toda la "historia"
de todos los elementos de nuestra aplicación, en todo momento.
GxTend acompaña la evolución del producto, registrando
todos los elementos modificados en su repositorio interno. Se considera no sólo
los "objetos exportables" por GeneXus, sino también, el conocimiento externo,
estructuras de tablas y sus respectivos índices así como la navegación de cada
uno de los objetos versionados.
A medida que evoluciona el producto, GxTend va capturando
en su base de datos la evolución de las entidades de interés y la relación entre
esas entidades (como por ejemplo las referencias cruzadas). Es posible buscar
entre los objetos versionados, seleccionar y comparar los cambios
realizados.
En la figura se observa la evolución de la tabla VprosTra,
donde se resalta la versión actual, y se observa que desde su creación, ha
sufrido cinco cambios. Se pueden visualizar cada una de las estructuras, y
comparar los cambios, como se detalló en el artículo de Herramientas de
Productividad.
Revisiones
Es difícil hablar de versionado, y no incluir el concepto
de Revisiones. GxTend permite que se tome una foto o "snapshot" de las versiones
presentes en un momento dado, generando el concepto de revisión. A una revisión
se le puede agregar información que detalle el significado de esa "foto" para la
organización.
Cada revisión muestra la situación de nuestra aplicación
en un momento dado. Podemos generar la revisión en forma interactiva, por
ejemplo asociándola a una entrega al cliente, o parametrizar según calendario su
ejecución, registrándose como una revisión automática.
Al desplegar las revisiones, GxTend resalta los cambios en
la estructura de la base de datos. Como observamos en la siguiente figura,
GxTend agrupa por color aquellas revisiones que corresponden a la misma
estructura de base de datos.
Vemos entonces como el repositorio de GxTend, contiene
toda la información de la evolución de nuestra aplicación, y nos brinda las
herramientas apropiadas para procesarla con flexibilidad.
El usuario puede realizar búsquedas, seleccionar, comparar
las revisiones seleccionadas, identificando los cambios en el tiempo. Se puede
seleccionar una revisión particular y realizar un browse del estado del proyecto
en un momento dado.
Como se mencionó anteriormente se puede navegar a través
de la evolución en el tiempo de cualquiera de las entidades de nuestra
aplicación, en una Kb, entre diferentes Kbs, o incluso entre diferentes
clientes, proyectos o módulos.
¿Y la trazabilidad?
Tanto el Versionamiento como la Trazabilidad son aspectos
importantes en todo desarrollo de software. Tanto es así que son aspectos
requeridos para lograr certificaciones de calidad.
GxTend permite registrar el motivo de la evolución de un
elemento y/o cualquier otra información que se quiera asociar al
cambio.
Un ejemplo puede ser la gestión de la incidencia que
derivó en una nueva versión de una entidad, ya sea por un nuevo requerimiento, o
por la corrección introducida ante un incidente.
La información sobre versionado y trazabilidad puede
emplearse para construir las métricas de interés de la organización,
contemplando la visión de los distintos actores del proyecto.
Desde su interfaz gráfica, full-web, GxTend permite
acceder a la información de trazabilidad. Por ejemplo, para los objetos de una
Kb GeneXus, es posible definir una entrada del tipo "Object ChangeLog", de
manera que en cada evolución del objeto podremos contar con la siguiente
información:
- Diff entre la versión n y la versión n-1 del
objeto.
- Usuario que realizo la modificación.
- Detalle explicativo de la modificación.
¿Qué sigue?
Se mostraron
algunos de los usos del módulo de Versionamiento y Trazabilidad de GxTend. Junto
con las Herramientas de Productividad se completa la visión del proyecto, tanto
a través del tiempo, como a través de las KBs. En la próxima entrega se
presentará el módulo de Control de Concurrencia, que brinda opciones para que
varios desarrolladores trabajen controladamente sobre las KBs consolidadas,
ordenando el trabajo en forma ágil, y evitando la pérdida de
cambios.