Pruebas

En esta sección se presentan los resultados de las pruebas realizadas para los casos de uso indicados. Se muestran capturas de las ventanas correspondientes y se proporciona una explicación para cada imagen.

Captura de servicio de API REST
Captura de servicio de API REST corriendo separadamente
Esta es una imagen de mi servicio de API REST corriendo de manera independiente. Es fundamental para asegurarnos de que todo está funcionando correctamente antes de proceder con las demás pruebas.
Captura de aplicación JavaFX
Captura de la aplicación JavaFX mostrando la lista de estudiantes y notas
Esta es una captura de mi aplicación JavaFX mostrando la lista de estudiantes y notas. Es esencial para demostrar cómo se presentan los datos en la aplicación y cómo se manipulan.
Captura de DBeaver actual
Captura de DBeaver mostrando la situación de la base de datos
Esta es una captura de DBeaver, que es un programa que muestra en tiempo real la situación de una base de datos. Comparamos la situación actual de la base de datos y los archivos que recibe mi programa en JavaFX para asegurarnos de que todo está sincronizado.
Captura de añadir estudiante
Captura de la aplicación JavaFX añadiendo un estudiante
Aquí estoy agregando un nuevo estudiante a través de mi aplicación JavaFX. Después de agregarlo, comprobaremos en DBeaver si el estudiante se agregó exitosamente a la base de datos.
Captura de asignar nota
Captura de la aplicación JavaFX asignando una nota
En este paso, estoy asignando una nota al estudiante que agregué en el paso anterior. Después de asignar la nota, comprobaremos en DBeaver si la nota se asignó correctamente.
Captura de aplicación JavaFX final
Captura de la aplicación JavaFX final Este es el paso final donde al apretar el boton subir nota, se muestran los datos finales actualizados, ahora solo queda comprobar si la situación de la base de datos es lo mismo que se ve en la aplicación JavaFX
Captura de DBeaver final
Captura de DBeaver mostrando la situación final de la base de datos
Esta es una captura de DBeaver, que es un programa que muestra en tiempo real la situación de una base de datos. Comparamos la situación final de la base de datos y los archivos que recibe mi programa en JavaFX para asegurarnos de que todo está sincronizado.

Estos pasos demuestran que la API funciona sólidamente y la aplicación JavaFX consume la API correctamente y manipula las entidades de estudiantes y notas.

Bugs y dificultades encontradas:

Uno de los mayores desafíos fue investigar y comprender el concepto de ORM por cuenta propia, ya que no fue abordado en el curso de Programación Orientada a Objetos. Se invirtió tiempo en aprender y aplicar adecuadamente el mapeo objeto-relacional para garantizar un diseño sólido y eficiente del sistema.

En cuanto a los bugs, se encontraron dificultades al implementar ciertos métodos en la API REST que dependían de operaciones complejas, como la eliminación de un estudiante y sus notas asociadas. Se está trabajando activamente para abordar estos problemas y garantizar un funcionamiento estable y sin errores.

Además, durante el desarrollo del sistema, se enfrentaron desafíos al seleccionar los frameworks y las bibliotecas adecuadas para cubrir todas las necesidades del proyecto. Se optó por utilizar Spring para el servicio de API REST, aprovechando su funcionalidad ORM para tratar la base de datos como objetos. También se utilizó Kong para facilitar las solicitudes a la API REST desde la aplicación JavaFX, asegurando un acceso seguro y eficiente a los recursos.