03. Sokoban. Un Ejemplo de Plan Till As

download 03. Sokoban. Un Ejemplo de Plan Till As

of 12

Transcript of 03. Sokoban. Un Ejemplo de Plan Till As

Un ejemplo de casos de uso. Sokoban

ndice Descripcin del problema Identificacin de requisitos. Casos de uso. Conclusiones.

1

Descripcin del problema

Descripcin del problema Sokoban es un juego de varios niveles. Cada nivel est compuesto por un jugador, El objetivo del jugador es empujar todas las Cuando esto sucede el jugador pasa al Para mover una caja, el jugador debe

cajas, repisas y muros.

cajas sobre las repisas.

siguiente nivel.

colocarse al lado y empujarla. Si la casilla hacia la que est empujando la caja est libre la caja se mover. Si el jugador se queda bloqueado, es decir, no puede terminar el nivel, puede reiniciar el nivel perdiendo una vida. Cuando el jugador pierde todas sus vidas la partida termina.

2

Identificacin de requisitos

Una mini entrevistaPara encontrar las respuestas, antes hay que dar con la pregunta adecuada. Qu debe hacer el sistema (o tiene que tener) para implementar la descripcin?.

3

Requisitos El sistema debe permitir comenzar una nueva partida y terminarla. El sistema debe permitir mover al jugador y a las cajas y reiniciar el nivel cuando el usuario lo solicite. El sistema deber almacenar varios niveles y cambiar de nivel cuando el usuario complete el nivel actual

Casos de uso

4

Casos de usoLos casos de uso son una respuesta, para qu preguntas?.Cmo puede un usuario jugar una partida de sokoban?

Casos de usoLa primera pregunta que vamos a resolver: cuntos actores tiene el sistema? Qu nos estn preguntando, en realidad?.

5

Casos de usoUn nico actor:Persona humana que controla al jugador.Usuario

Su meta es jugar una partida de Sokoban

Casos de usoLa segunda pregunta que vamos a resolver: qu casos de uso necesitamos? Qu nos estn preguntando, en realidad?.

6

Casos de usoIniciar partida

Mover jugador Usuario

Reiniciar nivel

Este diagrama de casos de uso es correcto pero muy pobre.

Casos de uso La tercera pregunta: Cmo inicia la partida un usuario?. Cmo juega un usuario?. Cmo reinicia el nivel un usuario?.

7

Casos de usoNombre Descripcin Precondicin Secuencia principal

01- Iniciar partida El usuario desea iniciar una nueva partida de Sokoban. Ninguna 01 02 03 El usuario solicita comenzar una nueva partida. El sistema carga el nivel inicial. El sistema muestra la pantalla de juego y espera a que el usuario realice un movimiento (Caso de uso 02).

Errores / Alternativas Postcondicin Notas

No Partida iniciada No

Casos de usoNombre Descripcin Precondicin Secuencia principal 02- Mover jugador El usuario desea mover al jugador. Partida iniciada (caso de uso 01).01 02 03 04 El usuario solicita realizar un movimiento. El sistema comprueba que el movimiento es vlido y lo realiza. El sistema muestra la pantalla de juego con la posicin actual del jugador y las cajas. El sistema comprueba si el usuario ha completado el nivel, muestra la pantalla de juego y espera un nuevo movimiento.Si el movimiento no es vlido, el sistema no hace nada y espera un nuevo movimiento. Si el usuario ha completado el nivel, el sistema carga el siguiente nivel, muestra la pantalla de juego, y espera un nuevo movimiento.

Errores / Alternativas

02 04

Postcondicin Notas

No. Un movimiento es vlido si el jugador se desplaza hacia una posicin libre (se mueve solo el jugador) o si se desplaza hacia una posicin con una caja y la posicin est libre (se mueve el jugador y la caja).

8

Casos de usoNombre Descripcin Precondicin Secuencia principal 03- Reiniciar nivel El usuario desea reiniciar el nivel. Partida iniciada (caso de uso 01) y el usuario tiene, al menos, una vida. 01 El usuario solicita reiniciar el nivel. 02 El sistema carga el siguiente nivel actual, 03 El sistema muestra la pantalla de juego, y espera un nuevo movimiento. 04 El sistema comprueba si el usuario ha completado el nivel y espera un nuevo movimiento. No El nmero de vidas del usuario se decrementa en uno. Si el usuario no tiene vidas, la partida termina. No.

Errores / Alternativas Postcondicin Notas

Casos de uso Algunas preguntas sin respuesta: Qu informacin tiene que almacenar el sistema?. Requisitos no funcionales importantes.

9

Conclusiones

Conclusiones Cambiar de nivel es un caso de uso?. Cargar un nivel es un caso de uso?. Terminar la partida es un caso de uso?. Faltan casos de uso o estn incompletos?.

10

Conclusiones Cambiar de nivel es un caso de uso?. No, porque slo participa el sistema, no participa ningn actor externo. La nica manera que un actor externo tiene de cambiar de nivel es mediante los movimientos (caso de uso 2).

Conclusiones Cargar un nivel es un caso de uso?. No, porque slo interviene el sistema. Adems, cuando detallamos como cargar un nivel estamos detallando el sistema (queda fuera de la fase de requisitos).

11

Conclusiones Terminar la partida es un caso de

uso?.

Tal y como est redactado el enunciado la respuesta es no.

Conclusiones Faltan casos de uso o estn incompletos?.1. 2. El sistema debe permitir comenzar una nueva partida y terminarla. El sistema debe permitir mover al jugador y a las cajas y reiniciar el nivel cuando el usuario lo solicite. El sistema deber almacenar varios niveles y cambiar de nivel cuando el usuario complete el nivel actual

CU-01 1 2 3 X

CU-02 X X

CU-03 X X

3.

12