Presentado por: | Mario Castro, Cristobal Rodriguez. |
Descripción del problema: |
Cada
año en nuestra universidad se realizan numerosos campeonatos de fútbol
que son organizados por los mismos alumnos. Estos son organizados por
personas que no son profesionales en este tema y que no disponen de
todo el tiempo que este tipo de organización necesita. Estos hechos
provocan conflictos entre la organización y los competidores ya que la
información no se entrega oportunamente, por consiguiente, ocurren
problemas en la programación de partidos, en los resultados de estos,
en las estadísticas, etc.
Casos de Uso:
Caso#1:
Nombre: Crear nueva liga.
Propósito: En este caso el usuario crea un nuevo campeonato en formato de liga
Actores: usuario
Pre-Condiciones: El usuario se ha logeado satisfactoriamente en el sistema
Evento:El usuario selecciona "Crear Nueva Liga"
Post-Condiciones: La liga se crea satisfactoriamente, con sus equipos, jugadores y fixture
Tipo: Manual
Secuencia Normal:
1) | Usuario Selecciona "crear nueva liga". |
2) | El sistema solicita el nombre de la liga, cantidad de equipos en la liga, y cantidad de jugadores por equipo. |
3) | El usuario ingresa el nombre de la liga, la cantidad de equipos y jugadores por equipo. |
4) | El sistema solicita el nombre de cada uno de los equipos participantes. |
5) | El usuario indica el nombre de cada equipo participante. |
6) | El sistema solicta el nombre de cada jugador de cada equipo participante. |
7) | El usuario señala el nombre de cada jugador participante. |
8) | El sistema crea la Liga |
Diagrama:
Caso#2:
Nombre: Agregar resultados a liga existente.
Propósito: El usuario edita resultados de alguno de los partidos programados.
Actores: Usuario
Pre-Condiciones: Existe una liga con dos o más equipos y el usuario se ha logeado exitosamente
Evento: El usuario selecciona "Actualizar".
Post-Condiciones: Son editados los resultados de los partidos seleccionados satisfactoriamente
Tipo: Manual
Secuencia Normal:
1) | Usuario Selecciona "Actualizar". |
2) | El sistema muestra el fixture de partidos programados. |
3) | El usuario completa los campos para el resultado, y selecciona el checkbox correspondiente |
4) | El Usuario selecciona "Guardar Cambios". |
5) | El sistema Guarda los resultados en un archivo y vuelve al panel principal.
|
Secuencia Alternativa:
Caso#3:
Nombre: Ver tabla de posiciones
Propósito: Muestra la tabla de posiciones de la liga.
Actores: Usuario
Pre-Condiciones: Se ha creado una liga, con sus jugadores y equipos.
Evento: El usuario selecciona la opcion "Ver tabla".
Post-Condiciones: Se muestra la tabla de posciones, con partidos jugados, puntaje y goles de cada equipo participante.
Tipo: Manual
Secuencia Normal:
1) | El usuario selecciona "Ver Tabla" |
2) | El sistema lee los archivos de la liga y genera la tabla de posiciones. |
Diagrama UML de la solución: |
En este diagrama faltan algunas clases, como por ejemplo los paneles de equipo y jugadores. Tambien la clase Fixture y Tabla
Caso#2: Agregar Resultados a Liga existente
Este caso tiene como pre-condición la existencia de una liga.
Secuencia Normal:
1) Usuario Selecciona Actualizar:
2) El sistema muestra el fixture de los partidos programados:
3) El usuario llena los campos de resultado, y marca el checkbox correspondiente:
4) El usuario selecciona "Guardar Cambios":
5) El sistema guarda los datos en un archivo y vuelve al panel principal:
Dificultades en el desarrollo: |
1) Se encontro una dificultad en querer implementar un algoritmo de ordenamiento, para crear una tabla de posiciones.
2) Problemas con la imagen de fondo del software. En ocaciones
permanecian campos de texto y botones de paneles anteriores sobre la
imagen.
1) Al crear una nueva liga, existiendo una
previamente, algunos equipos de la nueva liga se agregan al fixture de
la primera. El sistema permite administrar una liga.
2) Funciona con cantidad par de equipos, menor o igual a 20 equipos.
3) 20 jugadores máximo por equipo.
4) Si no se indican nombre de los equipos, el sistema no funciona. No asì para los jugadores.
1) Permitir administrar varias ligas a la vez.
2) Gestionar sanciones en jugadores.
3) Calendarizar partidos de acuerdo a
disponibilidad de canchas. Se requiere una nueva clase "cancha" con su
disponibilidad de tiempo como atributo.
4) Realizar ranking de goleadores.
Proyecto