3. 1. Manual de usuario.
Se ha confeccionado un manual de usuario
de parchis para que cualquier persona que
quiera jugar al parchis sepa cómo tiene que
hacerlo.
El juego del parchis se realiza en un tablero
en el que hemos identificado cada casilla
con un número para implementar el
programa
4. El tablero consta de:
104 casillas, distribuidas
de la siguiente forma: 201
202
1..68: Casillas
convencionales 203
204
x01... x07: casillas de
pasillo, distribuidas por 200 205 100
colores donde x ={1,2,3,4}
206
108, 208,308,408: casillas 207
de meta.
208
100,200,300,400: casillas
308
301
302
303
304
305
306
307
de casa
101
108
104
103
102
107
106
105
408
407
406
405
404
403
402
300 401 400
5. 2. Análisis. 2.1. Documento de requerimientos
Con el anális del documento de
requerimientos se realiza el diagrama de
caso uso y la especificación de
requerimientos funcionales, donde se
recogen 26 requisitos que tiene que cumplir el
jugo del parchis. Sobre estos requisitos se
realiza el reparto de tareas entre los miembros
del equipo
7. 3. Diseño
Para la identificación de las clases utilizamos
los sustantivos del documento de
requerimientos que nos lleva a realizar el
primer diagrama UML
y que evoluciona con la incorporación del
parquete UI al diagrama UML definitivo con el
comportamiento definido en el diagrama de
estados
9. 4. Clases. 4.1. Clase Ficha
● Crea las fichas de los jugadores que
participan en el juego.
● Contiene las características de la ficha e
informa de su estado en el juego.
● Algunos de sus atributos más relevantes:
○ Color de la ficha: AMARILLO / AZUL / ROJO /
VERDE.
○ identificador: identificador único de la ficha.
10. 4. Clases. 4.2. Clase Casilla
● Define las características de cada casilla
que forman el tablero.
● También guarda información de las fichas
que se encuentran en ella.
● Algunos de sus atributos más relevantes:
○ número: identificador único definido según la
arquitectura del tablero.
○ Variables tipo booleana que nos indican el tipo de
casilla que es: esCasa, esÚltima, esPasillo...
○ tieneFicha: identificador de tipo entero que indica el
número de fichas que tiene la casilla.
11. 4. Clases. 4.3. Clase Tablero
● Representa el tablero de juego.
● Sitúa las fichas de los jugadores en su
posición inicial e inicializa las casillas.
● Se encarga de las principales acciones que
se pueden realizar sobre el tablero:
○ Determina si una ficha es movible.
○ Mueve una ficha.
○ Saca una ficha que se encuentra en su casa.
○ Se come una ficha.
● Su atributo más relevante:
○ juego: almacena el tablero de juego.
12. 4. Clases. 4.4. Clase Jugador
● Implementa todas las reglas de juego que
debe seguir un jugador.
● Controla las diferentes acciones de un
participante en el juego.
○ Tirar el dado.
○ Elegir la ficha a mover.
○ Mover el número de casillas correspondiente.
● Algunos de sus atributos más relevantes:
○ color: color de las fichas del jugador.
○ fichas: fichas del jugador (cuatro).
○ tirada: valor del dado en su última tirada.
13. 4. Clases. 4.5. Clase parchis
● Clase principal del programa.
● Encargada de configurar el juego y
establecer el valor de las variables
principales.
● Algunos de sus atributos más relevantes:
○ jugadores: jugadores de la partida. ArrayList de la
clase Jugador.
○ fichasJuego: fichas de la partida. ArrayList de la
clase Ficha.
○ jugadorTurno: guarda el jugador que debe
interactuar con la partida.
○ tablero: tablero de juego.
14. 4. Clases. 4.6. Clase Driver
● Contiene el método main.
● Se encarga de:
○ Inicializar el juego.
○ Seleccionar el número de jugadores.
○ Lanzar el juego.
15. 5. Paquete UI
● Gestiona la interacción con el usuario
mediante un modelo MVC que independiza
la ejecución interna de la presentación al
usuario.
● Establece el modo de presentación de la
información (consola, GUI) y establece la
internacionalización de la aplicación
(ES/EN).
● La gestión de idiomas se realiza mediante
archivos de propiedades externos.
16. 6.Librerías utilizadas
Se han utilizado las librerías de Java API para
las clases
1. TreeMap, para ordenar la estructura
HashMap
2. TreeSet, para ordenar las estructuras Set
3. Iterator, para recorrer las estructuras de
datos
4. ResourceBoundle, como consecuencia del
paquete UI
5. LineNumberReader, como consecuencia del
paquete UI
6. Locale, como consecuencia del paquete UI
17. 7. Pruebas. 7.1 Pruebas unitarias
Se han utilizado para comprobar el
funcionamiento de los principales métodos de
la clase tablero. Está documentado en la
prueba clase Tablero
18. 7. Pruebas. 7.2. Pruebas de integración
Se han utilizado para probar el funcionamiento
en conjunto simulando una partida de forma
automática que debe finalizar siempre con el
mismo resultado y sin errores. Se realizan en
tre fases:
Fase 1. Pruebas de introducción de datos
Fase 2. Pruebas de caja negra sin verificar
resultado
Fase 3. Pruebas de caja negra con caja
transparente
19. 8. Componentes
Alberto Delso -
David Martín -
Diego Fernández -
Francisco García -
Gonzalo García -
Reyes Badillo -
Rubén Rodríguez -
20. 9. Opiniones del equipo
Se ha realizado un vídeo con las opiniones de
los componentes sobre los puntos fuertes y
oportunidades de mejora de esta primera parte
del curso dirigido a profesor