Вы находитесь на странице: 1из 14

Especificacin de requisitos de software

Proyecto: IMvaders
Revisin 30.12

Abril 2012

Ficha del documento


Fecha Revisin Autor Verificado dep. calidad.

01/04/12

30.12

Beln Iniesta Cristian Vzquez Jos Miguel Montalbn Oscar Ramrez

Documento validado por las partes en fecha: 03/04/12 Por el cliente Por la empresa suministradora

Fdo. D./ Da. Jos Prez

Fdo. D./Da. Beln Iniesta

Proyecto IMvaders Especificacin de requisitos de software

Rev. 30.12 Pg. 2

Contenido
FICHA DEL DOCUMENTO CONTENIDO 1 1.1 1.2 1.3 1.4 1.5 1.6 2 2.1 2.2 2.3 2.4 2.5 2.6 3 INTRODUCCIN Propsito Alcance Personal involucrado Definiciones, acrnimos y abreviaturas Referencias Resumen DESCRIPCIN GENERAL Perspectiva del producto Funcionalidad del producto Caractersticas de los usuarios Restricciones Suposiciones y dependencias Evolucin previsible del sistema REQUISITOS ESPECFICOS 1 2 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 9 9 9 10 10 11 12

3.1 Requisitos comunes de los interfaces 3.1.1 Interfaces de usuario 3.1.2 Interfaces de hardware 3.1.3 Interfaces de software 3.1.4 Interfaces de comunicacin 3.2 Requisitos funcionales 3.2.1 Requisito funcional 1 3.2.2 Requisito funcional 2 3.2.3 Requisito funcional 3 3.2.4 Requisito funcional 4 3.2.5 Requisito funcional 5 3.2.6 Requisito funcional 6 3.2.7 Requisito funcional 7 3.2.8 Requisito funcional 8 3.2.9 Requisito funcional 9 3.2.10 Requisito funcional 10 3.2.11 Requisito funcional 11 3.2.12 Requisito funcional 12

Proyecto IMvaders Especificacin de requisitos de software 3.2.13 Requisito funcional 13

Rev. 30.12 Pg. 3 12 12 12 12 12 13 13 13 13 13

3.3 Requisitos no funcionales 3.3.1 Requisitos de rendimiento 3.3.2 Seguridad 3.3.3 Fiabilidad 3.3.4 Disponibilidad 3.3.5 Mantenibilidad 3.3.6 Portabilidad 3.4 4 Otros requisitos APNDICES

Proyecto IMvaders Especificacin de requisitos de software

Rev. 30.12 Pg. 4

1 Introduccin
1.1 Propsito

Se ha redactado este documento con el fin de determinar los aspectos generales y especificaciones que seguir la aplicacin de desarrollo, con el objetivo de satisfacer los requerimientos que demande el cliente. El presente va dirigido a desarrolladores destinados a la codificacin de la aplicacin, con el fin de lograr una estructura slida en cuanto a la entrega de un dispositivo que siga los aspectos sealados en este documento.

1.2

Alcance

El proyecto IMvaders propone la realizacin de un videojuego de corte simple, un arcade, comnmente conocido como space ship shooter game. El videojuego, se va a ofrecer en forma de minijuego en una web implementada en HTML5, CSS y JavaScript. Para la difusin de la misma, se tendrn en cuenta las redes sociales y el posicionamiento en Google.

1.3

Personal involucrado
Beln Iniesta Jefe de proyecto Ingeniera Multimedia Encargada de proyecto, tester, gestin. 666232323 Aceptado

Nombre Rol Categora profesional Responsabilidades Informacin de contacto Aprobacin

Nombre Rol Categora profesional Responsabilidades Informacin de contacto Aprobacin

Oscar Ramrez Programador Ingeniera de sistemas informticos Generar de cdigo y pruebas unitarias 666343434 Aceptado

Nombre Rol Categora profesional Responsabilidades Informacin de contacto Aprobacin

Cristian Vzquez Diseador grfico Diseo grfico Creacin de elementos multimedia 666454545 Aceptado

Nombre Rol Categora profesional Responsabilidades Informacin de contacto Aprobacin

Jos Miguel Montalbn Programador WEB Diseo web y posicionamiento SEO Crear el conjunto DOM del sitio web 666565656 Aceptado

Proyecto IMvaders Especificacin de requisitos de software

Rev. 30.12 Pg. 5

1.4

Definiciones, acrnimos y abreviaturas

Sprite: Imagen que representa a un objeto del videojuego. HTML5: Lenguaje programacin que admite la insercin directa de audio y video sin necesidad de flash. CSS3: es un lenguaje usado para definir la presentacin de un documento estructurado escrito en HTML. El W3C (World Wide Web Consortium) es el encargado de formular la especificacin de las hojas de estilo que servirn de estndar para los agentes de usuario o navegadores. JavaScript: Utilizado para crear pequeos programas que luego son insertados en una pgina web y en programas ms grandes, orientados a objetos mucho ms complejos. PHP: Es un lenguaje de programacin interpretado (Lenguaje de alto rendimiento), diseado originalmente para la creacin de pginas web dinmicas.

1.5
Referencia Wiki SM

Referencias
Titulo Ruta Fecha Autor Roberto Gmez Dav Pedro Lpez Gimnez Cristian Vzquez Roberto Gmez Dav Pedro Lpez Gimnez Cristian Vzquez Proyecto IMvaders http://goo.gl/NFJTe Nov2012 Memoria IMvaders http://goo.gl/psHq2 DIC2012

Wiki SM

1.6

Resumen

En la siguiente documentacin se explicar todo detalle acerca del producto y sobre el desarrollo de ste necesario para su produccin. Detallando a qu tipo de usuarios est pensando ser destinado, incluyendo las caractersticas propias de l. El siguiente documento ampla toda informacin desde la descripcin de ste hasta funcionalidades, requisitos lgicos (hardware, software). El documento est organizado con la idea de especificar primero una descripcin general del producto donde se engloba todo lo relacionado con l. El siguiente punto sera los requisitos, en este apartado se explica detalladamente e intentado ser lo ms preciosos posibles para un perfecto entendimiento. Por ltimo, otros requisitos necesarios e informacin extra.

2 Descripcin general
2.1 Perspectiva del producto
El producto resultante de IMVADERS va a ser un independiente, es decir, el conjunto de las funcionalidades va a ser completamente portable a diferentes servidores ya que no pertenece a ningn sistema mayor.

2.2

Funcionalidad del producto

Las funcionalidades resumidas del producto se dividen en dos grandes grupo. Por un lado vamos a encontrar el videojuego en s, de una sola pantalla donde se va incrementando su dificultad a medida que la cantidad de puntuacin.

Proyecto IMvaders Especificacin de requisitos de software

Rev. 30.12 Pg. 6

Por otro lado, dicho juego exportado en JavaScript se insertar en una WEB. La Web se implementar en HTML5 CSS3 y JavaScript, e implementar varias secciones, formularios y sistema de registro. Todo ello integrado con las redes sociales.

2.3

Caractersticas de los usuarios


Cualquier persona de cualquier sexo o edad. Cualquiera, el videojuego no requiere conocimientos de ningn tipo. Aptitudes bsicas en la navegacin por Internet y los suficientes reflejos para manejar la nave. El proyecto va dirigido a personas que suelen utilizar videojuegos en red o que utilizan su tiempo libre para el ocio.

Tipo de usuario Formacin Habilidades Actividades

2.4

Restricciones

El videojuego ser implementado en JavaScript con el fin de poder ejecutarlo en los principales navegadores, y la base de datos con las puntuaciones de los usuarios se implementar mediante PHP.

2.5
-

Suposiciones y dependencias

El videojuego ha de funcionar en los principales navegadores, tanto en sus versiones actuales como en sus versiones futuras. En caso de que se produjera una saturacin de los servidores donde se aloja el videojuego que provocara una disminucin del rendimiento de ste (como por ejemplo, mostrarse a menos de 30 frames por segundo) y disminuyendo por tanto la experiencia del usuario, habra que considerar el hecho de aumentar la capacidad de dichos servidores o no permitir la entrada a ms usuarios una vez llegado al lmite de jugadores online.

2.6
-

Evolucin previsible del sistema

A medida que aparezcan nuevas redes sociales con el tiempo, ha de ser posible incorporarlas al videojuego para que aparezcan al final de cada partida, permitiendo al jugador compartir su puntuacin a travs de stas. A su vez, ha de permitirse eliminar aquellas que no deseemos que se muestren. Ha de permitir el cambio de interfaz por otro ms amigable, as como los sprites de la nave, enemigos, etc.

3 Requisitos especficos
3.1 Requisitos comunes de los interfaces
3.1.1 Interfaces de usuario
Los requisitos sobre la interfaz del producto segn los usuarios deberan tener unos colores oscuros, simulando el espacio, mezclado con tierras terrestres, simulando a los planetas, adems de unos colores llamativos para las naves espaciales. La pantalla es en vertical simulando el espacio, fondo negro y puntos blancos (estrellas), esta pantalla siempre permanece en movimiento, es dinmica. A continuacin se van a detallar todos los requisitos comunes de los interfaces:

Proyecto IMvaders Especificacin de requisitos de software

Rev. 30.12 Pg. 7

El estilo de la pantalla del juego tiene que ser sencillo, no demasiados objetos: asteroides, planetas, naves espaciales y pequeas estrellas en el background.

3.1.2 Interfaces de hardware


Para que el sistema funcione, y con ello que los usuario puedan disfrutar finalmente del producto se necesitan una serie de dispositivos hardware. Estos son: Un ordenador, o cualquier dispositivo electrnico capaz de conectarse a internet y con suficientes recursos para apoyarlo. Adems necesitamos un router, un dispositivo que nos permita conectarnos a internet, ya que el juego es online.

3.1.3 Interfaces de software


Los dispositivos software necesarios para el funcionamiento del producto es un sistema operativo cualquiera, y que ste tenga acceso a internet, ya que el juego es online. No se necesita ningn SO especfico, ni ningn navegador especfico, aunque los ms recomendable es el Chrome y otros navegadores compatibles. Adems, no es necesario ningn programa instalado.

3.1.4 Interfaces de comunicacin


Para que la comunicacin sea posible, se necesita una conexin a internet, ya que sin sta, el usuario no podra utilizar el producto. Para ello, se necesita unos recursos esenciales, haciendo que la red sea lo suficientemente buena para soportar la carga que conlleva el uso del videojuego.

3.2

Requisitos funcionales

Los requisitos funcionales que se van a detallar se dividen en dos grandes partes: Una de ellas referida al videojuego en s, donde se recogern detalles de implementacin en el software GameMaker HTML 5. Por otro lado, se detallarn los puntos clave para a creacin del conjunto de la web.

3.2.1 Requisito funcional 1


Nmero de requisito Nombre de requisito Tipo Fuente del requisito Prioridad del requisito 1 Juego Formato y Tecnologas Requisito Restriccin Alta/Esencial Media/Deseado Baja/ Opcional

El videojuego ser implementado utilizando GameMaker HTML5, el cual generar automticamente el JavaScript listo para insertar en el sitio web. El tamao y resolucin del mismo ser 600x800 pixeles.

3.2.2 Requisito funcional 2


Nmero de requisito Nombre de requisito Tipo Fuente del requisito Prioridad del requisito 2 Juego Validez de entradas Requisito Restriccin Alta/Esencial Media/Deseado Baja/ Opcional

Al cargar el videojuego, se debe comprobar si el dispositivo desde el que se accede es el adecuado para que funcione correctamente. Los requisitos mnimos para la correcta entrada de datos son: PC / MAC con un navegador y acceso a Internet. Disponer de un ratn correctamente funcional y al menos botn izquierdo.

Proyecto IMvaders Especificacin de requisitos de software

Rev. 30.12 Pg. 8

Disponer de un teclado tipo alfanumrico comn desde el cual se podrn controlar funcionalidades que a continuacin se detallan. En caso de no disponer de alguno de estos, por ejemplo, dado el caso de intentar acceder desde un dispositivo con pantalla tctil, lanzar un mensaje de error impidiendo el uso de la aplicacin.

3.2.3 Requisito funcional 3


Nmero de requisito 3 Nombre de requisito Juego Carga del videojuego y men principal Tipo Requisito Restriccin Fuente del requisito Prioridad del requisito Alta/Esencial Media/Deseado Baja/ Opcional Se tiene que implementar un barra que indique el estado en porcentaje (%) de caga del juego, pudindose aadir el logo en escala de grises e ir coloreando a medida que carga el juego. Tras la carga, aparecer un men principal con algunas opciones: Botn de comenzar juego: ser muy llamativo, incorporando efectos mouseover y sonido al clicar en l. La informacin que se debe mostrar en esta pantalla sern las instrucciones del juego y los controles, control de sonido (espacio activa y desactiva) y pausa (botn p) para pausa en la partida.

3.2.4 Requisito funcional 4


Nmero de requisito Nombre de requisito Tipo Fuente del requisito Prioridad del requisito 4 Juego Tutorial inicial Requisito Restriccin Alta/Esencial Media/Deseado Baja/ Opcional

Se debe detectar que dicho usuario es la primera vez que accede al juego, de ser as se le ayudar a conoces el funcionamiento bsico de controles, saludo, mejoras, enemigos o cualquier otro elemento del juego. Tambin se le debe permitir salir o rechazar dicho tutorial.

3.2.5 Requisito funcional 5


Nmero de requisito Nombre de requisito Tipo Fuente del requisito Prioridad del requisito 5 Juego Funcionamiento nave de usuario Requisito Restriccin Alta/Esencial Media/Deseado Baja/ Opcional

Se desarrollarn dos sprites de la nave del jugador que se irn intercambiando de modo que simule la potencia de los reactores de propulsin. Por otro lado, el control del objeto jugador ser implementado mediante el ratn, podr moverse tanto en el eje X como en el eje Y, sin limitacin en el espacio. El disparo se realizar con el botn izquierdo del ratn, e ir dirigido solo a lo largo del eje Y, por tanto X ser constante y vendr dado por la posicin en X de la nave. Esto generar un objeto de tipo bala, que tendr opciones de colisin.

Bocetos previos:

Proyecto IMvaders Especificacin de requisitos de software

Rev. 30.12 Pg. 9

3.2.6 Requisito funcional 6


Nmero de requisito Nombre de requisito Tipo Fuente del requisito Prioridad del requisito 6 Juego Funcionamiento naves enemigas Requisito Restriccin Alta/Esencial Media/Deseado Baja/ Opcional

Las naves enemigas sern similares al objeto nave usuario, pero sern controlada automticamente. Todas de ellas aparecern desde la parte superior de la pantalla y desaparecern por la parte baja. Aparecern aleatoriamente y algunas de ellas solo viajarn en lnea recta a travs del eje Y, otras con trayectoria parablica. Dispararn objetos de tipo bala con una frecuencia que depender de los parmetros de dificultad. Si un enemigo colisiona con una bala del usuario desaparece al momento. Bocetos previos:

3.2.7 Requisito funcional 7


Nmero de requisito Nombre de requisito Tipo Fuente del requisito Prioridad del requisito 7 Juego Salud Requisito Alta/Esencial Restriccin Media/Deseado Baja/ Opcional

La nave dispondr de un contador de salud. Se mostrar en la esquina superior derecha y tendr forma de nave con aspecto de control de mando: 100% Barra completa, color azul. 75% Barra , color amarillo. 50% Barra , color naranja. 25% Barra , color rojo Como se intuye, la nave del usuario podr recibir hasta 4 toques antes de que acabe el juego. Una vez acabado, se debe dirigir al men principal.

3.2.8 Requisito funcional 8


Nmero de requisito Nombre de requisito Tipo Fuente del requisito Prioridad del requisito 8 Juego Puntuacin y Ranking Requisito Restriccin Alta/Esencial Media/Deseado Baja/ Opcional

Cada vez que el jugador abate a una nave enemiga se sumarn 10 puntos al Score, situado en la esquina superior derecha. Al acabar el juego, dicha puntuacin se reflejar en una base de datos que generar un ranking con las puntuaciones ms altas.

Proyecto IMvaders Especificacin de requisitos de software

Rev. 30.12 Pg. 10

3.2.9 Requisito funcional 9


Nmero de requisito Nombre de requisito Tipo Fuente del requisito Prioridad del requisito 9 Juego Dificultad del Videojuego Requisito Restriccin Alta/Esencial Media/Deseado Baja/ Opcional

La dificultad del videojuego, es decir, la cantidad de enemigos, la velocidad, la inteligencia a la que saldrn ir aumentando. Pasados los 150 puntos, aparecer una lluvia de asteroides, donde rocas irn pasando por toda la pantalla durante unos 10 segundos. Esto se repetir despus cada 500 puntos. Por otro lado, al llegar a los 400 puntos aparecer de vez en cuando una nave enemiga ms potente, la cual se deber derrotar al hacer impactar en ella 3 balas. Despus, este tipo de nave aparecer cada 150 puntos.

3.2.10 Requisito funcional 10


Nmero de requisito Nombre de requisito Tipo Fuente del requisito Prioridad del requisito 10 Web Tecnologas utilizadas Requisito Restriccin Alta/Esencial Media/Deseado Baja/ Opcional

Los requisitos que se detallan a continuacin se implementarn utilizando: La web estar diseada utilizando 3 tecnologas diferentes, cada una depende de la otra para que funcione como se espera: HTML5: El contenido de la web se implementar en HTLM5 ya que es el lenguaje programacin web ms moderno, actualmente en crecimiento, aunque ya figura como estndar de la web. Las novedades que presenta respecto a HTML anteriores es una simplificacin de sintaxis, nuevas etiquetas. Adems, admite la insercin directa de audio y video sin necesidad de flash. CSS3: es un lenguaje usado para definir la presentacin de un documento estructurado escrito en HTML. El W3C (World Wide Web Consortium) es el encargado de formular la especificacin de las hojas de estilo que servirn de estndar para los agentes de usuario o navegadores. CSS3, que permite disear la interfaz de un contenido HTML5 mediante la creacin de reglas que se aplican a las diferentes divisiones del contenido. JavaScript: es un lenguaje con muchas posibilidades, utilizado para crear pequeos programas que luego son insertados en una pgina web y en programas ms grandes, orientados a objetos mucho ms complejos. Con JavaScript podemos crear diferentes efectos e interactuar con nuestros usuarios, como por ejemplo, cambiar el valor del color de una celda al pasar el ratn por encima, entre otros muchos usos. Por supuesto, se pretende que dicho DOM sea compatible con los navegadores ms utilizados.

Proyecto IMvaders Especificacin de requisitos de software

Rev. 30.12 Pg. 11

El boceto y estructura de la web es el siguiente:

3.2.11 Requisito funcional 11


Nmero de requisito Nombre de requisito Tipo Fuente del requisito Prioridad del requisito 11 Web HTML Requisito Alta/Esencial Restriccin Media/Deseado Baja/ Opcional

La web se compondr de las siguientes pginas: Index: La pgina principal contendr la informacin bsica y el acceso a todas las dems secciones. Minijuego: En esta seccin se introducir el videojuego en JS. Ranking: Aqu se mostrarn las 10 puntuaciones ms altas actualmente y una cuenta atrs hasta el prximo domingo a las 23:59:59. Concurso semanal: Se mostrar un resumen con el top 3 actualmente y la cuenta atrs, adems de explicar el premio semanal. Prximos concursos: Se detallarn prximos concursos. Eventos especiales: Informacin y elementos multimedia de eventos pasados y futuros. Contacto: informacin de contacto y formulario de contacto.

Proyecto IMvaders Especificacin de requisitos de software

Rev. 30.12 Pg. 12

Adems, se deber implementar un sistema de usuario LOGIN visible en todas las pginas, donde un usuario registrado accede con su Nick y contrasea.

3.2.12 Requisito funcional 12


Nmero de requisito Nombre de requisito Tipo Fuente del requisito Prioridad del requisito 12 Web CSS Requisito Alta/Esencial Restriccin Media/Deseado Baja/ Opcional

La maquetacin de la web ser parecida a este esquema anterior. Los colores utilizados sern bsicamente el negro, el blanco y el negro. La tipografa debe ser moderna y acorde con el tema, teniendo en cuenta los principios de usabilidad y accesibilidad.

3.2.13 Requisito funcional 13


Nmero de requisito Nombre de requisito Tipo Fuente del requisito Prioridad del requisito 12 Web JavaScript Requisito Alta/Esencial Restriccin Media/Deseado Baja/ Opcional

El JavaScript en la web ser el bsico: modificar enlaces mouseover, manejar PHP para la base de datos y formularios y sincronizacin con redes sociales.

3.3
-

Requisitos no funcionales
3.3.1 Requisitos de rendimiento
El tiempo de carga del no ha de superar los 15 segundos. El videojuego ha de funcionar con un mnimo de 30 frames por segundo durante toda su ejecucin.

3.3.2 Seguridad
Cada usuario tendr su propio Nick, el cual ser nico y servir de identificacin para evitar que existan dos usuarios en la base de datos con distintas puntuaciones. Cada jugador podr guardar nicamente su mayor puntuacin en la base de datos. Los usuarios no registrados no podrn guardar su puntuacin en la base de datos. En caso de desconexin del servidor por error, se guardar un backup temporal de los usuarios que permitir retomar la partida con el progreso que ste llevaba cuando se produjo la desconexin.

3.3.3 Fiabilidad
Con el fin de asegurar una buena experiencia al usuario, los servidores no admitirn a ms jugadores por encima de su capacidad. Cada usuario podr acceder a sus estadsticas, progresos, etc. as como guardar puntuaciones nicamente tras ingresar su contrasea. Cada usuario tendr un mximo de tres intentos fallidos al ingresar su contrasea. En caso de agotarse dichos intentos, no podr volver a intentar iniciar sesin tras pasados 10 minutos.

Proyecto IMvaders Especificacin de requisitos de software

Rev. 30.12 Pg. 13

3.3.4 Disponibilidad
Ser posible el acceso al videojuego siempre y cuando los servidores no estn saturados o el sistema se encuentre en mantenimiento. El videojuego podr ser jugado tanto por usuarios registrados como no registrados. Cada usuario registrado podr acceder a sus estadsticas, progreso, etc. al iniciar sesin.

3.3.5 Mantenibilidad
Cada cierto tiempo, ser posible actualizar la versin del videojuego, incluyendo una nueva interfaz, nuevos enemigos, armas, etc. Estas actualizaciones se realizarn por parte del equipo de desarrollo. Dichas actualizaciones se realizarn cada tres meses, salvo que se presenten bugs (errores) que requieran una temprana solucin. Si se da el caso, se proceder a actualizar el videojuego con una nueva versin que solvente dichos fallos. A su vez, se realizar una comprobacin diaria por parte de los desarrolladores, los cuales verificaran si todo funciona correctamente.

3.3.6 Portabilidad
El videojuego ha de poder ejecutarse en cualquier navegador sin distincin de plataforma donde se ejecuta (PC, MAC, etc.) ni del sistema operativo incorporado. La base de datos se podr migrar a otro motor de base de datos y mantener todas las puntuaciones ya guardadas.

3.4

Otros requisitos

Otro requisito independiente al resto es la creacin y puesta a punto de las redes sociales. Dichos perfiles deben contener la informacin bsica en un principio y para poder obtenerlos, el proyecto necesita un correo para el registro. Es necesario: Twitter: @IMvaders Facebook: IMvaders Google+: IMvaders LinkedIN: Proyecto Imvaders Por otro lado, se debe crear una Wiki donde aparecer la informacin bsica del manejo de la web y el videojuego, y sern los usuarios quienes aadirn problemas encontrados, bugs, propuestas de mejora.

4 Apndices
Sobre GAME MAKER HTML5: Game Maker es un software de elaboracin de

videojuegos fcil de utilizar y con muchsimas posibilidades. Su uso es bastante simple ya que se programa arrastrando elementos y luego cambiando parmetros que estos contienen. Adems, Game Maker posee su propio lenguaje de programacin bastante simple y que ampla las posibilidades del programa an ms.