Ingeniería del software

1. Requisitos Funcionales y No Funcionales:


REQUISITOS FUNCIONALES

R1: El jugador podrá iniciar una partida desde el principio o continuarla.

R2: El jugador podrá acceder a cualquier nivel completado con anterioridad.

R3: Dentro de los niveles del juego, el jugador podrá desplazarse horizontalmente.

R4: Dentro de los niveles del juego, el jugador podrá saltar verticalmente.

R5: Dentro de los niveles del juego, el jugador podrá defenderse.

R6: Dentro de los niveles del juego, el jugador podrá realizar ataques. Dependiendo de la velocidad se hará un combo de dos golpes o un ataque individual.

R7: Dentro de los niveles del juego, el jugador podrá obtener distintos poderes que encontrará en las plataformas. Si el jugador ya posee un poder (no activado), este se cambiará por el más reciente.

R8: Dentro de los niveles del juego, el jugador podrá activar el poder obtenido en cualquier momento.

R9: Dentro de los niveles del juego, el jugador podrá coger llaves. Estas llaves desbloquean la salida hacia el siguiente nivel.

R10: Dentro de los niveles del juego, el jugador podrá acceder al menú de pausa. (Dicho menú tiene la posibilidad de reiniciar el nivel, cambiar las opciones gráficas o volver a la pantalla de inicio)

R11: Dentro del menú de pausa el jugador podrá cambiar las opciones gráficas y de sonido.

R12: Dentro del menú de pausa el jugador podrá reiniciar el nivel actual.

R13: Dentro del menú de pausa el jugador podrá volver a la pantalla de inicio.

R14: Dentro del menú de pausa o en el menú principal el jugador podrá salir del juego.

R15: Dentro de los niveles del juego, el jugador podrá cruzar la puerta hacia el siguiente nivel, siempre y cuando haya cogido las llaves necesarias para que la puerta se abra. Antes del siguiente nivel, el jugador verá una pantalla con las estadísticas de su recorrido en el nivel.


REQUISITOS NO FUNCIONALES

R16: El juego debe ser dinámico y rápido, los niveles se pueden recorrer y completar en menos de 5 minutos.

R17: El jugador se moverá en tiempo real, es decir, el tiempo de respuesta para las acciones realizadas debe de ser menor a 1/30 segundos.

R18: Se contará con un manual de instrucciones básicas para describir las acciones posibles dentro del juego.

R19: Las plataformas que se recorrerán a lo largo del juego son parte del trasfondo o historia de éste.

R20: Los requisitos de software (Por ser un juego creado en Unity) son: Usar el sistema operativo Windows 7 o superior.

R21: Los requisitos mínimos de hardware son tener una tarjeta gráfica con capacidad para DirectX 10 y un COY compatible con el conjunto de instrucciones SSE2. (Más información aquí)




2. Diagrama de Casos de Uso:




3. Descripción de los Casos de Uso:

Identificador: CU01.
Nombre del caso de uso: iniciar partida.
Requerimientos: R1.
Actores: jugador.
Descripción: el jugador comienza la historia desde el principio.
Precondiciones: el jugador debe estar en el menú principal.
Secuencia normal:
1 El jugador elige la opción “iniciar partida”.
2 Se carga el primer nivel del juego.
3 Se devuelve el control al jugador.
Secuencia alternativa: (no hay).

Identificador: CU02.
Nombre del caso de uso: continuar partida.
Requerimientos: R1.
Actores: jugador.
Descripción: el jugador sigue jugando desde el principio del nivel en el que paró de jugar la última vez.
Precondiciones: el jugador debe estar en el menú principal y debe haber iniciado una partida anteriormente con datos guardados de la misma en el sistema.
Secuencia normal:
1 El jugador elige la opción “continuar partida”.
2 Se carga el nivel especificado en el archivo de datos guardados del jugador.
3 El jugador sigue jugando desde este punto.
Secuencia alternativa:
1.1 La opción no está disponible dado que no hay una partida que cargar.
2.1 El archivo de datos está corrupto: se mostrará un mensaje de error al cargarlos y se volverá al menú principal.

Identificador: CU03.
Nombre del caso de uso: seleccionar capítulo.
Requerimientos: R2.
Actores: jugador.
Descripción: el jugador juega uno de los niveles que haya desbloqueado.
Precondiciones: el jugador debe estar en el menú principal y debe haber iniciado una partida anteriormente con datos guardados de la misma en el sistema.
Secuencia normal:
1 El jugador elige la opción “seleccionar capítulo”.
2 El jugador selecciona uno de los niveles del juego.
3 Se carga el nivel seleccionado por el jugador.
4 El jugador juega el nivel especificado.
Secuencia alternativa:
2.1 El jugador todavía no ha llegado hasta el nivel seleccionado en su partida y por lo tanto todavía no lo ha desbloqueado: se muestra un mensaje que indica esto y se le permite al jugador seleccionar otro nivel.

Identificador: CU04.
Nombre del caso de uso: moverse
Requerimientos: R3.
Actores: jugador.
Descripción: el jugador se mueve a través del nivel usando los botones o teclas asignados a tal acción.
Precondiciones: el jugador debe haber accedido a un nivel haciendo uso de cualquiera de los casos de uso anteriores, reiniciando uno o pasando al siguiente.
Secuencia normal:
1 El jugador usa el botón o tecla asociado a la acción de moverse.
2 El personaje avanza en la dirección indicada.
Secuencia alternativa:
2.1 Hay un muro en la dirección en la que se pretende avanzar: el personaje no se puede mover en esta dirección.
2.2 Hay un enemigo en la dirección en la que se pretende avanzar: el personaje no puede atravesar enemigos y por lo tanto no avanza en esta dirección.
2.3 El avatar ha muerto: no es posible realizar ninguna acción hasta que la partida se reinicie desde el último punto de control.
2.4 Estamos en medio de una cinemática u otra escena en la que el control del jugador es limitado: no es posible realizar la acción hasta que acabe este momento.
2.5 El jugador está atacando: no podemos movernos hasta que el avatar acabe su animación de ataque.
2.6 El jugador está paralizado por algún enemigo específico. No puede realizar ninguna acción
2.7 El jugador supera el nivel (CU13)

Identificador: CU05.
Nombre del caso de uso: saltar.
Requerimientos: R4.
Actores: jugador.
Descripción: el jugador realiza un impulso en vertical que le permite cruzar obstáculos o llegar a una posición elevada usando el botón o tecla asignado a esta acción.
Precondiciones: el jugador debe haber accedido a un nivel haciendo uso de cualquiera de los 3 primeros casos de uso, reiniciando uno o pasando al siguiente.
Secuencia normal:
1 El jugador pulsa el botón/tecla de salto.
2 El avatar obtiene un impulso vertical hacia arriba.
Secuencia alternativa:
2.1 El avatar ha muerto: no es posible realizar ninguna acción hasta que la partida se reinicie desde el último punto de control.
2.2 Estamos en medio de una cinemática u otra escena en la que el control del jugador es limitado: no es posible realizar la acción hasta que acabe este momento.
2.3 El jugador está atacando: no podemos movernos hasta que el avatar acabe su animación de ataque.
2.4 El jugador está paralizado por algún enemigo específico. No puede realizar ninguna acción

Identificador: CU06.
Nombre del caso de uso: atacar.
Requerimientos: R6.
Actores: jugador.
Descripción: el jugador usa el botón/tecla asignada a esta acción para que el avatar use su espada, cualquier enemigo dentro del radio del ataque recibirá daños.
Precondiciones: el jugador debe haber accedido a un nivel haciendo uso de cualquiera de los 3 primeros casos de uso, reiniciando uno o pasando al siguiente.
Secuencia normal:
1 El jugador pulsa el botón/tecla de ataque.
2 El avatar realiza la acción de atacar.
3 Cualquier enemigo en el radio del ataque recibirá daños y su salud se reducirá.
Secuencia alternativa:
2.1 El avatar ha muerto: no es posible realizar ninguna acción hasta que la partida se reinicie desde el último punto de control.
2.2 Estamos en medio de una cinemática u otra escena en la que el control del jugador es limitado: no es posible realizar la acción hasta que acabe este momento.
3.1 El enemigo es derrotado, al no quedarle puntos de vida (CU17)

Identificador: CU07.
Nombre del caso de uso: defenderse.
Requerimientos: R5.
Actores: jugador.
Descripción: el jugador usa el botón/tecla asignada a esta acción para que el avatar use su escudo, podrá bloquear ciertos ataques enemigos que vengan de frente, aunque no los más poderosos.
Precondiciones: el jugador debe haber accedido a un nivel haciendo uso de cualquiera de los 3 primeros casos de uso, reiniciando uno o pasando al siguiente.
Secuencia normal:
1 El jugador pulsa el botón/tecla de bloqueo.
2 El avatar realiza la acción de bloquear.
3 El avatar bloquea los ataques y por tanto no recibe daños.
Secuencia alternativa:
2.1 El avatar ha muerto: no es posible realizar ninguna acción hasta que la partida se reinicie desde el último punto de control.
2.2 Estamos en medio de una cinemática u otra escena en la que el control del jugador es limitado: no es posible realizar la acción hasta que acabe este momento.
2.3 El avatar está atacando: se espera a que el avatar termine la acción actual para bloquear.
2.4 El avatar está en el aire: se espera a que el avatar aterrice para bloquear.
3.1 El ataque es demasiado poderoso como para bloquearlo: el avatar recibe daños igualmente, pero en menor cantidad.
3.2 El ataque llega desde el sentido contrario al que se está bloqueando: el avatar recibe daños igualmente.

Identificador: CU08.
Nombre del caso de uso: ajustar opciones.
Requerimientos: R11.
Actores: jugador.
Descripción: el jugador puede modificar ciertos aspectos del juego: subir el volumen de la música, voces o efectos, ajustar la resolución o la imagen, cambiar los controles...
Precondiciones: el jugador debe estar en el menú principal o el menú de pausa.
Secuencia normal:
1 El jugador selecciona la opción de “ajustar opciones” en el menú principal o el de pausa.
2 El jugador cambia las opciones que desee de las disponibles.
Secuencia alternativa: (no hay).

Identificador: CU09.
Nombre del caso de uso: pausar juego.
Requerimientos: R10.
Actores: jugador.
Descripción: el jugador usa el botón/tecla asignada al menú de pausa para abrirlo, desde aquí puede ajustar diversas opciones, reiniciar el nivel actual, volver al menú principal o salir del juego.
Precondiciones: el jugador debe haber accedido a un nivel haciendo uso de cualquiera de los 3 primeros casos de uso, reiniciando uno o pasando al siguiente.
Secuencia normal:
1 El jugador pulsa el botón/tecla asociado al menú de pausa.
2 El jugador elige la opción que desee de entre las disponibles.
Secuencia alternativa:
2.1 El jugador sólo ha pausado porque necesitaba parar un momento y realmente no quería hacer uso de ninguna de las opciones disponibles: puede seguir jugando pulsando de nuevo el mismo botón/tecla.

Identificador: CU10.
Nombre del caso de uso: salir del juego.
Requerimientos: R14.
Actores: jugador.
Descripción: el jugador usa esta opción cuando desea abandonar el juego, ya sea desde el menú principal o el de pausa.
Precondiciones: el jugador debe estar en el menú principal o en el de pausa.
Secuencia normal:
1 El jugador elige la opción de “salir del juego”.
2 El juego se cierra.
Secuencia alternativa:
2.1 El juego está autoguardando: no se permite salir del mismo hasta que los datos acaben de modificarse.

Identificador: CU11.
Nombre del caso de uso: reiniciar nivel.
Requerimientos: R12.
Actores: jugador.
Descripción: se vuelve a empezar el nivel actual desde el principio.
Precondiciones: el jugador debe haber accedido al menú de pausa para elegir la opción correspondiente.
Secuencia normal:
1 El jugador elige la opción “reiniciar nivel actual” desde el menú de pausa.
2 Se vuelve a cargar el nivel actual desde el principio.
Secuencia alternativa: (no hay).

Identificador: CU12.
Nombre del caso de uso: cargar nivel.
Requerimientos: R1, R2, R12 y R15.
Actores: jugador.
Descripción: se carga un nivel (ya porque este haya sido seleccionado por el jugador, porque le corresponde continuar desde el mismo, porque ha iniciado una nueva partida, porque desee reiniciar el nivel actual o porque acaba de finalizar uno) desde el fichero de datos.
Precondiciones: ha tenido lugar cualquiera de los 3 primeros casos de uso o el jugador ha decidido reiniciar el nivel en el que se encontraba actualmente o ha llegado al final del mismo.
Secuencia normal:
1 Se carga el nivel correspondiente en el juego.
2 Se muestra el nivel al jugador.
Secuencia alternativa:
1.1 Se produce un error de carga, se muestra mensaje de error y vuelve al menú principal

Identificador: CU13.
Nombre del caso de uso: superar nivel.
Requerimientos: R15.
Actores: jugador.
Descripción: el jugador llega hasta la puerta final del nivel actual, que le trasladará al siguiente.
Precondiciones: el jugador debe haber accedido a un nivel haciendo uso de cualquiera de los 3 primeros casos de uso, reiniciando uno o pasando al siguiente.
Secuencia normal:
1 Se incrementa el número del nivel actual.
2 Se carga el siguiente nivel (CU12)
Secuencia alternativa:
2.1 si el nivel actual es el último, se vuelve al menú principal

Identificador: CU14.
Nombre del caso de uso: conseguir un power-up.
Requerimientos: R7.
Actores: jugador.
Descripción: el jugador encuentra en el escenario un objeto que le otorga habilidades especiales (un orbe con efectos en forma de llama).
Precondiciones: el jugador debe haber accedido a un nivel haciendo uso de cualquiera de los 3 primeros casos de uso, reiniciando uno o pasando al siguiente.
Secuencia normal:
1 El jugador se mueve.
2 El jugador encuentra alguno de los power-ups y pulsa la tecla para almacenarlo.
3 El power up se guarda.
Secuencia alternativa:
1.1 El avatar ha muerto: no es posible realizar ninguna acción hasta que la partida se reinicie desde el último punto de control.
1.2 Estamos en medio de una cinemática o otra escena en la que el control del jugador es limitado: no es posible avanzar hasta que este momento termine.
2.1 El jugador no recoge el power-up: no es afectado por el mismo.

Identificador: CU15.
Nombre del caso de uso: activar un power-up.
Requerimientos: R7.
Actores: jugador.
Descripción: el jugador activa el power up almacenado y su efecto aparece.
Precondiciones: el jugador debe haber accedido a un nivel haciendo uso de cualquiera de los 3 primeros casos de uso, reiniciando uno o pasando al siguiente.
Secuencia normal:
1 El jugador pulsa la tecla para activar el power up.
2 El power up entra en efecto (Visualmente partículas de un color determinado).
3 Después de un periodo de tiempo o muerte, el efecto desaparece.
Secuencia alternativa:
1.1 El avatar ha muerto: no es posible realizar ninguna acción hasta que la partida se reinicie desde el último punto de control.
1.2 Estamos en medio de una cinemática o otra escena en la que el control del jugador es limitado: no es posible avanzar hasta que este momento termine.
2.1 El jugador no tiene ningún power up almacenado: no hay efecto que aplicar.

Identificador: CU16.
Nombre del caso de uso: obtener llave.
Requerimientos: R9.
Actores: jugador.
Descripción: el jugador cumple los objetivos del nivel que le otorgan acceso a la llave, que le permite cruzar la puerta al final del mismo. Estos objetivos variarán según el nivel, pero normalmente requerirán explorar una zona concreta, derrotar a un enemigo poderoso o completar otro desafío.
Precondiciones: el jugador debe haber accedido a un nivel haciendo uso de cualquiera de los 3 primeros casos de uso, reiniciando uno o pasando al siguiente.
Secuencia normal:
1 El jugador avanza por el nivel.
2 El jugador se enfrenta al reto cuya recompensa al completarlo será la llave.
3 Una vez obtenida la llave, el jugador puede avanzar hasta la puerta del final del nivel y pasar al siguiente.
Secuencia alternativa:
1.1 El avatar ha muerto: no es posible realizar ninguna acción hasta que la partida se reinicie desde el último punto de control.
1.2 Estamos en medio de una cinemática o otra escena en la que el control del jugador es limitado: no es posible avanzar hasta que este momento termine.
2.1 El jugador no encuentra la llave: no podrá pasar de nivel hasta que se enfrente al reto que se la otorga.
3.1 El jugador ha completado el reto pero se olvida de recoger la llave: no podrá cruzar la puerta.

Identificador: CU17.
Nombre del caso de uso: derrotar enemigo.
Requerimientos: R6.
Actores: jugador.
Descripción: el jugador se encuentra a un enemigo en el nivel y lo enfrenta para acabar derrotándolo tras esquivar (o soportar) sus ataques y causarle los daños suficientes.
Precondiciones: el jugador debe haber accedido a un nivel haciendo uso de cualquiera de los 3 primeros casos de uso, reiniciando uno o pasando al siguiente.
Secuencia normal:
1 El enemigo realiza una animación de muerte y desaparece.
2 Se obtienen los puntos correspondientes.
Secuencia alternativa:
(no hay)




4. Diagrama de Clases:


El juego puede iniciarse, pausarse, reanudarse y se puede salir de él. Está formado por niveles con determinadas dimensiones, texto (con algunas palabras en rojo), power-ups  de magia con cierta duración y que afectan a una determinada habilidad y llaves, que se encuentran esparcidas por el nivel.

Entre los personajes encontramos al jugador: que puede moverse, atacar, saltar, defenderse, coger y usar magia.

A enemigos de diferentes tipos: un gigante, un brujo y un arquero.

Todos estos personajes tienen puntos de vida, una velocidad y pueden tener algún tipo de magia, además de poder atacar a sus oponentes, poseerán una inteligencia artificial qué seguirá a nuestro personaje.


No hay comentarios:

Publicar un comentario