Está en la página 1de 2

1.

Descripción:

En el siguiente informe se realiza el análisis e implementación de variabilidad de aspectos y features


sobre el producto “Cajero Automático”. Se utilizaron diferentes técnicas y herramientas para su
desarrollo; en especial se destaca el uso de AspectJ para el manejo de aspectos.

2. Modelo de características:

3. Diagrama de Clases

Se agrego la clase Usuario para gestionar los logins de la aplicacion, y se agregó un atributo a la clase
Cuenta, para controlar cuando tienen y cuando no, el saldo reducido.

4. Especificación de los aspectos que implementan cada una de las características

Para el ejercicio se implementaron los siguientes aspectos:

 Algunos cajeros generan un archivo con registros de auditoría:

En el modelo de características se presenta con el nombre de Logger. Este aspecto crea pointcuts de
tipo after, en los métodos donde hay movimientos en la cuneta. Cada vez que se ejecuta un
movimiento, el programa lo registra en un archivo *txt.
 Todos los cajeros permiten imprimir el listado de operaciones al final del día:

Muy similar al anterior pero este guarda las operaciones que se realicen en un arreglo que al final de
la ejecución del programa, es impreso en la consola. En el modelo de características se encuentra
como OperationList.

5. Video demostración de la Línea de productos

Link: video demostración (entrar con correo uniandes)

6. Acceso al repositorio con el Código Fuente

https://github.com/SergioAndes/VariabilidadAspectos.git

7. Conclusiones y lecciones aprendidas

La implementación de aspectos para el manejo de la variabilidad puede ser muy útil cuando se
presentan features trasversales, es decir que se encuentran en diferentes partes del código. Para este
ejercicio se usó AspectJ que nos permitió manejar la variabilidad del producto en tiempo de carga.

También podría gustarte