Simulación y predicción de partidos de la copa América
Daniel Bunster - Sebastián Donoso - Sebastián Gaete
Descripción del sistema
A puertas del comienzo de la copa América 2024, surge la necesidad de aprovechar la instancia y realizar actividades que promuevan el evento deportivo y de relacionar a las personas con el deporte a disputar. De esta manera, se piensa que una forma de integrar a las personas es a través de una aplicación interactiva que permita al usuario divertirse y a la vez interesarse en lo que puede ofrecer la copa América.
Análisis del problema
Para incorporar al usuario en la copa América, la aplicación ofrecerá 3 actividades: Un simulador de partidos, el cual se basa en las estadísticas de los equipos a enfrentar, un juego de predicciones, donde los usuarios ingresan el equipo que creen que ganará la copa y el programa a base del estado de la copa actual, arroja un puntaje a cada usuario según como es el desempeño de su equipo y finalmente, una sección donde se muestran los resultados de los últimos 5 partidos de la copa. La idea del sistema es que el usuario tenga una constante interacción con los equipos, resultados y usuarios de la copa América, de manera que se interese en los eventos del campeonato futbolístico.
Casos de uso
Caso # 1
Nombre: Simular el resultado de un partido de la copa América.
Propósito: El usuario desea saber el posible resultado de un encuentro basándose en las estadísticas de los equipos.
Actor: Usuario.
Pre-Evento: Se encuentra en el sistema los datos de los equipos. El usuario elije un equipo que se encuentre disputando la copa América.
Evento: El usuario ingresa ambos equipos, presiona el botón “ok” y luego el botón “simular”.
Curso Normal De Eventos:
Actor | Sistema |
Ingresa equipo 1 | - |
Ingresa equipo 2 | - |
Pulsa el botón “ok” | El sistema extrae los 2 equipos a simular, y los busca en la base de datos. |
Pulsa el botón “simular” | El sistema calcula el resultado del encuentro a través de su algoritmo de probabilidad. |
Caso # 2
Nombre: Calcular los puntajes de los participantes según el equipo que hayan elegido.
Propósito: Determinar los puntajes de cada usuario, y seleccionar el ganador según el desempeño de su equipo en la copa.
Actor: Usuarios
Pre-Evento: Se encuentra en el sistema los datos de puntajes de cada equipo.
Evento: Todos los usuarios ingresan su equipo, y se apreta el botón “ok”
Curso Normal De Eventos:
Actor | Sistema |
Usuario “N” ingresa su equipo | - |
Pulsa el botón “confirmar” | El sistema obtiene los puntos de la selección elegida en su base de datos en lo que va de la copa. |
- | - |
Caso #3
Nombre: Resultados de los últimos 5 partidos de la copa América.
Propósito: El usuario puede determinar el resultado de los últimos 5 partidos, viendo los goles.
Actor: Usuario.
Pre-Evento: Se debe encontrar en el sistema los datos de los últimos 5 partidos.
Evento: El usuario ingresa a la sección “Resultados”
Curso Normal De Eventos:
Actor | Sistema |
Usuario ingresa al apartado Resultados | Imprime en la interfaz los resultados de los últimos 5 partidos |
- | - |
- | - |
Diagrama de clase
Diagrama de Secuencia (Caso de uso #1)
Resultados Finales
Figura 1: Menú Principal.
Aquí se encuentra el menú principal del programa, en donde con tres botones se puede acceder a los tres modos que tiene la aplicación.
Figura 2: Sección de últimos resultados.
En esta imagen se aprecian los últimos 5 partidos de la copa, lo que le permite al usuario una realimentación directa de los resultados reales de las selecciones.
Figura 3: Sección de simulación.
Aquí se ingresan dos selecciones de las ilustradas en los costados e indica un resultado probable entre ambas selecciones.
Figura 4: Sección de predicción.
En la parte de predicción hay capacidad para 5 jugadores, los cuales escriben el nombre de una selección participante que creen que ganará la copa, en la parte inferior se indica el puntaje del jugador en base a un sistema de puntajes respecto a lo realizado por la selección escogida hasta cierto punto de la competición, a medida que se van jugando partidos, los usuarios van aumentando su puntaje si su selección tiene un buen desempeño.
Dificultades
Del menú principal, había que poder moverse entre las distintas páginas que representan las opciones que tiene la aplicación, con unos botones se pudo lograr esto sin mayor dificultad. Luego a modo general tanto para la parte de simulación, de predicción y últimos resultados una de las mayores dificultades fue vincular la interfaz con los datos que se obtuvieron a través de las clases respectivas y los archivos .csv, sin embargo, se logró dominar. Otra gran dificultad fue realizar lo que para este programa se denomina “base de datos” el cual al no querer construir una base de datos real, se opta por un archivo .csv el cual contiene la información importante para realizar cada operación, esto simplifica bastante el problema de poder recopilar la información precisa para lo requerido. Para la parte de simulación fue importante rescatar el resultado más realista posible, para ello se tuvo que investigar modelos predictivos y datos afines a este tipo de problemas, permitiendo también un grado de incertidumbre a un resultado muy probable.
Bugs y aspectos a mejorar
Uno de los problemas del programa es que si no se ingresa correctamente el nombre de un país, el programa se cierra automáticamente, una mejora a esto puede ser indicar con un mensaje al usuario que ingrese un nombre válido en vez de cerrarse. Otro error que tiene el programa es sobre la dimensión de la pantalla, no se reajusta si se agranda o se encoge.
Un aspecto a mejorar de esta aplicación es poder ingresar la base de datos mediante internet, esto para que se tenga un resultado en directo en vez de modificar manualmente los valores de los archivos.
Por último, una mejora en la parte de predicción es la cantidad de jugadores, poder indicar cuántos son y a partir de ello que se ingresen las selecciones en vez de que por defecto sean 5 jugadores.
El repositorio del proyecto se puede encontrar en el siguiente Link.