escuela tÉcnica superior de ingenierÍa y sistemas de...

95
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN PROYECTO FIN DE GRADO TÍTULO: Juegos Adaptados AUTOR: Oscar Fernández Barros TITULACIÓN: Grado en Ingeniería de Sistemas de Telecomunicaciones TUTOR: Jose Manuel Diaz DEPARTAMENTO: Teoría de la Señal y Comunicaciones Miembros del Tribunal Calificador: PRESIDENTE: Carmen Ortiz TUTOR: Jose Manuel Diaz SECRETARIO: Jose Luis Rodriguez Fecha de lectura: 25 de Mayo de 2017 Calificación: El Secretario,

Upload: others

Post on 24-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

PROYECTO FIN DE GRADO

TÍTULO: Juegos Adaptados

AUTOR: Oscar Fernández Barros

TITULACIÓN: Grado en Ingeniería de Sistemas de Telecomunicaciones

TUTOR: Jose Manuel Diaz

DEPARTAMENTO: Teoría de la Señal y Comunicaciones

Miembros del Tribunal Calificador:

PRESIDENTE: Carmen Ortiz TUTOR: Jose Manuel Diaz SECRETARIO: Jose Luis Rodriguez

Fecha de lectura: 25 de Mayo de 2017

Calificación: El Secretario,

Page 2: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

ÍNDICE

1. RESUMEN Y ABSTRACT 3 2. INTRODUCCIÓN 4 3. ANTECEDENTES 6 4. MARCO TECNOLÓGICO 10

4.1 Android 10

4.1.1 Arquitectura 12

4.1.2 Seguridad, 13

4.1.3 Dispositivos 13

4.1.4 Diseño y desarrollo 13

4.1.5 Google Play 13

4.2 Unity 3D 14

4.2.1 Características Principale 15

4.2.2 Licencias 15

5. MARCO SOCIOCULTURAL 16

5.1 Discapacidad 16

5.1.1 Tipos 18

6. ANALISIS 21

6.1 U-A-S 24

6.1.1 Análisis y Diseño 24

6.1.2 Implementación en Unity3D 29

6.1.2.1 Scripts 34

6.1.3 Pruebas en Local 50

6.2 E-A-S 54

6.2.1 Análisis y Diseño 55

6.2.2 Implementación Aplicación Web 63

6.2.3 Pruebas en Local 66

7. MANUAL DE USUARIO 73 8. CONCEPTOS BÁSICOS DE SOCIOLOGÍA 86 9. ANEXOS 88 10. BIBLIOGRAFÍA 95

2

Page 3: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

1. RESUMEN Y ABSTRACT

El objetivo de este proyecto es elaborar una herramienta tecnológica capaz de ayudar a personas con distintos tipos de discapacidad, sirviendo de ejemplo del uso de las aplicaciones de la era tecnológica aplicados a usos sociales. El entorno específico hacia el cual se dirige este proyecto, es la ayuda a la discapacidad intelectual en temas de salud. El objetivo concreto son niños, pero a su vez ayudará al profesional/doctor que estudia a dicho paciente (teniendo a su alcance unas herramientas que le ayudarán a la hora de tratarlo y comprenderlo mejor). Se proponen dos aplicaciones para este objetivo. La primera será una aplicación para dispositivos móviles (smartphones, tablets..) con la cual poder emular en ella un conjunto de actividades en las que participaran dichos pacientes, que entenderán como juegos y que servirá para evaluar diferentes habilidades. Además podrá ser usada en lugares donde estén tranquilos, sin condicionamiento por otros factores, teniendo un resultados más exactos. La segunda aplicación será una aplicación web diseñada en exclusiva para la gestión de la aplicación anteriormente descrita. En dicha aplicación, el profesional tendrá un entorno de trabajo exclusivo para él, con los datos suficientes para que pueda evaluar o ayudarse de ellos para evaluar el desarrollo de sus pacientes.

The objective of that project is elaborate a technological tool able to help people with some kind of disability, additionally it can to serve like example of App of the technological age for social uses. The specifical framework towards which is targeted that project, are the people with intellectual disability, specifically for kids. Also it will help to the professional/doctor behind of the patient (he will have tools with which he will be able understand better to the patient).For that objective, it propose two Apps. The first App is for mobile device (smartphones,tablets..) with which to emulate some activities/test/games with the purpose will be evaluate yours skills.Moreover, the users it will be able to use in a comfort place where the results will be more exactly. The second App will be a application web, which design will be think for work with the datas of the first App.The professional will have an exclusive framework for manage and evaluate the datas.

3

Page 4: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

2. INTRODUCCIÓN

Desde comienzo de 2007 los Smartphone revolucionaron el concepto de teléfono móvil, a

teléfono inteligente con el que no solo se podría usar para comunicarse con él si no al tener mayor capacidad de almacenamiento de datos se podrían realizar actividades semejantes a la de una minicomputadora. Además contando con una mayor conectividad que un teléfono móvil convencional. Estos terminales llegarían en 2012 a ser el 36% de todos los teléfonos móviles vendidos en el mundo. En 2010 fue el turno de las tablets, que no fueron más que la evolución lógica del smartphone, siendo una computadora móvil con más potencia que un Smartphone, con más autonomía y con una interfaz enfocado a la experiencia del usuario.

El tema principal de este proyecto es anterior a las tecnologías con las que se quiere abarcar,

tratará sobre cómo ha sido la inclusión de la discapcidad intelectual en nuestra sociedad. Habrá que remontarse por ejemplo a sociedades antiguas donde era normal el infanticidio cuando se observaban anormalidades en los niños y niñas; un ejemplo es el pueblo de Esparta que no permitía miembros que tuvieran ninguna discapacidad. Más tarde aparecerán religiones donde condenan el infanticidio pero atribuyen esta discapacidad a personas poseídas por el demonio y otros espíritus infernales, sometiéndose a prácticas exorcistas. Hasta los siglos XVII y XVIII que se le empezó a considerar personas con algún tipo de locura y se internaban en orfanatos, manicomios... A finales del siglo XVIII y principios del XIX, la persona con discapacidad es separada y discriminada. Esta situación se alarga hasta comienzos del siglo XX por ser considerados como seres perturbados y antisociales.Incluso a lo largo del siglo XX, las personas con discapacidad todavía son rechazadas. Podemos ver un ejemplo de ello en el movimiento impulsado por el Partido Nacionalsocialista Obrero Alemán, siento entre otras, víctimas del holocausto. En Suecia, hasta mediados de los años 70, se esterilizaba a las personas con discapacidad, incluso, sin su consentimiento. Con la aparición de estudios de escalas de inteligencia ya se comienza a hablar de torpes y retrasados o retrasadas. Según se avanza en el tiempo, hablamos de deficiencia mental, minusvalías, “handicapado”, discapacidad psíquica, y, finalmente, con la nueva conceptualización de la A.A.M.R se habla de retardo mental, aunque otras corrientes y estudios prefieren utilizar términos como discapacidad intelectual. Lo cierto es que, según se avanza en la aceptación de la diversidad de personas, la sociedad incorpora términos y matiza conceptos. Por ejemplo, en un nivel educativo, la L.O.G.S.E. introduce el concepto de alumnos o alumnas con necesidades educativas especiales.Dicha definición supone, por un lado, la aceptación de la diversidad y, por otro, la posibilidad de atender específicamente a cualquier persona sean cual sean sus capacidades. En los últimos años, la sociedad ha dado pasos importantes en su concepción acerca de la discapacidad y su entorno.

4

Page 5: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Poco a poco, se van superando viejos prejuicios que estereotipan y califican a quienes tienen alguna discapacidad como "menos personas" que aquellas que no la tienen.Vamos incorporando en nuestra percepción de la realidad la idea de que todas las personas somos iguales independientemente de que tengamos discapacidad o no, del sexo con el que nazcamos, de nuestra condición social, orientación sexual, religión, etnia, etcétera.Todos estos avances sociales han tenido y tienen su reflejo en el lenguaje, porque el lenguaje es el reflejo de las personas y sociedad que lo habla, describe las especificidades de cada grupo social y muestra sus concepciones en cada momento. Con el lenguaje expresamos lo que está escrito en nuestras mentes, como colectivo y como seres individuales. Si bien es cierto que la sociedad cada vez se muestra más respetuosa con el hecho de la discapacidad, todavía hoy, en la calle o en los medios de comunicación, escuchamos palabras o términos que denotan cierto desconocimiento de esta realidad y que, en la mayoría de los casos, se muestran sobreprotectores e, incluso ofensivos, especialmente para las personas a las que se refiere. Hablamos de un uso discriminatorio del lenguaje, y no de lenguaje discriminatorio, porque nuestro idioma, como la mayoría de ellos, no es en sí discriminatorio: lo que discrimina es el uso que se haga de él. La discriminación no está en el lenguaje, sino en la mente de las personas. Nuestra lengua tiene la riqueza y los recursos suficientes para utilizarla sin necesidad de excluir, invisibilizar o marginar. El objetivo que nos debemos plantear es conseguir la calidad de vida para las personas con discapacidad, para ello debemos ofrecerles las mismas oportunidades, recursos, opciones,. ..que al resto de la población, adaptando todo aquello que les facilite su correcto desarrollo como personas. Para llegar a tener cierto grado de autonomía en la vida y para poder desarrollar esas actividades que sabemos hacer, indefectiblemente, hemos tenido el apoyo de otras personas (familia, profesorado, amistades, instituciones,..).Para conseguir la inclusión y la normalización, es necesario sustituir la sobreprotección por el apoyo. La sobreprotección, no sólo invade a la persona, sino que hace disminuir las capacidades; por el contrario, el apoyo es el refuerzo que necesita alguien para llegara un determinado resultado. Según sean nuestras capacidades o nuestras potenciales capacidades, el apoyo que necesitaremos será mayor o menor. Los niveles de autonomía en las personas, y concretamente con quienes tienen discapacidad son directamente proporcionales a los apoyos que se les presten e inversamente proporcionales a la sobreprotección con que se les trate.El quid de la cuestión está en que los demás miembros de la sociedad seamos capaces de brindar los medios, dotar de recursos y quitar las barreras para que puedan desarrollar sus potencialidades y llevar una vida normalizada como ciudadanas y ciudadanos de pleno derecho. En este contexto tanto social en el que vivimos se ha avanzado en gran medida a dar soluciones a la serie de problemas anteriormente propuestos, haciendo uso de la tecnología. Este proyecto se pretende ayudar en ese avance aportando una herramienta que facilita la compresión de los problemas del paciente al profesional y su tratamiento según sus necesidades.

5

Page 6: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

3. ANTECEDENTES

Para conseguir una primera visión del problema desde el punto de vista de otras personas

que han investigado sobre este tema, se buscarán algunos ejemplos existentes en este área, ya implementados.

● El primer ejemplo es “Léelo fácil” propuesta de FEAPS(Confederación Española de Organizaciones en favor de las Personas con Discapacidad Intelectual o del Desarrollo). A través de su plataforma Web y sus 2 Apps facilitan la lectura a personas con discapacidad intelectual o para personas que tengan dificultades para leer.

http://www.leelofacil.org/es/home

● Como segundo ejemplo está el Proyecto Azahar, conjunto de aplicaciones destinadas a ayudar a mejorar la calidad de vida y la autonomía de las personas con autismo y/o con discapacidad intelectual, y todas ellas gratuitas.

http://www.proyectoazahar.org/azahar

6

Page 7: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros Antes de comenzar, también fue necesario tratar la parte tecnológica, por lo que se hizo

una evaluación previa para ver las tecnologias que había actualmente para desarrolladores de aplicaciones en Android. Se evaluaron varias alternativas a la plataforma final que podrían ser utilizadas para este fin. La primera alternativa fue hacer un juego directamente con Android Studio. (Android Studio Software desarrollado por Google para poder hacer aplicaciones en android. Software bastante joven que ha sustituido a Eclipse como plataforma para desarrollar Apps para android gracias a sus herramientas que facilitan en gran medida su desarrollo).El problema es que para hacer App simples es una herramienta muy potente , pero para desarrollar un videojuego era necesario un motor de juego que se pueda integrar con android por lo que esta primera idea fue descartada. Como segundo opción se encontró GoAnimate!, es una aplicación en la que la experiencia gráfica primara al motor de juego, apareciendo videos segun la eleccion del personaje, situaciones.... El problema principal de esta alternativa incide en la conectividad con el servidor y la recogida de datos, además. de el alto espacio de almacenamiento que se necesitaría. A parte de la poca flexibilidad que tendría la aplicación. Finalmente se decidió como mejor opción usar un motor de juego para desarrolladores en plataforma android que estuviera en el mercado.

7

Page 8: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Entre los principales motores de juego que se encontraron están:

Game Maker Studio Game Maker, es un clásico en el desarrollo para plataformas iOS, Android y Web, sencilla y con suficientes herramientas como para que los menos avanzados puedan hacer su proyectos. Especializado para crear juegos en dos dimensiones con librería de físicas Box2d e incorpora servicios de monetización, anuncios y analíticas del mercado, por si se quisieran comercializar. Tiene una versión gratuita, lo malo que en dicha versión no entra el desarrollo para android.

Torque 2D Uno de los más antiguos, es un motor difícil para conocer en profundidad, pero las prestaciones y la versatilidad del motor son increíbles. Hace falta ser un buen programador para entrar en Torque2D.Torque ha evolucionado mucho y ofrece tres variantes. Torque 3D el clásico, Torque2D para desarrollar juegos en 2D y Torque 2D para dispositivos móviles iOS. Shiva 3D Es el motor para videojuegos más compatible que hay, soporta Windows, Mac Os, Linux, iPhone, Android, BlackBerry, Palm, Wii y iPad. Trabajar con Shiva3D cuesta acostumbrarse pero una vez familiarizado es muy cómoda y versátil. Aunque es un motor multiplataforma no se usa mucho en proyectos profesionales. El problema es que a la hora de resolver problemas no hay una comunidad tan grande como en otros motores.

8

Page 9: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Unity 3D Es uno de los motores gráficos más conocidos. Robusto, fácil de usar, potente, versátil. Para artistas o programadores, compatible con muchas plataformas, con una comunidad de usuarios muy grande, donde puedes encontrar en los foros soluciones para casi todo. Además la licencia básica es gratis. Pensado para 3D, 2D, y muy potente para cualquier proyecto en android. Se podría decir que Unity3D ha dedicado más tiempo a prepararse para poder desarrollar apps en esta plataforma. Se percibe la fuerza de Google a la hora de desarrollar juegos con Unity3D. Estas son las características principales de este motor: ● No nos permite empezar desde una plantilla, se debe empezar de cero con cada juego (desarrollar un juegos no debe ser “arrastrar y soltar” eso haría poco flexible a la aplicación. Por lo que no es una aplicación que puedas usar si no sabes como hacerlo, y sin nociones de programación). ● En cuanto al punto de vista gráfico vemos que es un motor medio, hay muchos por encima de él. ● El motor físico está a un gran nivel tanto,en rendimiento y en funcionalidades. ● La licencia para poder desarrollar un proyecto en android es gratis.(Unity free) Es una herramienta muy potente para principiantes y avanzados, además para usuarios que

no disponen de muchos recursos económicos. Aunque claramente con conocimientos más avanzados tanto en diseño como en programación y con licencias superiores se podría hacer un aprovechamiento muy superior. Por compatibilidad con los requisitos del proyecto esta será la elección elegida.

9

Page 10: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

4. MARCO TECNOLÓGICO

4.1 Android

Una vez introducido el tema principal del proyecto, y teniendo como premisa que este proyecto se desarrollará para plataforma Android, se explicará la historia de dicha marca y todo lo que ella engloba. El nombre de Android (la etimología de la palabra) proviene de androide (robot) , haciendo alusión a la novela de Philip K. Dick ¿Sueñan los androides con ovejas eléctricas?, que posteriormente fue adaptada al cine como Blade Runner. El logotipo de la marca es el robot "Andy".Android es un sistema operativo diseñado para dispositivos móviles, tablets, relojes inteligentes, televisores .. basado en Linux. Dicho sistema operativo se ha convertido en el centro de las miradas en las llamadas “Smartphone patent wars”, entre las empresas de tecnología. Como versión básica del sistema tenemos la AOSP conocida como Android Open Source Project (Anexo 1). La historia de Android comienza en octubre de 2003, en Palo Alto (California), tras la fundación de Android Inc. cuyo principal objetivo era desarrollar un sistema operativo para dispositivos móviles que se basará en Linux. Más tarde en 2015, Google al ver el potencial de Android Inc decide comprarlo. Dos años más tarde en 2007 surge la Open Handset Alliance (consorcio de 78 compañías de fabricantes, desarrolladores de hardware, software y operadores de servicio que surgieron con el objetivo de desarrollar estándares abiertos para dispositivos móviles). En este marco surge su primer producto, su primera versión del sistema operativo: Android 1.0 Apple Pie sostenida sobre la versión 2.6 del kernel de linux. Aunque hasta 2008 no saldría el primer teléfono a la venta con este sistema operativo.Tal fue el boom que despertó android que a escala mundial alcanzó una cuota de mercado del 50,9% durante el cuarto trimestre de 2011, más del doble que el segundo sistema operativo más popular iOS de Apple, Inc.Además empieza a surgir y a formarse una gran comunidad de desarrolladores creando aplicaciones para extender la funcionalidad de los dispositivos tanto para la tienda de aplicaciones oficial de Android: Google Play, como para otras tiendas no oficiales para Android como la tienda de aplicaciones Samsung Apps de Samsung, slideme de java y amazon Appstore.

10

Page 11: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Introduciéndonos técnicamente en dicho sistema, se compone de aplicaciones que se ejecutan en un framework Java que se sostienen de las bibliotecas de Java en una máquina virtual Dalvik, esto sucedió hasta la versión 5.0, donde luego se cambió al entorno Android Runtime (ART). A parte de Java también se sostiene de bibliotecas escritas en lenguaje C que incluyen un administrador de interfaz gráfica (surface manager), un framework OpenCore, una base de datos relacional SQLite, una Interfaz de programación de API gráfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico SGL, SSL y una biblioteca estándar de C Bionic. En resumen Android está compuesto 12 millones de líneas de código, incluyendo 3 millones de líneas de XML, 2,8 millones de líneas de lenguaje C, 2,1 millones de líneas de Java y 1,75 millones de líneas de C++.

Es importante comentar también los cambios que ha sufrido android hasta la actualidad, ya que ha tenido numerosas versiones y actualizaciones que han hecho que sea un sistema operativo más robusto y eficaz. Estas actualizaciones se basan típicamente en arreglan bugs y agrega nuevas funciones. Generalmente cada actualización del sistema operativo Android es desarrollada bajo un nombre en código de un elemento relacionado con dulces en orden alfabético. Hay un debate en que se sostiene que Android es uno de los promotores principales de la obsolescencia programada debido a la aparición de nuevas versiones en cortos periodos de tiempo, que en muchos casos, no llegan a funcionar correctamente en el hardware diseñado para versiones previas, además ha sufrido duras críticas por la fragmentación que sufren sus terminales al tener que soportar actualizaciones constantes por los distintos fabricantes. Google intentó enmendar el problema con su plataforma actualizable Servicios de Google Play (que funciona en Android 2.2 y posteriores), separando todas las aplicaciones posibles del sistema (como Maps, el teclado, Youtube, Drive, e incluso la propia Play Store) para poder actualizarlas de manera independiente, e incluyendo la menor cantidad posible de novedades en las versiones futuras.

11

Page 12: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

4.1.1 Arquitectura:

Los componentes principales del sistema operativo de Android (Anexo 2) (cada sección se describe en detalle):

● Aplicaciones: Aplicaciones que incluye de serie , correo electrónico, SMS, calendario, mapas, navegador, contactos y otros. Aunque luego cada terminal dependiendo de la compañía de fabricación incluso la operadora incluirá aplicaciones propias en su App que a no ser que fueras Root del sistema será imposible de desinstalar.

● Bibliotecas: incluye un conjunto de bibliotecas de C/C++. System C library (implementación biblioteca C estándar), bibliotecas de medios, bibliotecas de gráficos, 3D y SQLite, entre otras.

● Runtime de Android: incluye un set de bibliotecas base del lenguaje Java. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente. Dalvik ejecutaba hasta la versión 5.0 archivos en el formato Dalvik Executable (.dex), el cual está optimizado para memoria mínima. Desde la versión 5.0 utiliza el ART, que compila totalmente al momento de instalación de la aplicación.

● Núcleo Linux: depende de Linux para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de controladores. El núcleo también actúa como una capa de abstracción entre el hardware y el resto de la pila de software.

12

Page 13: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

4.1.2 Seguridad

Según un estudio de Symantec de 2013(Compañía con prestigio y experiencia en seguridad Informática) demuestra que Android en comparación con iOS, es un sistema más robusto y menos vulnerable. En dicho estudio encuentran menos de 14 vulnerabilidades graves en el sistema Android, y más de 380 vulnerabilidades graves para iOS. Aunque los números de vulnerabilidades están a favor de Android. Los números de ataques están muy en su contra ya que en 2012 se registraron más de 110 ataques nuevos a Android y solo uno para IOS.

4.1.3 Dispositivos

Remontándonos a el primer teléfono disponible en el mercado, que se dio a conocer al público el 22 de octubre de 2008. Actualmente se estima que más de 1.500.000 teléfonos móviles se activan diariamente. Como cifra significativa tenemos que en 2013 se llegó a los 1000 millones de teléfonos inteligentes Android en el mundo. Revisando las cifras de Google Play vemos que dicha plataforma cuenta con más de 1,4 millones de App para este sistema.

4.1.4 Diseño y desarrollo

Android es considerado uno de los modelos de negocio más exitosos, además la combinación con un código abierto que se basa en linux, y el respaldo de Google como proveedor de plataformas, informacion etc hace que el negocio sea exponencial.

Todas las aplicaciones están comprimidas en formato APK, que se pueden instalar sin dificultad desde cualquier explorador de archivos en la mayoría de dispositivos.

4.1.5 Google Play

Es la tienda para descargarse App para Android. Se accede a ella gracias a una aplicación llamada "Play Store" que se encuentra instalada en la mayoría de los dispositivos Android. Los desarrolladores utilizan esta plataforma pàra colgar sus APP, haciendo una cuenta en Google de desarrollador y vendiendoles una parte de los derechos a Google de esa App por esta alojada en su plataforma. Aproximadamente google retribuye a los desarrolladores el 70% del precio de las aplicaciones

13

Page 14: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros 4.2 Unity 3D

Como sea comentado, Unity3D será la elección para desarrollar la Aplicación de Juegos Adaptados. estudiando en profundidad este motor de juegos,vemos que es un motor multiplataforma creado por Unity Technologie, disponible para Microsoft Windows, OS X y Linux. Unity cuenta con 3 versiones de mayor a menor herramientas de desarrollo Unity Professional (pro) ,Unity Plus y Unity Personal (Free). Se fundó en 2004 por David Helgason, Nicholas Francis, y Joachim Ante en Copenhague. La primera versión de Unity se lanzó en la Conferencia Mundial de Desarrolladores de Apple en 2005 ya que fue construido para proyectos en los equipos Mac. Más tarde fue lanzado Unity 3 en 2010 y se centró en generar varios paquetes. Uno para los estudios de alta gama y otro más asequible para equipos independientes (En gran parte el éxito de Unity viene por esto, por la necesidades de los desarrolladores independientes que no pueden crear ni su propio motor del juego ni las herramientas necesarias o adquirir licencias para utilizar plenamente las opciones que aparecen disponibles). Por último en 2015 se sacó la última versión, Unity 5 que cuenta con, soporte para DirectX 11 y soporte para juegos en Linux.

14

Page 15: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

4.2.1 Características Principales

Unity es una plataforma que puede usarse complementariamente con muchas otras, lográndose un mejor desarrollo del proyecto, por ejemplo: Maya, Softimage, Blender, ZBrush, Cinema 4D, Adobe Photoshop, Adobe Fireworks y Allegorithmic Substance.

Utiliza un motor gráfico Direct3D para Windows, OpenGL para Mac y Linux, OpenGL ES para Android y iOS , e interfaces propias para Wii. Además Unity cuenta con soporte para mapeado de relieve, reflexión de mapeado, mapeado por paralaje, pantalla de espacio oclusión ambiental, sombras dinámicas utilizando mapas de sombras, render a textura y efectos de post-procesamiento. Para el scripting utiliza Unity Script (un lenguaje personalizado inspirado en la sintaxis ECMAScript), C# o Boo (que tiene una sintaxis inspirada en Python). A partir de la versión 3.0 añade una versión personalizada de MonoDevelop para la depuración de scripts. Para la animación usa Mecanim una tecnología de animación diseñada para llevar el movimiento fluido y natural de los personajes con una interfaz eficiente. Incluye herramientas para la creación de autómatas de estados, árboles de mezcla, manipulación de los conocimientos nativos y retargeting automático de animaciones. Además en la Asset Store encontraremos animaciones gratuitas o de pago con tecnología Mecanim. Asset Store, es un soporte disponible en el editor de Unity, donde los usuarios de Unity pueden acceder a más de 4.400 paquetes de Assets en una amplia gama de categorías, incluyendo modelos 3D, texturas y materiales, sistemas de partículas, música y efectos de sonido, tutoriales y proyectos, paquetes de scripts, extensiones.

4.2.2 Licencias

Actualmente hay 3 licencias principales para desarrolladores: Unity personal y Unity Professional y Unity Plus. La versión Pro tiene características adicionales, tales como render a textura, efectos de postprocesamiento...Todas las versiones dan acceso a la documentación del motor y a tutoriales o vídeos de entrenamiento. Las licencias para el desarrollo en consolas, tales como Ps3, Ps4, Ps Vita, Xbox 360, Xbox One, Wii, se negocian contactando con un gerente de cuentas. Por último para las licencias relativas temas educativos las proporciona Studica.

15

Page 16: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

5. MARCO SOCIOCULTURAL

5.1 Discapacidad

En un primer acercamiento al estudio de la discapacidad en la sociedad, se encuentran terminologías que podrían llevar a confusión debido al desconocimiento generalizado que tenemos sobre ellas. Inclusión: se asocia a calidad en las relaciones, está vinculado a las emociones ,a la afectividad y se relaciona con la capacidad de las personas de aceptar al otro y convivir en armonía aceptando las diferencias. Segregación: es la lucha de grupos, la imposición del que tiene sobre el que no tiene. Es el dominio de un sector social sobre otros que difícilmente tendrán opciones de imponerse o cambiar su status. Es la clasificación en segmentos bien diferenciados donde los roles no pueden traspasar las fronteras de lo que decida el grupo dominante.

Exclusión: va más allá de la segregación, no existe siquiera clasificación, solo diferencias que impiden un mínimo de cohesión social. Los excluidos no pueden encontrar similitudes en sus iguales , solo son eso, personas fuera del sistema sin derechos y con nulas obligaciones, excepto las que se imponen por ciudadanía, si es que para ellos existe la ciudadanía.

Integración: dicho término es un engaño. El diferente nunca podrá ser uno más, siempre serás portador del handicap de “distinto”. La sociedad los margina,les pone zancadillas a la vez que le da suaves palmadas en la espalda para cubrir el expediente o la cuota mínima de bondad. Cuanto eufemismo, cuanto cinismo.

Equidad: va más allá de estos conceptos; Es la acción, la demostración de sentir a tus iguales cerca, considerar los principios inclusivos como norma , es crear espacios de intercambio donde todos sean tratados según sus capacidades y necesidades. Hablamos de empatía y resiliencia, de justicia natural , de derechos y deberes consensuados y aceptados.

16

Page 17: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

En la figura 1 se muestra la distinción de los términos visualmente.

Fig. 1. Diferencias de los diferentes conceptos de diversidad en la sociedad.

17

Page 18: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

En este punto, se plantean ahora los siguientes tipos de deficiencias con las que la aplicación lidiará y tendrá que estar preparada, esto servirá no tanto para una primera versión, sino para mejorar la aplicación en futuras versiones. Según la Clasificación Internacional de Deficiencias (CIDDM) de la OMS en 1980, en ella se establecen los siguientes tipos de deficiencias:

• Deficiencias intelectuales. • Otras deficiencias psicológicas. • Deficiencias del lenguaje. • Deficiencias del órgano de la audición • Deficiencias del órgano de la visión. • Deficiencias viscerales. • Deficiencias músculo-esqueléticas. • Deficiencias desfiguradoras. • Deficiencias generalizadas, sensitivas y otras.

5.1.1 Tipos Una vez definidas las deficiencias, se define una clasificación de los tipos de discapacidades:

• Discapacidades de la conducta. • Discapacidades de la comunicación. • Discapacidades del cuidado personal. • Discapacidades de la locomoción. • Discapacidades de la disposición del cuerpo. • Discapacidades de la destreza. • Discapacidades de la situación.

Debido a estas deficiencias y discapacidades, se definen los tipos de minusvalía:

• Minusvalía de orientación. • Minusvalía de independencia física. • Minusvalía de la movilidad. • Minusvalía ocupacional. • Minusvalía de integración social. • Minusvalía de autosuficiencia económica. • Otras minusvalías.

18

Page 19: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Tras distinguir entre deficiencias, discapacidades y minusvalías, se diferencian claramente los tipos de usuarios que podrán usar la aplicación, y así poder abarcar todos ellos ya sea en una primera o en futuras versiones. Finalizando el análisis social, teniendo una visión más completa de a quién irá destinada la aplicación, se podrá conseguir un objetivo del proyecto más claro y conciso. El objetivo del que se ha hablado, será que nuestra aplicación consiga establecer una primera evaluación mediante pruebas/test/juegos , no sustituyendo en ningún caso la labor del doctor, sino siendo un complemento que le sirva de apoyo. (la evaluación real siempre la proporcionará el profesional/doctor a su cargo). Aun asumiendo que el doctor tendrá la tarea de hacer una evaluación efectiva, esta aplicación deberá emitir una evaluación previa del usuario que utilice, y por tanto se deberá estudiar con cuidado algunos factores determinantes en ella. La valoración de una discapacidad se suele obtener como suma de porcentajes, entre los cuales están los factores discapacitantes (ya sea por una disminución física, psíquica o sensorial) y los factores sociales (entre los que figuran la edad, la situación familiar, recursos económicos, la situación laboral y profesional, los niveles educativos y culturales y el entorno habitual). Estas actividades la llevan a cabo los Equipos de Valoración y Orientación (EVO) que son equipos multiprofesionales compuestos, al menos, por un médico (que valora la discapacidad física y sensorial), un psicólogo (que valora la discapacidad psíquica) y un trabajador social (que valora los factores sociales) que desarrollan su labor a nivel provincial o comarcal. Aunque también es de destacar que podrían incluirse otros profesionales, como psicopedagogos, pedagogos, educadores sociales, monitores ocupacionales, logopedas, psicomotricistas, técnicos en estimulación temprana y personal administrativo. En este equipo es donde se incluirá una persona que gestionará, actualizará, y mejorará la aplicación siempre con todo este equipo de profesionales de apoyo y guía.

19

Page 20: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Las funciones de los Equipos de Valoración y Orientación son las siguientes: 1. Diagnóstico, valoración, calificación y orientación de personas con discapacidades físicas, sensoriales y/o psíquicas. Aquí se incluye la calificación del grado de minusvalía ,el diagnóstico del estado médico-funcional y de las características de la personalidad y aptitudes, la valoración de la situación personal y del entorno socio-familiar, la orientación acerca de las posibilidades de rehabilitación con indicación de las medidas aconsejables, 2. La prestación de servicios de información y asesoramiento general. 3. Logopedia, estimulación temprana, psicomotricidad, fisioterapia y psicoterapia en régimen ambulatorio. 4. Valoración y orientación en formación, empleo o formación ocupacional. 5. Otras funciones, como la elaboración de informes técnicos para adaptación de viviendas, adaptación de puestos de trabajo, ingresos en centros y todas aquellas que le sean atribuidas por la normativa.La función de la APP recaería en gran medida en el punto 1 pero también en los puntos 3,4.Los grados de discapacidad en relación con las AVD (actividades de la vida diaria) son los siguientes: la Asociación Médica Americana en 1994:

● Actividades de autocuidado (vestirse, comer, evitar riesgos, aseo e higiene personal...)

● Otras actividades de la vida diaria: ● Comunicación ● Actividad física: ● Intrínseca (levantarse, vestirse, reclinarse...) ● Funcional (llevar, elevar, empujar...) ● Función sensorial (oír, ver...) ● Funciones manuales (agarrar, sujetar, apretar...) ● Transporte (se refiere a la capacidad para utilizar los medios de transporte) ● Función sexual ● Sueño ● Actividades sociales y de ocio.

Estos grados sirven de referencia para la inclusión de la persona con discapacidad en una

clase determinada y para la asignación de un porcentaje. Por último enmarcar que la valoración y reconocimiento del grado de minusvalía se realiza en los Centros Base de Atención a Personas con Discapacidad. Los Centros

20

Page 21: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

6. ANÁLISIS

En este punto con el conocimiento de las herramientas, aplicaciones, tecnologías presentes en la actualidad que dan soluciones al mismo problema, intentando que este proyecto pudiera ofrecer una solución alternativa a dichas soluciones y observando las carencia que tenían todas esas propuestas a la hora de interactuar con el profesional que estaba detrás de la persona con discapacidad intelectual, entramos en el análisis, tanto de la parte del usuario al que va dirigida,como al usuario que analizará esos resultados. De esta reflexión surge el siguiente esquema. En el esquema 1 se pueden diferenciar varios bloques.Antes de analizar las tecnologías a usar se definirá cada bloque por separado y los requisitos que subyacen:

Esquema 1. Flujo de datos del proyecto

21

Page 22: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

USUARIO : niño/a con discapacidad intelectual. Se le prestará un mayor cuidado debido a que puede necesitar mecanismos especiales para poder interactuar con la aplicación (accesibilidad),y además conseguir que mantenga una motivación suficiente para que la utilice.

EXPERTO: Profesional/doctor al cargo del usuario, el cual conocerá todas las características del usuario y podrá hacer una evaluación en profundidad.

APLICACIÓN USUARIO : Esta aplicación en su primera versión se deberá adaptar a las necesidades del usuario común. Esta etapa es la que contiene la aplicación principal, con todos los algoritmos/métodos para desarrollar el juego en plataforma Android.

APLICACIÓN PROFESIONAL: Esta aplicación se deberá adaptar a las necesidades del profesional, servido de una interfaz simple e útil. Contendrá todos los algoritmos/métodos para hacer una aplicación de consulta de resultados en plataforma Android,

SERVIDOR USUARIO : Este bloque comprende la recepción y el almacenamiento de los datos enviados por el bloque aplicación usuario.

SERVIDOR PROFESIONAL: Este bloque comprende la recepción de petición de envío de datos y el algoritmo de envío de esos datos a la aplicación profesional.

22

Page 23: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Una vez definidas los bloques de la aplicación, el esquema 2 muestra la comunicación entre ellos quedando de la siguiente forma el diseño propuesto en UML (Anexo 3) :

Esquema 2. Flujo de datos del proyecto en detalle

Observando el esquema 2 se puede apreciar que tiene 2 soluciones separadas pero a la vez ligadas.

● U-A-S (USUARIO-APLICACIÓN-SERVIDOR)

● E-A-S (EXPERTO-APLICACIÓN-SERVIDOR)

23

Page 24: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

6.1 U- A- S

6.1.1 Análisis y Diseño

<<Usuario>> Aplicando lo anteriormente mencionado al usuario (niño con discapacidad intelectual,pudiendo ser de origen genético o adquirido) se construirá una primera versión teniendo en cuenta lo siguientes puntos:

● Puede tener dificultades para hablar ● Puede tener dificultades en recordar cosas y comprender reglas ● Puede tener dificultades al resolver problemas simples ● Puede tener dificultades para pensar y expresarse lógicamente.

Teniendo los problemas a los que se enfrenta la aplicación acotados, se podrá pensar cómo adaptarla esas dificultades. Las soluciones propuestas fueron las siguientes:

● Dificultades para hablar: Esta dificultad da sentido al proyecto, debido a la baja comunicación que podría darse entre el usuario y el profesional, la aplicación da una alternativa de comunicación no verbal.

● Dificultades en recordar cosas y comprender reglas: Para esta dificultad lo principal es elaborar una interfaz donde el usuario no tuviera ningún impedimento para recordar lo primordial del juego, y en el caso de que hubiera algo esencial de saber, el juego se lo mostraria.

● Dificultades al pensar y resolver problemas simples: Este es el fin principal del juegos. El evaluar esta capacidad para resolver ciertos problemas que le dará información relevante al profesional.

Finalizando este bloque se hablará de interfaz gráfica. Será una interfaz intuitiva, clara, y táctil, bastará con tocar la pantalla cuando se quiera interaccionar con ella.

24

Page 25: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

<<Aplicación>> Es la parte principal del proyecto. Este bloque a su vez se dividirá en partes, que compondrán nuestra aplicación. La aplicación se compone de pantalla inicial, pantalla de logos,pantalla de carga, pantalla de credenciales, menú principal y juegos.

● Pantalla inicial: Será lo primero que verá el usuario tras arrancarla, proporcionándoles una primera impresión global.

● Pantalla de logos: Contendrá los logos de las instituciones que colaboran con el proyecto.

● Pantalla de carga: Pantalla intermedia usada para dar una impresión de que se está jugando a un juego, además le dará tiempo a la aplicación para cargar componentes..

● Pantalla de credenciales: Pantalla usada para el registro del usuario que está jugando en el sistema.

● Menú principal: menú principal de la aplicación donde estará la lista de los juegos.

<<Alternativa>> Para futuras versiones, se podrá elaborar una intro del juego. Será una historia la cual dará un motivo al usuario por el cual jugar, proporcionándole un contexto que el entienda. Se propone una una historia ligera con la opción de saltar por si no es la primera vez que se juega, contada de forma gráfica,explicada con textos que podemos ver en la pantalla y con música que acompañe la historia. Podremos dar la opción de definir un rol por ejemplo chico o chica. La historia propuesta puede enmarcarse en una isla debido a que se han incluido fondos relativos a ella, y como protagonista principales a “estrellas” que viven en ella. En dicha historia podría mostrarse a las estrellas siendo engañadas por la ambición de un pirata que consigue llegar a esa isla a través de un mapa y capturarlas. Luego de este suceso entrarán en pantalla los protagonistas con los cuales el usuario se identificará como el encargado de recuperar a dichas estrellas dando así un motivo principal al juego, por el cual se recuperan estrellas a medida que vayamos completando juegos. También se propone elaborar un menú principal secundario, el cual sea un juego por ejemplo “El juego de la oca” (Anexo 4) , donde tendrás un dado que al pulsar aleatoriamente sacará un número y avanzaras las casillas que indique ese dado. Habrá 2 tipos de casillas. Una en las que no pase nada, y otras en las que se lance un evento, en nuestro caso será un juego.

● Juego: Este apartado es uno de los más importante y costosos de implementar, ya que cada juego medirá unas características o aspectos de las habilidades del usuario. Entre los juegos que podemos implementar, están los siguientes:

25

Page 26: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

<<Juegos>>

1. Laberinto 2. Objeto-sombra-Asociar objetos con su sombra 3. Memoria visual, aparecen en la pantalla unas imágenes y a los pocos segundos

desaparecen y el niño tendrá que recordar cuales eran. 4. Memoria auditiva, similar al anterior, pero sin imágenes. Sólo escuchando. 5. Memory (buscar parejas en cartas que están boca abajo.) 6. Adivina que suena, animales, instrumentos, sonidos cotidianos…… se escucha un

sonido y el niño tiene que identificar cuál es señalando la respuesta entre los objetos/animales que se presentan.

7. Averigua qué le falta: salta una imagen y hay que averiguar qué es lo que le falta a esa imagen

8. Vocabulario, identificar las palabras que escuchas. Se puede configurar para seleccionar vocabulario aleatorio o el que nosotros elijamos (ropa, transportes, animales, frutas…..).

9. Sigue la serie……Presentamos una serie por ejemplo “sol-luna-estrella” y tiene que continuarla con opciones

10. Contar: señala el número de cosas que aparecen. Actividad sencilla de conteo. “¿cuántos botones tiene el payaso?” y el niño señala el número o incluso le podemos pedir que lo dibuje con el dedo (mayor dificultad).

11. Resolver adivinanzas 12. “Son iguales”: asociar colores, imágenes, números,letras.. que sean iguales 13. Realizar un rompecabezas. 14. Ordenar una historia desordenada. 15. Unir la silueta de un dibujo siguiendo números.

26

Page 27: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

De los anteriores juegos propuestos se escogen 3 para la primera versión de la aplicación, que serán lo siguientes:

● Laberinto ● Figuras incompletas ● Adivina qué es esto (contará con 3 opciones).

LABERINTO

● Los motivos y estilos que tendrá dependerá del nivel en el que se entre. El primer nivel será una interfaz marina, donde habrá una playa y el personaje que controlaremos será un barco. En los siguiente niveles se podrán meter más estilos,tierra, aire, en el espacio, aunque eso sería en versiones futuras del juego.

● Para controlar el personaje se dispondrá de unas flechas táctiles que serán con las que se mueva a el personaje dentro del laberinto hasta el objetivo, este estará al final de él, dónde habrá un objeto relacionado..

● Los niveles irán de menor dificultad a mayor dificultad. ● Cuando el personaje llegue a la meta, saltara un mensaje de enhorabuena y podrá

continuar al siguiente nivel.

Los parámetros utilizados para medir las dificultades del usuario serán:

-Los fallos de caminos implementaran con unos “flags” que están colocados específicamente dentro del laberinto para medir:

● fallos leves. ● fallos normales. ● fallos graves . ● fallos por volver a la dirección inicial.

-El tiempo en completar la prueba.

27

Page 28: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

FIGURAS INCOMPLETAS

Saldrá una foto en pantalla, una imagen de un objeto, persona, animal...a la cual le faltara algo fundamental que será lo que el usuario tendrá que reconocer. En cuanto a la interfaz solo tendrá que tocar en pantalla la parte cuál cree que le falta a la fotografía, y si ha acertado saltará un mensaje en pantalla indicando que ha acertado y un botón para que continúe con la siguiente imagen, en el caso de fallar saltará un mensaje informando dando nuevas oportunidades.

Los parámetros que utilizare para medir las dificultades del usuario serán:

● Dividiremos la pantalla en cuadraditos de error. Osea, cuando el usuario pulse un cuadradito de error automáticamente quedará recogido en una variable. Mientras más cuadraditos de error se hagan mayor precisión se tendrá al recoger los errores. En esta primera versión se han utilizado 4 cuadrados de error que rodearan al recuadro de acierto que será donde estará la respuesta correcta.

● Tiempo en completar el juego

ADIVINA

Aparecerá una imagen en mitad de la pantalla de un objeto, animal, persona…, y se mostrarán seguidamente debajo de la imagen 3 opciones con 3 botones asociadas que se referirán a la imagen. El usuario tendrá que elegir entre cual se acerca más al objeto de la imagen (a cual se refiere), y pulsar el botón que lo defina.

Los parámetros que mediremos serán:

● El tiempo que se tarda en completar el juego. (Dicho tiempo no es demasiado relevante para este tipo de juegos por lo que lo enviaremos a cero, así no influirá ni en el usuario final (experto), ni en la aplicación web que gestiona el guardado de datos)

● El número de fallos que ha tenido en la prueba.

Para finalizar la aplicación tenemos la parte que prepara los datos recibidos de los juegos, dicha parte no es visible al usuario. Esta se encargará de enviar a través de internet a los servidores que serán los que guardan esos datos en la base de datos a la espera que alguien se los descargue. Ósea contiene los algoritmos y métodos que implementan la comunicación con lo servidores. Este bloque tiene relación con la pantalla de credenciales, ya que necesitará preparar los datos de los resultados y juntarlos con los datos del usuario, para poder identificar los resultados de los juegos.

28

Page 29: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

6.1.2 Implementación en Unity3D

La propiedad cámara como se puede observar en a figura 2, es la visión del usuario, lo que se podrá ver de la aplicación por la pantalla. Se podrá mover por el espacio en 3D (x,y,z), obviando lo que no queremos ver, y enfocando lo que tiene más importancia, dando la sensación de que no están ciertas cosas que en realidad sí lo están. Es un elemento que no interactúa con el entorno, no influye en el, solo enfoca lo que hay. Es un elemento muy importante ya que se puede cambiar lo que vemos según la perspectiva con la que se mire.

Fig.2.Cámara

Se utilizará un Script como se puede ver en la Figura 3 para el ajuste de la pantalla al terminal

con una relación de aspectos que sea cómoda al jugador, así nos evitaremos tenerlo que configurar para cada dispositivo.

Fig.3.Relación de Aspectos

29

Page 30: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Las propiedades de audio se configuran en la ventana que vemos en la figura 4. Se podrá elegir entre las siguientes características:

- Pista - Filtros/Efectos - Volumen - Atenuaciones - Prioridades

Fig.4.Configuración propiedades de audio

30

Page 31: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

La propiedad Text mesh se utiliza para mostrar texto en pantalla. Esta propiedad se usa también para recoger información, debido a que no siempre veremos todo lo que hay dentro de la pantalla, ya que solo vemos donde mire la cámara, se puede utilizar para guardar información oculta en la pantalla y mostrarla cuando se quiera, Incluso se puede utilizar como parámetro de entrada de scripts. En la figura 5 se puede ver donde se configura.

Fig.5.Cuadro de texto

31

Page 32: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Para configurar objetos se usa la ventana que se puede ver en la figura 6. Esta propiedad utiliza tres clases de parámetros:

● Colliders : Utilizado para el contorno, para el definir el volumen que va a tener ese objeto. Esto supone que al colisionar dos objetos con colliders provoquen un efecto de choque, y por lo tanto obedecerá a la física que tenga programada. En el caso de no tenerlo se comportan como si fueran objetos fantasma.

● Rigidbody : Utilizado para dar masa al objeto. Al darle masa al objeto la gravedad le afectará. El parámetro gravedad también es configurable.

● Animator: Utilizado para definir la animación de un personaje. Con esta propiedad podemos dotar al personaje de vida, hacer como si andara, corriera o saltara. Para asignarle animación a un personaje también hay que hacer un diagrama de animación(Anexo 5).

Fig.6.Personajes y Animaciones

32

Page 33: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Una de la propiedades más usadas de Unity3D es el Quad, tanto para desarrollos en 2D/3D.Su principal función es de ser contenedor de texturas, para este proyecto se asemeja a una pantalla de cine en blanco en la que proyectamos una imagen.

Fig.7.Quad

El Mesh Renderer es una propiedad que afecta directamente al Quad del cual depende, pudiendo configurar las propiedades de la imagen proyectada, y elegir la imagen que se proyectará.

Fig.8 Mesh Renderer

El Mesh Collider es una propiedad que afecta directamente al Quad del cual depende,

pudiendo configurar el collider de dicho quad, para simular la física de una colisión

Fig.9.Mesh Collider

33

Page 34: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

6.1.2.1 Scripts

Menú: Script usado para configurar un menú principal, donde se podrá elegir entre varias opciones:

● Jugar ● Silenciar Música ● Salir

Fig.10. Script (menu principal)

34

Page 35: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Cambiar Escena

Script utilizado para cambiar de escena transcurrido un tiempo x, dicho tiempo será un parámetro configurable desde Unity3D

Fig.11. Script (cambiar escenario de juego)

35

Page 36: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Fundido Negro Siguiente Nivel

Usado para hacer un fundido en negro al terminar la escena y que el cambio de escena se vea suave y natural.

Fig.12. Script (fundido en negro de la pantalla al finalizar nivel)

36

Page 37: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Fundido Negro al Empezar el Nivel

Usado para hacer un fundido en negro al empezar la escena ,necesario también para que el comienzo de escena no se haga de forma abrupta.

Fig.13. Script (fundido en negro de la pantalla al empezar nivel)

37

Page 38: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Login

Script usado para crear un cuadro donde introducir los datos de usuario (nombre y apellidos). Se comprobará que se introduce un nombre y apellido válido, aunque no se comprobará si coincide con un usuario registrado en el servidor. Esto es debido a que si un usuario no quiere que quede registro de sus pruebas, podrá entrar en la aplicación sin dar sus credenciales correctas y jugar sin que el guardado de resultados los tome en cuenta a la hora de elaborar el informe para el profesional. Esto será un arma de doble filo debido a que si el usuario se equivoca introduciendo sus credenciales tampoco guardará esos datos y no avisará del error, por lo que se tendrá que tener un especial cuidado a la hora de introducirlas.

Fig.14. Script (credenciales)

38

Page 39: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Validación Login

Este script valida los datos introducidos. Si los datos están en blanco o tienen un formato inadecuado volverá a cargar la pagina para que los introduzca correctamente

Fig.15. Script (comprobación de credenciales)

39

Page 40: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Laberinto Codificación del juego del laberinto, codificando las acciones de los botones.

Fig.16. Script (Juego Laberinto)

40

Page 41: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Controlador Laberinto

Usado para definir los botones con los que controlaremos al personaje que recorrerá el laberinto. En la figura 17 se puede ver un ejemplo del controlador y en la figura 18 un ejemplo de configuración de eventos.

Fig.17. Ejemplo controller botón derecho, descriptor de eventos e icono usado

Fig.18.Sistema de configuración de propiedades de eventos

41

Page 42: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Controlador Errores

En la figura 19 se puede observar el script con el cual se controla el código de fallo que deberá informar dependiendo del tipo de error cometido. Este tipo está implementado en la figura 20, donde se puede ver como está definido el tipo de error según dependiendo de la gravedad (la gravedad en esta primera versión está definida según la posición del barco a hard code, pero en futuras habría que implementar un algoritmo que detectara estos errores)

Fig.19.Script (controlador codigo de errores)

42

Page 43: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Fig.20.Script (controlador tipo de errores según gravedad)

43

Page 44: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Enviar

Unity cuenta con una clase www, dicha clase establece las conexiones con el servidor y devuelve una respuesta de cómo ha ido. El siguiente script incluido en la aplicación muestra el método post que se utiliza contra el servidor local (podría apuntar a la IP/Servicio que se tenga establecido como servidor)

Fig.21.Script(enviar a servidor resultados de juego)

44

Page 45: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Adivina

Como se observa en la figura 22, tenemos la declaracion e inicializacion de variables que se van a usar en este juego. Objetos que contendrán imágenes, objetos controllers, variables auxiliares del juego de adivinar. En la figura 23 se muestra es script que se utiliza para imprimir por pantalla imágenes de forma aleatoria.

Fig.22.Declaracion e inicializacion de variables

45

Page 46: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Fig.23.Script ( muestra imágenes aleatorias)

46

Page 47: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Controlador Errores

En la figura 24 se puede observar parte del script con el cual se controla el código de fallo que deberá informar dependiendo del tipo de error cometido. En este script vemos cómo se controlan los fallos cuando se pulsa el botón 1, igualmente se hace con el botón 2 y 3. Se envía el usuario, el código de juego, los errores y un 0 en el tiempo de juego debido a que como se dijo no es relevante medirlo en este caso)

Fig.24.Script(controlador codigo de error)

47

Page 48: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Figuras Incompletas Como se observa en la figura 25, tenemos la declaracion e inicializacion de variables que se van a usar en este juego. Objetos que contendrán los Mesh, objetos controllers y variables auxiliares. En la figura 26 se muestra el script que se utiliza para contar lo errores dependiendo de qué parte toque el usuario la pantalla. Se puede ver como esta dividido en 4 partes más la parte siguiente que es la correcta. Haciendolo asi es mas facil imprimir errores en pantalla y imprimir ayuda en caso de que se necesite.

Fig.25.Script(declaracion e inicializacion de variables)

48

Page 49: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Fig.26.Script(controlador-contador de errores)

49

Page 50: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

6.1.3 Pruebas en Local

El nombre del paciente y el apellido tienen que coincidir con el nombre y apellido que el profesional tenga asignado en la aplicación para que la aplicación del profesional elabore las estadísticas. Este nombre y apellidos no tiene porqué ser su nombre real y su apellidos puede ser un alias, está diseñado para que en el caso de no querer que esa partida cuente para los resultados no los tome en cuenta si no meto las credenciales correctas. Aun si los resultados se quedarán guardados aunque no se cojan en las estadísticas.

Fig.27.Pantalla credenciales

50

Page 51: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Las pruebas en local las realizaremos por partes, debido a que son dos sistemas diferenciados. Para no cargar al servidor de trabajo en exceso, añadimos y removemos las rutinas que se ejecutarán en el servidor.

Fig.28.Añadir y remover proyectos

51

Page 52: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Conexión con el servidor

Fig.29.Código utilizado para el establecer la conexión con el servidor

El Logs están definidos de la siguiente manera: Usuario: Paciente Apellido:1 (El %20 No es más que la codificación de la separación) Juego: Siglas del juego al que se refiere Error: Codigo de error. Lo recoge un String, ya que puede ser un número o una letra, depende del juego. Tiempo total usando la aplicación: Este tiempo es una estimación de lo que el usuario usa la aplicación, no es del todo fiable debido que sigue contando aunque no esté jugando, osea si la aplicación se queda abierta seguirá contando, aunque se pueden descubrir muchas cosas sabiendo este tiempo (Horas de juego, malos usos de la aplicación, etc)

Fig.30.Log de la conexión con el servidor

52

Page 53: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Consola del servidor

Fig.31.Log de la conexión con la aplicación del servidor que guarda los datos

Parámetros en Debug

Fig.32.Desglose de los parámetro en modo depuración en eclipse

53

Page 54: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

6.2 E-A-S

Este bloque se centra en cómo se aborda el diseño de la aplicación para el profesional. Dicha

aplicación debe contar con una tecnología robusta y tener una acceso a ella fácil. Para ello se usará una tecnología con más años de experiencia que la usada para la aplicación Juegos Adaptados, debido que dicha App tendrá que gestionar y representar datos importantes. La representación de los resultados, tendrá que ser visual por lo que importará mucho el formato e interfaz y la capacidad de gestión de los datos. El proyecto de aplicación que más se adapta a nuestro requisitos es el desarrollo de una aplicación web.

Fig.33.Diseño Alto nivel aplicación profesional

Como se puede ver en el esquema, tendrá una etapa de login, donde cada profesional tendrá unas claves que identificaran a su usuario. Además cada sesión de usuario tendrá la lista de pacientes que esté tratando en ese momento (es decir cada profesional puede tener muchos pacientes, pero cada paciente solo tendrá un profesional asignado). Dentro de la aplicación el usuario tendrá la posibilidad de añadir y borrar pacientes. Dicha aplicación web se ejecutará en unos servidores, que es donde se tendrá almacenada la información para que cuando el usuario haga una petición desde su ordenador le envíe toda la información que necesite. Esto nos lleva a que se necesitará un sitio, una tecnología, y una manera de guardar estos datos ( los datos que tendremos que guardar son los que nos proporciona la App Juegos Adaptados desde plataforma Android con los resultados de los usuarios).

54

Page 55: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

6.2.1 Análisis y Diseño

Para esta App como ya se ha comentado se tienen una serie de requisitos. Será una app web por lo que se tendrá que usar una tecnología que corra en el servidor y pueda mantener una comunicación de petición/respuesta con las peticiones que haga el profesional a través de su navegador. La mejor forma de abarcar esta decisión es poniendo 2 requisitos más, que sea compatible con el servidor y que resulte sencillo el desarrollo. La mejor opción es su programación en JAVA, usando servlet y JSP para facilitar la combinación de html con java,y poder hacer una página web dinámica. Como servidor se usará el Apache Tomcat que es compatible con los servlet en Java y así la App quedará totalmente programada en Java que es una tecnología con muchos años y madurez. Además para que sea más fácil devolver las peticiones del profesional se usará JSP, junto al código CSS.HTML y Javascript.

Fig.35.Diseño con las tecnologías utilizadas en la aplicación profesional

55

Page 56: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Java EE

Usado para desarrollar y ejecutar software de aplicaciones web en lenguaje Java, ejecutándose sobre un servidor de aplicaciones que lo soporte. Es considerada un estándar debido a que los proveedores deben cumplir ciertos requisitos para declarar que sus productos son conformes a Java EE por ejemplo incluir JDBC, Servicios Web, XML,Java Beans, servlets, JavaServer Pages(JSP). Otros beneficios son la seguridad, escalabilidad, concurrencia y gestión de los componentes desplegados, esto significa que los desarrolladores pueden concentrarse más en la lógica de negocio que en tareas de mantenimiento.

JSP Tecnología que permite combinar código HTML estático con código generado dinámicamente

en un mismo archivo, consiguiendo separar datos dinámicos de nuestras páginas Web del HTML estático. En la práctica es tan simple como encerrar el código de las partes dinámicas en unas etiquetas especiales,la mayoría de las cuales empiezan con "<%" y terminan con "%>". Se almacenan en archivos de extensión .jsp. Tiene 3 tipos de elementos:

● Expresiones: Sirve para asignar un valor en la salida de la web ● Scriptlets: Código java que incluirá en el método ● Declaraciones: Sirve para declarar variables

56

Page 57: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

MAVEN

Herramienta para gestionar y construir proyectos Java. Similar Apache Ant con un modelo de configuración más simple, en formato XML. Maven utiliza un Project Object Model (POM) para describir el proyecto a construir, dependencias de otros módulos, componentes externos y el orden de construcción. La compilación del código y su empaquetado dependerá de la versión utilizada, las últimas se integran con eclipse por lo que no hace falta utilizar el shell del sistema. Construido usando una arquitectura basada en plugins permitiendo utilizar cualquier aplicación controlable a través de la entrada estándar, además está preparado para usar conexiones en red y provee soporte para obtener archivos de su repertorio online. Se usa sobretodo para lenguaje Java aunque existen plugins para para C/C++. Aquí tenemos un ejemplo de archivo POM.xml del proyecto creado con Maven

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>JuegosAdaptados</groupId> <artifactId>JuegosAdaptados</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <versión>3.3</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <versión>2.6</version> <configuration> <warSourceDirectory>WebContent</warSourceDirectory> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin></plugins></build></project>

57

Page 58: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

58

Page 59: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

SERVIDOR TOMCAT

Apache Tomcat servidor web escrito en Java que funciona como un contenedor de Servlets desarrollado por Apache Software Foundation, se suele usar en su mayoría en proyectos con servlets y JavaServer Pages (JSP). Es un software libre y gratuito usado en entornos con alto nivel de tráfico y alta disponibilidad. Además funciona en cualquier entorno que disponga de la máquina virtual Java.

59

Page 60: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Almacenamiento de archivos

Debido a que este proyecto es la primera versión utiliza un archivado de información en ficheros. En futuras versiones para optimizar el almacenamiento se tendrá que implantar una Base de datos en la que se ha propuesto su diseño más abajo.

Ejemplo Escritura

Ejemplo Lectura

60

Page 61: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros Cerrado fichero

No hay que olvidarse que el fichero una vez hayamos leído o escrito hay que cerrarlo con el siguiente script.

Fig.36.Diseño con el almacenamiento por ficheros incluido

61

Page 62: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Versión futura implementando el almacenamiento en base de datos Para versiones posteriores se propone la implementación de un entorno de almacenamiento

en Base de datos. Para la configuración establecida se usará JPA/HIBERNATE siendo la forma más cómoda de realizarlo. Se podría establecer un sistema de tablas relacionales, donde pueda hacer querys consultando las tablas en SQL, ayudándose de por ejemplo con Oracle SQL developer. JPA/HIBERNATE

Se puede establecer una interface común que es implementada por un proveedor de persistencia de nuestra elección (como Hibernate, aunque se puede elegir en cualquier momento el proveedor que más se adecue a nuestras necesidades).El proveedor es quien realiza el trabajo, pero siempre funcionando bajo la API de JPA.Se propone trabajar sobre Hibernate que está demostrado que es el proveedor más potente actualmente.Hibernate es una herramienta de mapeo objeto-relacional que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) o anotaciones en los beans de las entidades que permiten establecer estas relaciones.

Fig.37.Diseño con el almacenamiento en Base de datos

62

Page 63: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

6.2.2 Implementación Aplicación Web

El estilo CSS utilizado es el siguiente. Como se puede ver en la imagen se utiliza en el formulario el método GET para enviar peticiones. Dicho método se implementa en esta primera versión para poder controlar lo que se envía en la barra de direcciones aunque en versiones futuras se deberá utilizar el método POST por seguridad.

63

Page 64: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Código Java Servlets

El servidor ejecuta el servlet al cual llama el formulario y recoge los datos en este caso de nombre y pass, los valida y en el caso de que estén correctos guarda es sesión los datos del usuario y si no están registrados recarga la pagina index para que los vuelva a introducir (en futuras versiones se podrá meter un mensaje de error por credenciales incorrectas). Para cambiar el método GET por el POST, solo se tendrá que cambiar el tratamiento en vez de en el método doGet en el doPost.

64

Page 65: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

JSP del Menú Principal

Una vez se mantiene en sesión el usuario consultado en ficheros, se observa que gracias a los JSPs se puede y se mantiene en sesión pasandole como parametros los datos del usuario para poder usarlos en futuras pantallas(una vez terminada la sesión hay que cerrarla).

65

Page 66: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

6.2.3 Pruebas en Local La siguiente página se comunicara con el método al cual llama el gestor de servet cuando le piden una funcionalidad determinada por GET.

Fig.38. Página principal(/index) de la aplicación Web del profesional

Se traerá todos los usuarios, pacientes y resultados. Los usuarios serán con los que compara para ver si se ha logueado bien sino se redirecciona a la pantalla de registrarse.

Fig.39.Variables que crea el controlador para gestionar la sesión

66

Page 67: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Fig.40.Variables desglosadas para gestionar la sesión

Una vez devuelto los pacientes y los datos del usuario, entra al menu principal, donde se

podrá gestionar todo. Conocer información de mi perfil, listar los pacientes, añadir nuevo, borrar...Como se puede ver en la URL de arriba vemos las variables que se han enviado a el método GET, esto está hecho a propósito para que la aplicación quede más visual al hacer un prototipo, pero para versiones comerciales habría que codificar el valor de dichas variables o utilizar el método POST para que nuestras credenciales no queden tan expuestas.

Fig.41. Página Principal de la sesión del usuario

67

Page 68: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Fig.42. Lista de Pacientes

Fig.43. Seleccionando un paciente

68

Page 69: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Fig.44. Resultados por Prueba del paciente seleccionado

Fig.45. Resultado prueba Laberinto del paciente seleccionado, historial de juego

69

Page 70: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Fig.46. Resultado prueba Laberinto del paciente seleccionado, presentación de resultados

Fig.47. Resultado prueba Figuras Incompletas del paciente seleccionado, presentación

70

Page 71: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Fig.48. Resultado prueba Figuras Incompletas del paciente seleccionado, presentación

Fig.49.Resultado Totales porcentaje de veces jugado

71

Page 72: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Google charts

Framework de Google con el que se ha realizado todas las estadísticas web, gráficas, diseño

de KPIS, creada para desarrolladores web, usado en muchos campos como Google Analytics integrandolo como código Javascript. En la figura 47 se observa un ejemplo usado en la App.

Fig.50.Ejemplo de gráfico usado en la App

72

Page 73: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

7. MANUAL DE USUARIO

Objetivos del Manual……………………………………………………..……… 74 Especificaciones Usuario………………………………………………………… 74 Especificaciones Técnicas………………………………………………………… 74 Guía Usuario………………………………………………………………………. 75

Introducción…………………………………………………………………… 75 Instituciones y Carga ………………………………………………………….. 76

Credenciales……………………………………………………….................... 77 Menú Principal………………………………………………………………... 78

Extras …………………………………………………………………………. 79 Pre-Juego…………………………………………………………………...... 80 . Laberinto……………………………………………………….…………. 81

Adivina……………………………………………………………………. 82-83 Figuras Incompletas …………………………….………………………… 84-85

73

Page 74: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Objetivos del Manual

El objetivo de este manual de uso, es servir de guía al usuario en la utilización de la App que ejecutada en entorno Android con el nombre “Juegos Adaptados”, y que conozca sus especificaciones tanto de utilización como técnicas, y pueda usarla correctamente. Especificaciones Usuario

El entorno st adaptado hacia el usuario al que va dirigido, por lo que es será muy sencillo e intuitivo, aunque en esta primer versión no podrá ser usado por todos los públicos. Los requerimientos serán, capacidad para comprender reglas sencillas, capacidad para aprender, capacidades sensoriales (no está preparado para discapacidades sensoriales como por ejemplo ceguera, sordera...)

Especificaciones Técnicas

Las especificaciones Técnicas de la App:

● Programación: Código Abierto, adaptado para el Kernel de Linux de sistema Android ● Pantalla: Adaptable a muchas pantallas y resoluciones ● Almacenamiento: Almacenamiento de datos en servidor, no almacena datos de

partidas en local. ● Conectividad: Solo Wifi/Datos , no utiliza conectividad Bluetooh, infrarojos… ● Plataforma: Android ● Desarrollado: Unity3D ● Capacidad: kB ● Sistema Operativo soportado: ● Internet: Necesario Wifi o Datos ● Tactil: Necesario

74

Page 75: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Guía Usuario Esta es la primera pantalla que verá el usuario al entrar en la aplicación

Controles: 1. Botón de acción para empezar a jugar 2. Controlador de cierre de juego 3. Controlador de sonido

75

Page 76: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Seguidamente encontramos la siguientes pantalla después de la pantalla de inicio, a pantalla de organismo implicados en la App y la pantalla de carga. La primera únicamente para informar.

Y la segunda no tendrá ningún botón de acción, únicamente usada para carga de contenido. Controles: 1.Indicador de carga de contenido 2.Ilustraciones para amenizar el tiempo de carga

Esta es la pantalla de credenciales, donde en tendremos que meter Nombre de usuario y contraseña para que nos deje entrar en el juego. *Si el usuario no es válido por cuestiones de formato de nombre o contraseña te indicará que se ingrese bien *Si el usuario o la contraseña no existiera podrá entrar en el juego pero las estadísticas no se guardarán por lo que habrá que tener especial cuidado si quisiera que las estadísticas se registren correctamente.,

76

Page 77: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Controles:

1. Introducir por teclado Nombre de Usuario 2. Introducir por teclado Password 3. Controlador cierre de juego 4. Controlador Audio 5. Validar Nombre y password para cambiar de pantalla

Esta es la pantalla principal del juego, donde tendrás las opciones para elegir el juego que se quiera jugar

77

Page 78: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Controles: 1. Controlador de visionado de juego; al pulsarlo aparece debajo de él los juegos para

elegir sino se pulsa permanecerán ocultos. 2. Botón para acceder al juego “ADIVINA” 3. Botón para acceder al juego “LABERINTO” 4. Botón para acceder al juego “FIGURAS” 5. Controlador Audio 6. Controlador cierre de juego

78

Page 79: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Extras Al pulsar el botón de extras, el juego te dirige a esta pantalla donde puedes ver quién programó, diseño y desarrolló el juego. Pantalla únicamente informativa.

79

Page 80: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Pre-juegos Hay un tipo de pantalla, que llamaremos escenas pre-juego, en las cuales se dará una breve y

clara explicación de la reglas del juego. Estas pantallas aparecen durante unos segundos siempre antes de jugar al juego correspondiente.

80

Page 81: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Pantalla de juego LABERINTO:

1. Controles de dirección del barco, que será el personaje dentro del laberinto 2. Estrella dorada que indica la meta o el final del laberinto 3. Personaje dentro del laberinto, barco

81

Page 82: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Pantalla inicial del juego,ADIVINAR .

1. Mensaje de comienzo de juego, una vez se toque la pantalla comenzará el juego 2. Controlador de cierre de juego

82

Page 83: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Pantalla de juego, ADIVINAR

1. Controlador de cierre de juego 2. Imagen que el usuario tiene que reconocer 3. Pulsador en los cuales uno de ellos tendrá la respuesta correcta

Pantalla entre imagen e imagen en el juego Adivinar

83

Page 84: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

1. Mensaje de siguiente imagen, una vez se toque la pantalla pasará a la siguiente imagen Pantalla de juego, FIGURAS INCOMPLETAS

84

Page 85: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

1. Imagen incompleta, en la cual habrá que tocar donde se cree que est lo que le falta a la imagen

Si se acierta pondrá bingo y aparecerá el icono para aparecer a la siguiente pantalla. Si se falla aparecerá lo siguiente:

2. Controlador para pasar de pantalla 3. Mensaje informativo de acierto o error

85

Page 86: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

8. CONCEPTOS BÁSICOS DE SOCIOLOGÍA SOCIEDAD: Grupo autoperpetuante de personas que ocupan un territorio determinado e interactúan unos con otros sobre la base de una cultura común CULTURA : Producto característicamente humano de la interacción social. Puede ser material (maquinaria, artefactos, utensilios, edificios, etc.) o inmaterial (valores, normas, ideas y creencias y símbolos). GRUPO SOCIAL: Conjunto de personas cuyas relaciones se ajustan a un complejo de status y roles interrelacionados, comparten valores, actitudes y objetivos comunes, poseen conciencia de unidad y su existencia es reconocida como tal por los demás. Deben distinguirse de los “cuasi grupos” (categorías sociales y conglomerados). INSTITUCIONES SOCIALES : Conjunto de pautas de comportamiento, recurrentes y estables, que tienen como finalidad específica la satisfacción de necesidades sociales (alimentación, vivienda, abrigo, reproducción). Es por tanto un conjunto coherente de roles que cristalizan en el desempeño de una función social relevante. ESTRUCTURA SOCIAL : Suma integrada de grupos e instituciones sociales. Comprende por tanto, el conjunto de pautas de comportamiento institucionalizadas (roles) y el conjunto de grupos en cuyo seno se realizan las instituciones. POSICIÓN O STATUS : Unidad de la estructura social que puede definirse como el lugar que ocupa un individuo o un grupo en un sistema de relaciones sociales. ROL: Es una unidad de la cultura, que se define como un modelo estructurado de conducta referido a cierta posición de un individuo en un mundo interactuante. Se refiere por tanto a los derechos y obligaciones, a las normas aprobadas de conducta para los que ocupan dicha posición y se define como la conducta que se espera que realice un individuo cuando ocupa una posición determinada. DIFERENCIA SOCIAL : La diferencia social es un concepto biológico y social que hace referencia a que cada uno de los individuos que componen una sociedad es único e irrepetible: cada persona que vive en su seno es, identitariamente, irreemplazable DESIGUALDAD SOCIAL : La desigualdad social, por su parte, es un concepto social que se refiere a las ventajas y desventajas que un individuo, por diversas causas (sociales, económicas, etc.) posee respecto a otros. Estas ventajas y desventajas abarcan desde la vivienda (que puede ser lujosa, corriente, precaria o inexistente) la comida, la vestimenta o el nivel de educación accesible o inaccesible, entre otros factores.

86

Page 87: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

ESTRATIFICACIÓN SOCIAL : Se refiere a la estructura de las desigualdades en una sociedad, a las formas o pautas que adopta la desigualdad entre los miembros de esa sociedad y a los procesos por los que se generan, se mantienen y se modifican tales formas de desigualdad. EXCLUSIÓN SOCIAL : En general, se considera que este término supera al de pobreza, en el sentido de que no se define en términos puramente económicos sino de un tipo más amplio de participación en la sociedad. Aunque no existe acuerdo entre los autores, las causas de la exclusión social son multidimensionales que se enmarcan en un proceso de pérdida de integración o participación del individuo en la sociedad, en uno o varios de estos ámbitos Económico (en la producción o en el consumo) Político-legal (participación política, sistema administrativo, protección social, etc.) Social-relacional (ausencia de redes o problemática dentro de las redes sociales o familiares) VULNERABILIDAD : Es un concepto utilizado por algunos autores para describir una zona intermedia entre la integración y la exclusión social. Una persona vulnerable es aquella cuyo entorno personal, familiar-relacional, socio-económico o político- administrativo padece alguna debilidad y, en consecuencia, se encuentra en una situación de riesgo que podría desencadenar un proceso de la exclusión social. El nivel de riesgo será mayor o menor dependiendo del grado de deterioro del entorno. INCLUSIÓN SOCIAL : Es un proceso que asegura que todas las personas tienen las oportunidades y los recursos necesarios para participar plenamente en la vida económica, social y política y para disfrutar de unas condiciones de vida normales. La inclusión social está relacionada con la integración, la cohesión, la justicia social. Es la posibilidad de participación igualitaria de todos sus miembros en todas las dimensiones sociales (económica, legal, política, cultural, etc.

87

Page 88: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

9. ANEXOS

Anexo 1. Lista de versiones Android hasta la actualidad:

Letra Nombre Versión Traducción

A Apple Pie 1.0 Tarta de manzana

B Banana Bread 1.1 Pan de plátano

C Cupcake 1.5 Cupcake

D Donut 1.6 Rosquilla

E Éclair 2.0/2.1 Pepito

F Froyo 2.2 Yogur helado

G Gingerbread 2.3 Pan de jengibre

H Honeycomb 3.0 - 3.1 - 3.2 Panal

I Ice Cream Sandwich 4.0 Sándwich de helado

J Jelly Bean 4.1 - 4.2 - 4.3 Gominola

K KitKat 4.4 Kit Kat

L Lollipop 5.0/5.1 Piruleta

M Marshmallow 6.0 Malvavisco

N Nougat 7.0 Turrón

88

Page 89: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Anexo 2.Características del sistema Android

DISPOSITIVO Adaptable a pantallas de mayor resolución, VGA, biblioteca de gráficos 2D, biblioteca de gráficos 3D.

ALMACENAMIENTO

SQLite, una base de datos SENCILLA.

CONEXIÓN GSM/EDGE, IDEN, CDMA, EV-DO, UMTS,Bluetooth, Wi-Fi, LTE, HSDPA, HSPA+, NFC y WiMAX, GPRS, UMTS y HSDPA.

JAVA No hay una máquina virtual Java en la plataforma. Por lo que primero se compila en un ejecutable Dalvik y se ejecuta en la Máquina Virtual Dalvik, Dalvik es una máquina virtual especializada, diseñada específicamente para Android, como ya comentamos antes a partir de la versión 5.0, se utiliza el Android Runtime (ART).

MULTIMEDIA 3GP ,MP4, MPEG-4 SP, AMR, AAC, HE-AAC, MP3, MIDI,Ogg Vorbis, WAV, JPEG, PNG, GIF y BMP...

HARDWARE Soporta cámaras de fotos, de vídeo, pantallas táctiles, GPS, acelerómetros, giroscopios, magnetómetros, sensores de proximidad y de presión, sensores de luz, gamepad, termómetro, aceleración por GPU 2D y 3D.

ENTORNO DESARROLLO

Anteriormente se usaba Eclipse, pero se desarrollo un entorno. oficial Android Studio, descargable desde la página oficial de desarrolladores de Android.

GOOGLE PLAY Catálogo de aplicaciones gratuitas o de pago en el que pueden ser descargadas e instaladas en dispositivos Android sin la necesidad de un PC.

89

Page 90: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Anexo 3. Diagrama UML de la aplicación Juegos Adaptados

90

Page 91: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Anexo 3 . Diagrama guardar resultados

91

Page 92: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Anexo 3. Diagrama de aplicación Web

92

Page 93: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Anexo 4. Plataforma propuesta Juego de la Oca

93

Page 94: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

Anexo 5. Diagrama animación de personaje

94

Page 95: ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE ...oa.upm.es/52863/1/TFG_OSCAR_FERNANDEZ_BARROS.pdf · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN

Oscar Fernandez Barros

10. BIBLIOGRAFÍA

● Antonio Martin Sierra, Ramón Egido Garcia :Curso de programacion en JAVA-J2EE ● Documentacion Unity 3D: https://docs.unity3d.com/es/current/Manual/index.html ● Documentación Google charts: https://developers.google.com/chart/ ● Gómez Pastor, I. (2009). Discapacidad y dependencia. En Sánchez Ordóñez, R. (coord.). Psicología y dependencia de la ley a la intervención psicosocial. Salamanca ● Suárez Riveiro, J.M. (2011). Discapacidad y contextos de intervención. Madrid: Sanz y Torres

95