Tu tarea es redactar un apartado para un trabajo de fin de grado sobre un sistema de recomendación para la composición de equipos en juegos. El apartado se denomina Arquitectura general del sistema y contiene lo siguiente: bloques lógicos que indican los módulos principales del programa, diagramas de paquetes, diagramas de estados UML o cualquier otro modelado general que permita describir a muy alto nivel (no código) el sistema. El código del programa está formado por 5 archivos de código python: 

- Módulo helpers: contiene una función llamada fetch que obtiene la respuesta de una consulta HTTP
- Módulo ddragon (dataDragon): obtiene la versión de League of Legends y un diccionario de los campeones con su nombre e identificador de la API de Riot Games.
- Módulo jsonGenerator: obtiene 2 archivos jsons por cada campeón de League of Legends en cada rol, uno con datos sobre los aliados y otro sobre los enemigos.
- Módulo ui (interfaz): contiene el código de la interfaz que simula la fase de selección de una partida de League of Legends. Tiene un botón para actualizar los datos obtenidos mediante jsonGenerator y un botón para analizar los personajes seleccionados hasta el momento y proporcionar los mejores campeones en función de ello.
- Módulo recomendador: se acciona mediante el botón analizar de la interfaz, es el que procesa los cálculos para ofrecer las recomendaciones.