Resumen
La conciencia fonológica es la habilidad de reconocer y usar sonidos en el lenguaje hablado. El correcto desarrollo de esta habilidad es fundamental en el crecimiento de los niños y niñas de corta edad, pues es la base para aprender a leer.
Cuando los jóvenes desarrollan adecuadamente esta habilidad, les es más sencillo entender que ciertas letras corresponden a sonidos específicos. Esto se debe a que tienen experiencia separando palabras y combinando sonidos para formar palabras. Las dificultades en desarrollar la conciencia fonológica son proporcionales a las dificultades en el aprendizaje escolar.
Es por ello que es muy importante tener un seguimiento de cómo se está desarrollando. Para medir esta habilidad en las personas, se emplean unos tests donde un evaluador o profesional realiza una serie de cuestiones metalingüísticas y en base a los resultados, se pueden tomar las medidas necesarias para asegurar el correcto desarrollo de la conciencia fonológica.
El problema reside en que, a la hora de evaluar la conciencia fonológica, pueden haber múltiples sesgos que hagan que los datos de la evaluación no sean completamente válidos o realistas. Estos sesgos pueden ser muy variados, como pueden ser la pérdida de atención del evaluado por aburrimiento, pruebas mal adecuadas a la persona o incluso el propio cansancio del evaluador, que puede no evaluar de la misma forma al primer sujeto que al último.
Es por ello que se ha diseñado Logi, una herramienta que digitaliza el proceso de realizar una evaluación de la conciencia fonológica. Gracias a Logi se gamifica este proceso para que sea algo más divertido y de esta forma aumentar el grado de atención de los usuarios, evitando que se distraigan, y que no haya ningún factor que posibilite la imprecisión en el resultado de estos.
Abstract
Phonological awareness is the ability to recognize and use sounds in spoken language. The correct development of this skill is essential in the growth of young children, as it is the basis for learning to read.
When young people develop this skill properly, it is easier for them to understand that certain letters correspond to specific sounds. This is because they have experience breaking words apart and combining sounds to make words. The difficulties in developing phonological awareness are proportional to the difficulties in school learning.
That is why it is very important to keep track of how it is developing. To measure this ability in people, tests are used where an evaluator or professional performs a series of metalinguistic questions and based on the results, the necessary measures can be taken to ensure the correct development of phonological awareness.
The problem is that, when assessing phonological awareness, there may be multiple biases that make the assessment data not completely valid or realistic. These biases can be very varied, such as the loss of attention of the evaluated person due to boredom, tests that are poorly suited to the person or even the evaluator's own fatigue, who cannot evaluate the first subject in the same way as the last.
That is why Logi has been designed, a tool that digitizes the process of conducting an assessment of phonological awareness. Thanks to Logi, this process is gamified to make it more fun and in this way increase the degree of attention of users, preventing them from being distracted, and that there is no factor that allows inaccuracy in the result of these.
Motivación, justificación y objetivo general
La propuesta de trabajo escogida se basa en la realización de una aplicación que evalúe la conciencia fonológica de los niños. Al hablar de conciencia fonológica, nos referimos a la capacidad de reconocer y usar los sonidos en el lenguaje hablado. Esta habilidad es muy importante en edades tempranas ya que, entre otras cosas, es la base para aprender a leer. Es por ello, que el correcto desarrollo de esta capacidad es crucial. Para poder desarrollar esta habilidad de forma óptima, es necesario poder medir la conciencia fonológica en los niños. De esta forma, los expertos podrán analizar la situación en la que se encuentran los niños y poder tomar las decisiones correspondientes para el correcto desarrollo.
La idea fue propuesta por José Vicente Berna, coordinador del grado de Ingeniería Multimedia en la Universidad de Alicante, en una reunión donde debatimos mi propuesta de TFG1.
Al principio se descartaron tanto mi propuesta inicial como otras variantes ya que no se ajustaban a los estándares de un TFG, que es explorar un problema y resolverlo. Por lo tanto, en un momento dado de la reunión, se me presentó esta propuesta que desde el primer momento me resultó interesante, ya que varias personas de mi entorno familiar tienen relación con la educación infantil. Por lo tanto, me pareció una idea que podría llegar a ser de ayuda para ellos en un futuro y eso añadió motivación extra a la hora de escoger el proyecto.
Destacar que esta propuesta fue solicitada previamente a José Vicente Berna por un profesional del ámbito educacional infantil interesado en el estudio de esta habilidad, por lo que se dispondrá del conocimiento y validación de una persona experimentada en el sector. Es un proyecto viable ya que no requiere de unos conocimientos muy lejanos de los que dispongo ahora mismo, si no que requiere de un estudio exhaustivo de cómo diseñar la aplicación para evitar en la medida de lo posible, los sesgos involuntarios y la pérdida de atención de los usuarios. Ese será el reto.
Además, tengo grandes esperanzas de que pueda ser útil para aquellos que deseen estudiar o evaluar la conciencia fonológica de los niños de forma entretenida, amena y sencilla.
Se podría decir que es una mejora de algo que ya existe, ya que hay aplicaciones similares que se utilizan en los colegios a día de hoy, pero estas aplicaciones no están bien calibradas, ya que hay pruebas que no son las más adecuadas para analizar la conciencia fonológica, o el diseño
de las aplicaciones hace que el usuario pierda la atención en el test y se centre en otros elementos de la pantalla y se produzcan sesgos importantes.
Espero que al terminar el proyecto se demuestre mi formación y habilidad como ingeniero mediante unos resultados positivos a la hora de utilizar la aplicación con niños.
Agradecimientos
En primer lugar, quiero agradecer a José Vicente por la implicación que ha tenido en el proyecto y su aportación, cuestionando el más mínimo detalle a fin de encontrar el por qué de las cosas y mejorarlas.
En segundo lugar a mis compañeros de carrera con los que he pasado tardes y noches estudiando, con los que hemos superado todos los obstáculos mediante el trabajo en equipo y con los que he podido disfrutar de este camino.
Por último, pero no por ello menos importante, a mi familia y pareja por el apoyo incondicional, por estar en todos los momentos conmigo y por la fe ciega en mí.
Citas
Come what may
Moulin Rouge
Eres más valiente de lo que crees, más fuerte de lo que pareces y más inteligente de lo que piensas
Índice de contenidos
1. Introducción 14 2. Estudio de viabilidad 16 2.1. Análisis DAFO 16 2.2. Análisis de riesgos 17 3. Planificación 194. Estado del arte 20
4.1. Conciencia fonológica 20
4.1.1. ¿Cómo se evalúa? 21
4.2. Análisis de aplicaciones alternativas 22
4.2.1. Kokoro Kids 22
4.2.2. Aprender a leer con sílabas 24
4.2.3. MITA 26
4.3. Gamificación 31
4.3.1. ¿Qué es la gamificación? 31
4.3.2. ¿Por qué se utiliza esta técnica? 33
4.3.3. Aplicaciones que utilizan la gamificación 33
5. Objetivos 35
6. Metodología 37
7. Análisis y especificación 38
7.1. Características de los usuarios 38
7.2. Requisitos 40 7.2.1. Requisitos funcionales 40 7.2.2. Requisitos no funcionales 42 8. Diseño 44 8.1. Diseño de la persistencia 44 8.1.1. Cloud Firestore 44
8.1.2. Seguridad e integridad 48
8.2. Diseño arquitectura conceptual 48
8.3. Diseño API Rest 49
8.4. Diseño arquitectura tecnológica Front/Back-end 52
8.5. Diseño Interacción o Experiencia de Usuario 53
8.5.1. User Journey Maps 54
8.6. Diseño Interfaces 56
8.6.1. Inicio de sesión y registro 57
8.6.2. Panel principal 59
8.6.3. Panel de estadísticas 62
8.6.4. Evaluación del usuario 64
8.6.5. Configuración 65
8.6.6. Evaluación 67
8.6.6.1. Prueba 1: segmentación léxica 68
8.6.6.2. Prueba 2: segmentación silábica 69
8.6.6.3. Prueba 3: identificación de sílabas en palabras 71 8.6.6.4. Prueba 4: identificación de fonemas en palabras 73 8.6.6.5. Prueba 5: reconocimiento de sílabas iguales 74
8.7. Guías de estilos 75
8.7.1. Logotipo 75
8.7.2. Colores corporativos 76
8.7.3. Fuente 78
8.8. Diseño de pruebas y validación 79
9. Implementación 80
9.1. Sprint 1: aprendizaje y búsqueda de recursos 80
9.2. Sprint 2: construcción del backend y primeras funcionalidades 81
9.3. Sprint 3: inicios con React 83
9.5. Sprint 5: implementación de la evaluación 89
9.6. Sprint 6: final de evaluación y panel principal 94
9.7. Sprint 7: reunión y modificaciones 96
9.8. Sprint 8: interfaces de analíticas y implementaciones finales 101
10. Pruebas y validación 105
11. Resultados 106
12. Conclusiones y trabajo futuro 109
12.1. Comprobación de objetivos 109
12.2. Posibles mejoras y trabajo futuro 109
12.3. Impresiones personales 110
Índice de figuras
Figura 1. Esquema de un análisis DAFO 16
Figura 2. Primer juego Kokoro Kids 23
Figura 3. Segundo juego Kokoro Kids 23
Figura 4. Tercer juego Kokoro Kids 24
Figura 5. Primer juego Aprender a leer con sílabas 25
Figura 6. Segundo juego Aprender a leer con sílabas 26
Figura 7. Juego fácil MITA 27
Figura 8. Juego intermedio MITA 27
Figura 9. Juego difícil MITA 28
Figura 10. Pirámide de conceptos clave en el proceso de gamificación 31
Figura 11. Interfaz Kokoro Kids 34
Figura 12. Colección de usuarios 45
Figura 13. Colección de examinados 46
Figura 14. Colección test 47
Figura 15. Colección prueba 47
Figura 16. Sección de reglas de seguridad de la base de datos de Firebase 48
Figura 17. Arquitectura conceptual 49
Figura 18. Arquitectura tecnológica 52
Figura 19. Diseño Journey Map 54
Figura 20. Diseño de interfaces Figma 57
Figura 21. Registro 57
Figura 22. Registro móvil 58
Figura 23. Inicio de sesión 58
Figura 24. Inicio de sesión móvil 59
Figura 25. Panel principal 60
Figura 26. Panel principal vacío 61
Figura 27. Menú lateral responsive y panel principal vacío móvil 61
Figura 28. Panel principal móvil 62
Figura 29. Panel de analíticas 63
Figura 30. Panel de analíticas móvil 63
Figura 31. Evaluación de usuario 64
Figura 33. Configuración 66
Figura 34. Configuración móvil 66
Figura 35. Modal nombre jugador 67
Figura 36. Prueba 1 68
Figura 37. Prueba 1 móvil 69
Figura 38. Prueba 2 70
Figura 39. Prueba 2 móvil 70
Figura 40. Prueba 3 71
Figura 41. Prueba 3 móvil 72
Figura 42. Prueba 4 73
Figura 43. Prueba 4 móvil 73
Figura 44. Prueba 5 74
Figura 45. Prueba 5 móvil 75
Figura 46. Logotipo 76
Figura 47. Colores corporativos 77
Figura 48. Fuente 78
Figura 49. Sección de Functions de Firebase 82
Figura 50. Estructura del proyecto 84
Figura 51. Ejemplo de routing 84
Figura 52. Desarrollo panel principal 85
Figura 53. Desarrollo inicio sesión 85
Figura 54. Ejemplo de Reducer 88
Figura 55. Funcionamiento Redux 89
Figura 56. Ejemplo documento de Recurso 90
Figura 57. Desarrollo segmentación silábica 91
Figura 58. Desarrollo identificación silábica 92
Figura 59. Desarrollo reconocimiento sílabas iguales 93
Figura 60. Barra de progreso 94
Figura 61. Panel inicial 95
Figura 62. Finalización de evaluación 95
Figura 63. Exportación a CSV 96
Figura 64. Playground de identificación de sílabas 98
Figura 65. Verificación de identidad 99
Figura 66. Adición de iconos de audio 100
Figura 68. Evaluación individual 102
Figura 69. Versión dados segmentación silábica 103
Figura 70. Información genérica ejercicios 103
Figura 71. Información específica de ejercicios 104
Figura 72. Apartado de Hosting de Firebase 104
Figura 73. Supervisión de la aplicación 105
Índice de tablas
Tabla 1. Listado de riesgos 17
Tabla 2. Planificación temporal TFG 19
Tabla 3. Aplicaciones alternativas 29
Tabla 4. Gincana 32
Tabla 5. Tipos de usuarios 38
Tabla 6. Requisitos funcionales 40
Tabla 7. Requisitos no funcionales 42
1. Introducción
La conciencia fonológica es “la habilidad metalingüística2 que permite comprender que las palabras están constituidas por sílabas y fonemas3”. Es la base para aprender a leer, reconocer y usar los sonidos en el lenguaje hablado.
El término “fonológico” se refiere al sonido o la descodificación de sonidos necesarios para la comprensión de palabras. Por lo tanto, no se trata de lo que se ve, si no de lo que se oye. De hecho, pese a que es la base para aprender a leer, se podría desarrollar esta capacidad con los ojos cerrados.
Esta habilidad, cuyo desarrollo inició temprano en la edad preescolar, significa poder detectar palabras que riman y contar el número de sílabas que forman una palabra, o darse cuenta de las aliteraciones4. Por ejemplo, “Tres tristes tigres comen trigo en un trigal”. Este tipo de lenguaje, donde se suele repetir la consonante inicial en todas las palabras de una misma oración, suele utilizarse en canciones e historias infantiles.
Cuando los niños han desarrollado adecuadamente la conciencia fonológica, les es más sencillo entender que ciertas letras corresponden a sonidos específicos. Esto se debe a que tienen experiencia separando palabras y combinando sonidos para formar palabras. Las dificultades en desarrollar la conciencia fonológica son proporcionales a las dificultades en el aprendizaje escolar.
El problema reside en que, a la hora de evaluar la conciencia fonológica de los niños, no siempre se hace de forma adecuada, ya sea porque se producen sesgos involuntarios o porque las pruebas no son las adecuadas. Por ejemplo, el pedagogo encargado de las pruebas, puede que no evalúe de la misma forma al primer sujeto que al último, ya que el cansancio puede pasar factura. O incluso el hecho de que les evalúe un desconocido con el cual el niño o niña se sienta cohibido y por tanto sus respuestas no sean naturales, puede influir en cierto modo al comportamiento del joven.
Todos estos casos son posibilidades que pueden hacer que el test no tenga la precisión que se desea que tenga. Para ello, se propone en este TFG estudiar el problema de cómo se ha de
4 Figuras retóricas de dicción que consisten en la repetición de uno o varios sonidos dentro de una 3 Unidad fonológica mínima que resulta de la abstracción o descripción teórica de los sonidos de la
lengua.
realizar un test de evaluación de conciencia fonológica y proponer una herramienta que pueda evitar los sesgos que se pueden introducir si lo realiza una persona. La idea es gamificar este proceso para que sea algo divertido y de esta forma tener la atención completa de los usuarios, asegurando que dan el 100% en el test, que no se distraen, y que no hay ningún factor que posibilite la imprecisión en el resultado de estos.
2. Estudio de viabilidad
Antes de empezar la planificación del proyecto, es necesario realizar un estudio de viabilidad para saber si sus pretensiones u objetivos son viables, son pertinentes, son necesarios, etc. También es muy adecuado indicar los riesgos y los planes de contingencia para poder detectar y controlar cualquier posible amenaza que dificulte o retrase la realización del proyecto.
2.1. Análisis DAFO
El DAFO (de las iniciales de Debilidades, Amenazas, Fortalezas y Oportunidades) es una metodología de estudio de la situación de un proyecto, analizando sus características internas (Debilidades y Fortalezas) y su situación externa (Amenazas y Oportunidades) en una matriz cuadrada como muestra la figura 1.
Figura 1. Esquema de un análisis DAFO. (Fuentehttp://egesoftware.blogspot.com.es)
El análisis DAFO de Logi sería el siguiente: ● Debilidades:
o Primer proyecto individual de dimensión considerable o Investigación de posibles tecnologías desconocidas o Inexperiencia en el sector de la educación infantil o Organización
o Dificultad para confirmar la reducción de sesgos ● Amenazas:
o Factores externos que minimicen el tiempo dedicado al proyecto o Realizar una app que no se diferencie del resto
● Fortalezas:
o Motivación personal por el proyecto
o Ayuda de gente cercana con conocimientos en relación a la educación infantil
o Proyecto parcialmente guiado y en colaboración o Experiencia desarrollando proyectos similares ● Oportunidades:
o Se utilizará con niños y por lo tanto se hará uso de ella en un ámbito educativo y de investigación
o Poco explotado en el mercado o Proyecto destacable para el CV5
o Seguir desarrollándome como ingeniero a la vez que ayudo otras personas o Darme visibilidad en el mundo laboral
2.2. Análisis de riesgos
A lo largo de un proyecto que es de carácter anual (12 créditos equivalen a unas 300 horas), es adecuado que antes de iniciar nada, el alumno pueda tener en consideración riesgos como son el desconocimiento de tecnologías, posibilidad de enfermar levemente durante el curso, sufrir variaciones de carga de trabajo debido a asignaturas, etc. La propuesta de planes de contingencia puede facilitar el éxito del trabajo fin de grado.
Tabla 1. Listado de Riesgos
Posible Riesgo Probabilidad Consecuencias Plan de Contingencia
Trabajo
extrauniversitario Media Serio
Mantener una buena organización y administrar de forma adecuada el tiempo
Mal funcionamiento de servicios externos utilizados en la aplicación Baja Serio
Minimizar el uso del servicio externo en la medida de lo posible y en caso crítico buscar otra alternativa
Problemas de
salud leves Alta Tolerable
Llevar las tareas más avanzadas de lo normal para que la pérdida de tiempo por este tipo de causas no suponga un retraso en el estado del proyecto
Problemas de
salud graves Baja Crítico
Si imposibilita altamente el
rendimiento en el proyecto, reducir la aplicación a una versión mínima viable o meditar si entregar el TFG en otra convocatoria
Dificultad a la hora de investigar nuevas tecnologías
Medio Tolerable
Investigar diariamente y mantener una rutina de investigación para obtener soltura con lo desconocido y que no resulte un impedimento Funcionalidad
perdida a la hora de picar código
Alta Serio
Restaurar una versión anterior en la que la funcionalidad funcionaba correctamente mediante Git
Infraestimación de
tareas Alta Tolerable
Evitar las tareas genéricas y subdividirlas lo máximo posible, detallando cada una de ellas para saber en todo momento lo que hay que hacer al detalle y no pasar nada por alto
Sobreestimación
de tareas Alta Tolerable
Ajustar las tareas y dedicar el tiempo a otros objetivos que mejoren el producto
3. Planificación
A continuación, se realizará una planificación inicial para poder llevar un control temporal de las tareas a seguir y tener fechas límites establecidas en las que el trabajo ha de estar finalizado. De esta forma, tendremos una mejor organización y sabremos en todo momento que tarea requiere de nuestra atención y de cuánto tiempo disponemos para la correcta realización.
Esta planificación puede verse alterada por diferentes factores explicados anteriormente en la tabla de riesgos.
Tabla 2. Planificación temporal TFG
Contenidos Tiempo total Fecha límite fin
Motivación, justificación, objetivo general, Introducción
Estado del arte 3 semanas 18 octubre
Objetivos Metodología
Análisis y especificación
Presupuesto, estimaciones, planificación
2 semanas 1 noviembre
Diseño 1 mes 1 diciembre
Implementación 3 meses 1 marzo
Pruebas y validación Resultados
Conclusiones y trabajo futuro Referencias, bibliografía y apéndices Agradecimientos, citas, índices
1 mes 1 abril
Aunque dispongo del curso entero para la realización del proyecto, no tengo más asignaturas aparte del TFG, ya que todas las demás han sido finalizadas. Por lo tanto, dispongo de mucho tiempo al día para este proyecto. Es por eso que la planificación no ocupa todo el curso. Sin embargo, he añadido un margen de tiempo extra para tener un margen de tiempo extra en el caso de que ocurra un contratiempo.
4. Estado del arte.
Antes de buscar una solución al problema, es necesario hacer un estudio del estado actual de este problema, cómo se mide, si hay alguna solución en el mercado y si hay información que pueda ser de utilidad para conseguir un mejor resultado.
4.1. Conciencia fonológica
El término de conciencia fonológica es un concepto general usado para referirse al conocimiento consciente de que las palabras están compuestas de varias unidades de sonido, así como a la capacidad para manipular y reflexionar sobre las subunidades del lenguaje hablado como sílabas, unidades intrasilábicas y fonemas. Por ejemplo, saber qué coche y Carlos tienen en común el sonido /k/, o que la palabra pez es más corta que cemento manifiesta tener conciencia fonológica.
A su vez, la conciencia fonológica se engloba dentro de un conocimiento más amplio, el conocimiento metalingüístico. Este hace referencia a la conciencia general sobre el lenguaje, e incluye diferentes aspectos, tales como el reconocimiento de las actividades de lectura y escritura, la comprensión de las funciones del lenguaje y la conciencia de las características específicas o rasgos estructurales del lenguaje escrito. De los distintos tipos de habilidades metalingüísticas que pueden jugar un papel en el inicio lector, la conciencia fonológica ha atraído la máxima atención en el campo de investigación sobre la lectura. El aprendizaje de la lectura exige emparejar unidades sonoras y gráficas, por lo que es necesario que los niños desarrollen la capacidad para analizar la estructura fonológica de la lengua. Así, numerosos estudios sugieren que la ausencia de conciencia fonológica es un factor explicativo de las dificultades de aprendizaje, en el proceso de adquisición de la lectura y escritura. (J. Márquez & P. de la Osa Fuentes, 2003, p. 358).
Estudios neuropsicológicos han mostrado estrecha relación entre deficiente desarrollo de esta y trastornos del aprendizaje lector (L.M. Eslava & J.E. Cobos, 2008, p. 7, 8) y evaluaciones neurofisiológicas en disléxicos comparados con lectores normales han mostrado, frente a tareas de conciencia fonológica, claras diferencias de funcionamiento en áreas cerebrales ligadas al lenguaje (L.M. Eslava & J.E. Cobos, 2008, p. 9).
4.1.1. ¿Cómo se evalúa?
Como hemos visto, reconocer rimas, identificar sonidos iniciales y finales en las palabras, fraccionar en sílabas las palabras, etc., son algunas de las conductas relacionadas con esta habilidad. Hay que tener en cuenta que no se puede medir la conciencia fonológica de la misma forma para niños de diferentes edades, ya que hay habilidades que se adquieren a medida que pasa el tiempo. Por ejemplo, alrededor de los tres años, los niños son capaces de reconocer dos palabras que riman de forma innata. En cambio, la habilidad para eliminar sonidos dentro de las palabras se adquiere cerca de los 8 años. Es por ello, que poner un ejercicio de eliminar sonidos a un niño de 3 años, no sería realista, pues lo normal sería que fuese incapaz de hacerlo. (L.M. Eslava & J.E. Cobos, 2008, p. 11).
En un estudio realizado (Lewkowicz, 1980; Stanovich et al., 1984; Yopp, 1988) se identificaron diez tareas que implican conciencia fonológica:
● Emparejar sonidos y palabras, ej. ¿Comienza sol con /s/?
● Emparejamiento de palabras, ej. ¿Comienza sol con el mismo sonido que sal? ● Reconocimiento y producción de rimas, ej. ¿Rima mar con par?
● Pronunciación de un sonido aislado de la palabra, ej. ¿Cuál es el primer sonido de sol? ● Producción en orden de los sonidos correspondientes a los fonemas de la palabra ej.
¿Cuáles son los sonidos de la palabra sol?
● Contar fonemas, ej. Golpetea una vez por cada sonido de la palabra sol. ● Combinación, ej. ¿Qué palabras forman los sonidos /s/, /o/, /l/?
● Supresión de fonemas en la palabra, ej. Di flor, ahora inténtalo decir sin el sonido /l/. ● Especificar qué fonema ha sido suprimido, ej. Di casa, ahora di asa. ¿Qué sonido se ha
quitado en la segunda palabra?
● Sustitución de fonemas, ej. Di sol, ahora cambia el sonido /s/ por el sonido /b/ y di la palabra resultante.
En general, se reconocen dos aspectos fundamentales a la hora de evaluar la conciencia fonológica y que determinan la dificultad de las tareas (J. Márquez & P. de la Osa Fuentes, 2003, p. 360). Por lo tanto, al variar uno de los aspectos, la dificultad de la prueba cambiará. Estos aspectos son los siguientes:
(a) los procesos cognitivos que el sujeto tiene que activar para conseguir alcanzar los objetivos propuestos.
4.2. Análisis de aplicaciones alternativas
Hay muchas aplicaciones en el mercado que no son exactamente lo que este proyecto busca, pero que guardan mucha similitud y pueden ser útiles a la hora de diseñar nuestra aplicación ya que van dirigidas al mismo público y van enfocadas a desarrollar las capacidades de los niños/as.
Por lo tanto, ya que no hemos encontrado ninguna aplicación existente cuya finalidad sea la de evaluar la conciencia fonológica de los niños, hemos estudiado aplicaciones que desarrollen este tipo de capacidad en vez de evaluarla, ya que se podrá extraer información valiosa en relación a las pruebas y como las gamifican para hacer del aprendizaje un proceso divertido para los niños y niñas. Se han recogido tres aplicaciones de la Play Store con buenas valoraciones y las hemos analizado para descubrir cómo interactúan y captan la atención de los usuarios.
4.2.1. Kokoro Kids
Kokoro Kids [4] está diseñada para poder estimular las habilidades cognitivas de los hijos pequeños y está pensada para que los padres gestionen y controlen la aplicación. Dependiendo de la edad, se elabora un plan diferente de actividades de las que se pueden listar actividades lógico-matemáticas, inter e intrapersonales-emocionales, lingüístico verbales, naturalistas, espacio-temporales, artísticas y cognitivas básicas.
Se basa en mini juegos de los cuales hemos probado 3 de ellos, ya que sólo permite jugar a tres tipos de juego diferentes en un mismo día con la suscripción gratuita y hay demasiados juegos como para analizarlos todos.
En el primer mini juego probado, imágen del cual podemos encontrar bajo este párrafo, el usuario ha de colorear elementos que se nos muestran en pantalla en un lienzo basado en cuadrados o píxeles. Disponemos en un lateral de la pantalla el elemento ya coloreado para que el usuario pueda ver cómo debería de ser el resultado final. Estas celdas se van rellenando del color seleccionado sólo si es correcto el color que pertenece a la casilla. La retroalimentación auditiva es bastante frecuente ya que cada vez que se erra con un color a la hora de pintar, se emite una voz de lamento. Y, por otra parte, cuando se completa el dibujo, se felicita al usuario tanto visualmente como verbalmente.
Figura 2. Primer juego Kokoro Kids. (Fuente:Kokoro Kids app)
En el segundo mini juego, el usuario ha de decorar un árbol de navidad cogiendo objetos de una mesa y colocándolos en el árbol de navidad. En ningún momento se nos proporciona ningún tipo de instrucción, cosa que me resultó un tanto extraño. Cabe la posibilidad de que sea a propósito para poner en práctica la intuición del usuario. Podemos ver un ejemplo visual del segundo mini juego a continuación.
Figura 3. Segundo juego Kokoro Kids. (Fuente:Kokoro Kids app)
El tercer mini juego consiste en una prueba de memorización donde el usuario tiene que recordar un patrón y recrearlo. Se nos presentan en pantalla cuatro círculos cada uno de un
color diferente, un personaje que será el que cree el patrón a seguir y el resultado actual de las acciones del usuario en la parte superior. El mini juego va por rondas, donde el personaje irá tocando un círculo por cada ronda. Y, a su vez, por cada ronda, el usuario ha de mimicar el patrón. A continuación, podemos ver un ejemplo del tercer mini juego en la siguiente imagen.
Figura 4. Tercer juego Kokoro Kids (Fuente:Kokoro Kids app)
Kokoro Kids[4] es una aplicación muy cuidada, el nivel de acabado es bastante alto y presenta un modelo de negocio bien planteado. El diseño de las interfaces es intuitivo, agradable y colorido, proporcionando una buena experiencia de usuario. Como parte negativa, los tiempos de carga son excesivos y la aplicación tiende a ser lenta en ciertos momentos de transición, apareciendo una pantalla blanca.
4.2.2. Aprender a leer con sílabas
Aprender a leer con sílabas [5] está hecha para dar a entender a los niños que las palabras están divididas en unidades pequeñas llamadas sílabas y de esta manera adquirir la capacidad de separarlas.
En el primer juego se trabaja con la sonoridad de las consonantes cuando van acompañadas de las vocales. Antes que nada, se nos proporciona una breve explicación de cómo suena una consonante y luego como suena cuando precede a una vocal. Para facilitar la enseñanza, los ejemplos son tanto sonoros como visuales. Por ejemplo, para la sílaba ‘TA’, primero pronuncia como se dice y luego pone un ejemplo donde se incluya en una palabra como TA-ZA y además de pronunciar la palabra, muestra la imagen de una taza.
Después de la explicación, se pasa al ejercicio donde se nos plantea una palabra a la cual le falta una sílaba, y tenemos que colocar la sílaba correspondiente. En la pantalla se encuentran varias sílabas que se pueden arrastrar y colocar en la palabra, también hay una imagen en el centro que corresponde a la palabra que se quiere completar. Por ejemplo, en la palabra MUELA, se nos facilita MUE- y tenemos que completar la palabra con la sílaba -LA. Además, veremos en pantalla la imagen de una muela para facilitar al niño/a la tarea. Cada vez que se pincha en una sílaba, esta es pronunciada, al igual que al pinchar la imagen de la muela, se pronuncia la palabra. Al acertar una palabra se retroalimenta al usuario con la enhorabuena verbalmente. Este juego no tiene fin y se repite hasta que el usuario lo deja.
Figura 5. Primer juego Aprender a leer con sílabas (Fuente:Aprender a leer con sílabas app)
Otro juego que hay que resaltar es el de contar las sílabas de una palabra. Para ello, primeramente, se explica verbalmente lo que hay que hacer. Para ayudar al niño/a, por cada sílaba se da una palmada, es decir, se muestra una animación de una palmada y se escucha el sonido de la palmada. En el juego se muestra la imagen de la palabra que se va a decir y se pronuncia la palabra. A la derecha se nos muestran los números del 1 al 4 referenciando la cantidad de sílabas, uno de los cuales, tendrá que ser seleccionado.
Figura 6. Segundo juego Aprende con sílabas (Fuente:Aprende con sílabas app)
Por lo que hemos visto, podemos decir que la aplicación incluye instrucciones, muestra los resultados en cada uno de los juegos, tiempo, intentos y gran cantidad de imágenes con sus respectivos sonidos para que los niños se entretengan jugando. La interfaz no es muy intuitiva ya que, por ejemplo, el botón para ir al menú principal cambia de sitio dependiendo de donde estés en la aplicación y cancela por completo cualquier actividad que estés haciendo. Además, no da indicios de que es el botón para ir al menú principal y causa confusión. Visualmente está menos trabajado que Kokoro Kids.
4.2.3. MITA
MITA es una plataforma gamificada para la terapia del lenguaje avanzada, cuyo objetivo principal es el de entrenar la capacidad de síntesis ya que la capacidad mental de integrar objetos mentalmente es fundamental para el lenguaje, la cognición, la inteligencia y la función ejecutiva. Al igual que en uno de antes, se adapta el plan a la edad del niño. Hay tres niveles de dificultad, fácil, intermedio y avanzado.
Entre los de categoría fácil, podemos encontrar juegos para aprender las sintaxis con preposiciones, atención a las pequeñas diferencias en las formas, identificar diferentes patrones y emparejar objetos similares. Antes de empezar se nos proporciona una serie de instrucciones escritas donde explica al detalle cómo funciona el juego. En todo momento hay retroalimentación verbal.
Figura 7. Juego fácil MITA (Fuente:MITA app)
Entre los de categoría intermedia, podemos encontrar juegos para aprender números y operaciones matemáticas, integrar dos objetos en una imagen unificada, encontrar el objeto que es diferente de los demás y aprender una nueva categoría de opuestos.
Figura 8. Juego intermedio MITA (Fuente:MITA app)
Entre los de categoría difícil, podemos encontrar juegos para aprender las preposiciones espaciales, comprender las relaciones temporales entre eventos, desarrollar el trabajo de memoria auditiva, escuchar una historia y responder a las preguntas, encontrar patrones desarrollando las habilidades de lógica y muchas más.
Figura 9. Juego difícil MITA (Fuente:MITA app)
Después de una breve toma de contacto con estas tres aplicaciones, podemos ver varias diferencias entre ellas, pero en general todas ellas tienen unos puntos básicos en común. Estos son los siguientes:
● Retroalimentación verbal y visual siempre que pueda aportar alguna utilidad o pueda ser un estímulo. Hay que diferenciar que gran parte de la retroalimentación es a causa de que son aplicaciones para el desarrollo y no para la evaluación, eso no significa que la retroalimentación no se haya de aplicar en las evaluaciones, pero muchos de los casos en los que se usa la retroalimentación en este tipo de aplicaciones, no son aplicables a las evaluaciones. Por ejemplo, en las tres aplicaciones estudiadas, cuando el usuario falla en un ejercicio, se le notifica el error para que pueda corregirlo, tenerlo en cuenta y aprender. Sin embargo, en una evaluación no se busca esto, lo único que se busca es que el usuario complete la evaluación para luego poder sacar conclusiones, independientemente de si el usuario lo ha hecho bien o mal. Es por ello que se puede considerar el proporcionar una ayuda mínima a la hora de hacer las pruebas, pero
nunca notificar al usuario de si ha acertado, fallado o se le permita una segunda oportunidad.
● Interfaz infantil y colorida en cuanto a los juegos. Todas las aplicaciones tienden a la sencillez, evitando funcionalidades innecesarias y elementos extra. En muchos casos buscan símiles o metáforas para dar a entender un elemento de la interfaz al usuario. ● Ejemplificación con elementos de la vida cotidiana. Tanto en las instrucciones previas a
los ejercicios como a la hora de hacer los ejercicios, se tiende a mostrar ejemplos o pistas mediante elementos comunes de la vida cotidiana. Por ejemplo, que en un ejercicio de sumar 2 + 3, al lado de la operación, se muestran 5 caramelos.
A su vez, se ha hecho un listado de varias aplicaciones con funcionalidades interesantes que pueden ser consideradas a la hora de diseñar una solución. Muchas de estas aplicaciones no tienen relación con la conciencia fonológica, pero tienen ciertas funcionalidades y diseños que pueden ser interesantes.
Tabla 3. Aplicaciones alternativas
Nombre Asunto Objeto de interés o
Referencia BrainPOP: película del Día Películas animadas diarias
relacionadas con eventos actuales, hechos históricos, personalidades, fechas importantes y demás acontecimientos
importantes. Después de cada película hay un cuestionario.
Tras el cierre de etapas o pruebas puede utilizarse para crear una recompensa
Academons Lecciones educativas con
barra de progreso
Evolución del proceso, estructura y captación del interés. Gamificación LearnEnglish Kids: Playtime Lecciones educativas con
mapa de progreso simulando un mundo. Modelo
gamificado estilo Super Mario Game Boy
Evolución del proceso, estructura y captación del interés. Gamificación
Pupitre Lecciones educativas clasificación por pestañas
Evolución del proceso, estructura y captación del interés. Interacción sencilla y accesible mediante el arrastre de elementos como forma de interacción y evolución intuitiva Habitat the game Cuidado de mascota estilo
Tamagochi en 3D
Motivación para superar las pruebas y poder ganar recompensas para cuidar a la mascota. La mascota, al igual que en el ámbito educativo, puede acompañarnos desde el principio y tematizar la aplicación
Grandes Retos app Minijuegos con contenidos transversales como el medio ambiente, la alimentación e higiene
Minijuegos entre pruebas. Seleccionable en función del destinatario
The Habit Hub Organización y hábitos para cumplir objetivos y metas
Pueden incorporarse recomendaciones predefinidas por el
entrevistador hacia la rutina del usuario. Por ejemplo, recordar descanso, pautas de trabajo o resolución de la prueba.
Edupils Micro autoformación del
usuario dirigida a adquirir habilidades, destrezas y competencias digitales docentes. Enfocada al entrevistador
4.3. Gamificación
Uno de los objetivos de este proyecto es el de poder gamificar las pruebas y que los niños y niñas no las vean como un test o una obligación, sino como un juego. De esta forma estarán motivados a la hora de hacer las pruebas, se divertirán más y tendrán un mejor rendimiento. Para tener una mejor base, vamos a investigar los fundamentos de la gamificación y el por qué se debería de aplicar esta técnica.
4.3.1. ¿Qué es la gamificación?
El término gamificación es un anglicismo del inglés gamification. Consiste en el uso de técnicas, elementos y dinámicas propias de los juegos y el ocio en contextos ajenos a éstos, con el fin de potenciar la motivación, así como de reforzar la conducta para solucionar un problema, mejorar la productividad, obtener un objetivo, activar el aprendizaje y evaluar a individuos concretos.
En el proceso de la gamificación, hay tres conceptos sumamente importantes que se han de abordar para conseguir una correcta gamificación de una actividad, estos son el uso de mecánicas, componentes y dinámicas. Estos tres conceptos están íntimamente ligados, ya que los componentes darán lugar a las mecánicas y éstas a las dinámicas, construyendo una pirámide jerárquica (F. Valda Sanchez & C. Arteaga Rivero, 2015, p. 67, 68). A continuación, se muestra una imagen de la pirámide de conceptos clave en el proceso de gamificación y las respectivas definiciones de cada nivel:
Figura 10. Pirámide de conceptos clave en el proceso de gamificación (Fuente:blog-gamificacion-wanna-play)
● Dinámicas: las dinámicas del juego responden a la pregunta de por qué el ser humano desea participar en una actividad lúdica. Estas pueden ser las emociones, la narrativa, las limitaciones, el sentido del progreso, el reconocimiento, la recompensa, la cooperación, el altruismo, la competencia. Este concepto corresponde a la cima de los conceptos clave en el proceso de gamificación.
● Mecánicas: las mecánicas del juego corresponden a las reglas y retos que propone el juego. Se pueden mencionar entre ellas la recolección de objetos, las comparativas y clasificaciones, los niveles, las respuestas o feedback, los premios, las transacciones, los turnos, los estados de juego de victoria, entre otros. Este concepto corresponde a la sección intermedia.
● Componentes: los componentes del juego son los recursos y herramientas que se utilizan para diseñar la actividad. Algunos de estos elementos son los siguientes: los logros, los avatares, las insignias, las luchas contra jefes, colecciones, combates, desbloqueo de contenidos, regalos, tablas de líderes, niveles, puntos, conquistas, gráficas sociales, equipos y mercancías virtuales. Este concepto es la base de todo proceso de gamificación.
En la siguiente tabla podemos ver un ejemplo de una actividad gamificada en la que se utilizan los 3 conceptos
Tabla 4. Gincana
GINCANA
Objetivos: fomentar el trabajo en equipo, estimular la inteligencia, aprendizaje de una materia
Dinámicas: emociones, progresión, relaciones
Mecánicas: colaboración, desafíos, recompensa, retroalimentación, competición Componentes: desbloqueo de contenidos, equipos, límites de tiempo, misiones, clasificaciones
Explicación: una gincana consiste en un conjunto de pruebas consecutivas de destreza e ingenio que se realizan por equipos a lo largo de un recorrido, donde el primer equipo en finalizar todas las pruebas, será el ganador. La gincana puede tratar múltiples temas, como el medioambiente o la salud, de esta forma los niños y niñas se divertirán a la par que aprenderán.
4.3.2. ¿Por qué se utiliza esta técnica?
¿A qué niño/a no le han dado una moneda para gastar en golosinas por haber ido a comprar al supermercado o haber hecho algún que otro recado? Este es uno de los muchos métodos que incentivan a los niños y niñas y les motiva a la hora de hacer ciertas actividades, independientemente de que las actividades no sean del gusto de los niños/as a priori. Este es sólo un caso en concreto de un ámbito en concreto, pero la gamificación es usada en todo tipo de ámbitos. Zichermann, (2012) afirma que ”este término es entendido como el uso de los elementos de los sistemas de juego, es así como está siendo usado para crear experiencias en campos de la salud, finanzas, gobernación, educación y sin fin de ramas. La gamificación toma todas aquellas que no son juego, para cambiarlas de manera creativa a un “juego” dándole sentido a la lúdica”.
El ámbito en el cual la gamificación es más conocida es el de la educación, donde la finalidad es la de convertir la enseñanza en un juego y no en una obligación. De esta forma los alumnos se divierten a la hora de aprender y su rendimiento será mayor.
La gamificación actúa como fuente de motivación estimulando la atención y haciendo más agradable la participación de las personas en ciertas actividades. Tareas que a priori pueden resultar complejas, pueden resultar simples cuando se estimula y refuerza una actitud más participativa, y puede aumentar el compañerismo, la comunicación y despertar interés en las actividades (Ion Ciganda Azkarate, 2018, p. 5).
En el caso de este proyecto, al utilizar esta técnica, se puede motivar a los usuarios a la hora de utilizar la aplicación, evitando el aburrimiento o la falta de atención. Si el usuario se aburre utilizando la aplicación, no estará concentrado por completo y el rendimiento será más bajo. Para este proyecto, que un niño se aburra, se resume en resultados sesgados a causa del bajo rendimiento o falta de motivación para hacer las pruebas. Y, lo que se busca con este proyecto, es encontrar la forma de digitalizar la evaluación de la conciencia fonológica de una forma en la que la aparición de sesgos sea la mínima posible, y para ello utilizaremos la gamificación.
4.3.3. Aplicaciones que utilizan la gamificación
Anteriormente se han mencionado aplicaciones que aplican el concepto de gamificación, como Kokoro Kids [4]. Esta aplicación utiliza la gamificación en el ámbito educativo, pues está diseñada para que los niños/as desarrollen sus capacidades cognitivas de una forma divertida jugando a juegos. Utiliza elementos como la progresión, retos, feedback, recompensas, avatares y niveles.
En la siguiente imagen podemos observar una de las interfaces de la aplicación de Kokoro Kids [4], donde se muestran las diferentes pruebas que se pueden realizar acorde con el nivel del usuario. Además, en la parte superior aparece una barra de progreso que va incrementando a medida que el usuario finaliza los ejercicios. Al llegar a cierto punto, se consiguen insignias y recompensas.
Figura 11. Interfaz Kokoro Kids (Fuente:Kokoro Kids app)
También podemos encontrar esta técnica en otros ámbitos que no son la educación. Por ejemplo, Starbucks tiene su propio método llamado My Starbucks Rewards [16], campaña para promover el consumo de sus productos a través de una tarjeta de puntos. A más productos consumidos, más estrellas acumuladas, y a más estrellas acumuladas, mayores recompensas puede canjear. De esta forma se incentiva al cliente a consumir más productos para luego poder obtener ofertas gratuitas.
También podemos encontrar esta técnica en el deporte con Nike Run Club [17]. Nike ha lanzado una aplicación que convierte el hecho de salir a correr en algo más que un simple ejercicio para quemar calorías. Con esta aplicación, el usuario puede ver los registros de toda la comunidad como velocidades, distancias recorridas y calorías quemadas durante la actividad física. De esta forma, el usuario compite contra sí mismo y toda la comunidad de Nike. Esta iniciativa mejora el compromiso de la persona al ver el rendimiento deportivo de la comunidad.
5. Objetivos
En esta sección se especificarán los objetivos que se han de cumplir para dar por finalizado el proyecto. Para ello, me he basado en el principio SMART propuesto por Doran para que los objetivos sigan una serie de especificaciones que nos ayuden a detallarlos de forma correcta. El principal objetivo de este proyecto es desarrollar una aplicación web que evalúe la conciencia fonológica de niños de entre 3 a 5 años de una forma más entretenida que los procesos convencionales. Para ello, se deberán de introducir en la aplicación una serie de ejercicios relacionados con el desarrollo de la conciencia fonológica. Este objetivo es el que engloba a todo el proyecto y por lo tanto se cumplirá cuando todos los demás objetivos estén cumplidos.
En cuanto a los subobjetivos, tenemos los siguientes:
● Obtener una interfaz intuitiva, sencilla y visual para que la interacción con los usuarios sea la mejor posible y evite perdidas de atención. Esta herramienta está destinada a ser utilizada por niños y niñas de entre 3 a 5 años. Al ser un público extremadamente joven hay que tener en cuenta que pueden distraerse fácilmente y no entender el funcionamiento de la aplicación si esta no se ha diseñado con cuidado. Es por ello, que la interfaz ha de ser lo más sencilla posible, sin estar sobrecargada, lo más intuitiva posible y que genere una experiencia de usuario adecuada para que un niño retenga la atención en su uso durante la prueba. A esto le añadimos una combinación de elementos y colores agradables y retroalimentación auditiva para que la experiencia sea mejor.
● Que sea una aplicación web y, por lo tanto, que sea utilizable mediante navegadores web. Además, adaptarlo a varios navegadores. La idea es que se pueda utilizar tanto en ordenadores como tablets, pues lo normal sería que el evaluador disponga de una tablet y la vaya cargando a los sitios donde va a realizar la evaluación, pero también se puede dar de que disponga de un ordenador portátil o incluso que haya un ordenador de sobremesa en el lugar donde se realiza la evaluación.
Además de los sub objetivos mencionados anteriormente, también se añaden otros subobjetivos a nivel personal, cuya relación con el proyecto es nula. Entre ellos se encuentran el aprendizaje de una nueva tecnología como es React para desarrollar la aplicación móvil. También, poner en práctica lo aprendido en mi formación como ingeniero multimedia y dar
solución a un problema mediante una serie de pasos como la contextualización del problema o análisis, investigación, idea de solución, diseño, implementación, comprobaciones y despliegue.
6. Metodología
Para afrontar este reto, se ha optado por una metodología ágil basada en Scrum6, pero en este caso, de forma individual ya que es un proyecto en solitario con la supervisión de un tutor.
Se realizarán iteraciones, donde en cada una de ellas habrá una serie de tareas programadas para ser realizadas durante el periodo que dure dicha iteración. Al acabar la iteración, se proporcionará un resultado completo que sea susceptible de ser entregado para su correspondiente revisión y feedback.
Para ello, se utilizará la herramienta Trello [18] que nos permitirá llevar un seguimiento de las tareas y ver en qué sprint nos encontramos, que tareas son las que hay que hacer por sprint, cuales están ya acabadas, en proceso, por empezar o pendientes. Además, habrá una sección genérica llamada product backlog en la que se depositarán todas las tareas del proyecto y cuando se vaya a empezar una nueva iteración, se le asignan las tareas que se consideren necesarias del product backlog. Esta sección nos permite en todo momento ver todas las tareas que hay, y poder tener una referencia más exacta de todo el trabajo que hay que hacer, lo que nos ayuda a la hora de repartir el trabajo.
Gracias a esta organización podremos ver a finales de iteración el resultado que tenemos y deberíamos haber tenido, lo que nos permite ver los problemas que hemos tenido y encontrar una solución, mejora o ajuste al problema.
7. Análisis y especificación
Antes de pasar a diseñar la aplicación, es necesario establecer los requerimientos y especificaciones. Para ello, utilizaremos el sistema IEEE 830 que nos facilitará una definición sistemática de aquellos aspectos que son necesarios tener en cuenta a la hora de diseñar nuestra solución de software. Se definirán aspectos relativos a requerimientos de rendimiento, de capacidad, funcionales, de interfaz con sistemas de terceros y limitaciones.
De esta forma, se detallarán todos los requerimientos y, por lo tanto, a la hora de diseñar se hará en base a lo especificado en este punto.
7.1. Características de los usuarios
Los usuarios serán las personas que hagan uso de la aplicación. En este proyecto se distinguen los siguientes tipos de usuarios:
Tabla 5. Tipos de usuarios
Tipo de usuario Usuario
Descripción Niños de entre 3-5 años
Habilidades Conocimientos informáticos escasos. Pueden
haber tenido contacto con móviles, tabletas y estar medianamente familiarizados con las aplicaciones, pero no se puede garantizar.
Actividades Usar la app con la cuenta de un tutor o
investigador para que se evalúe la conciencia fonológica.
Tipo de usuario Tutor
Descripción Persona propietaria de una cuenta en la
aplicación y que la utiliza para evaluar y obtener resultados de un grupo de niños
Habilidades Conocimientos del sector de la educación
fonológica. Utiliza su cuenta para que un usuario haga evaluaciones de la conciencia fonológica y poder consultar los resultados
Actividades Control de las actividades en las que
participa el usuario y obtención de resultados para un posterior análisis
Tipo de usuario Investigador
Descripción Persona propietaria de una cuenta en la
aplicación que obtiene los resultados de todos los usuarios. También puede evaluar. Dispone de las funcionalidades del tutor y de un control total de los datos de los usuarios de la plataforma.
Habilidades Conocimientos del sector de la educación
infantil y, en especial, de la conciencia fonológica.
Actividades Control de las actividades en las que
participan los usuarios y obtención de todos los datos de todos los usuarios de la
plataforma
Tipo de usuario Administrador
Descripción Propietario de la plataforma con derecho a administrar la aplicación.
Habilidades Conocimientos en el desarrollo de
aplicaciones web
7.2. Requisitos
En este apartado se especifican todos los requerimientos del proyecto, de los que se distinguen dos tipos de requisitos: los requisitos funcionales y los requisitos no funcionales.
Cada requisito ha de ser identificado por un ID único y, para ello, se utilizará el formato “tipo-usuario-número”. El tipo hará referencia a si es un requisito funcional RF o no funcional RNF, el usuario al principal usuario al que va dirigido el requisito, ADM para el admin, USU para el usuario, TUT para los tutores, INV para los investigadores y SYS para el sistema. Y, para finalizar, el número para identificar cada uno de los requisitos a medida que se vayan añadiendo.
7.2.1. Requisitos funcionales
Son los requisitos que hacen referencia a funcionalidades del sistema Tabla 6. Requisitos funcionales
Identificador RF-ADM-001
Usuario Administrador
Descripción Integrar un sistema detallado de logs para el análisis y monitorización del sistema
Identificador RF-USU-002
Usuario Usuario
Descripción Disponer de comunicación verbal hacia el
usuario durante las pruebas
Identificador RF-USU-003
Usuario Usuario
Descripción Ofrecer instrucciones antes de cada ejercicio
Usuario Usuario
Descripción Ofrecer recompensas después de X etapas
Identificador RF-TUT-005
Usuario Tutor
Descripción Registro y login
Identificador RF-TUT-006
Usuario Tutor
Descripción Proporcionar una prueba de evaluación al
usuario
Identificador RF-TUT-007
Usuario Tutor
Descripción Poder habilitar o inhabilitar la
retroalimentación durante las pruebas
Identificador RF-TUT-008
Usuario Tutor
Descripción Opción para exportar los resultados de los usuarios a formato .csv
Identificador RF-TUT-009
Descripción Poder consultar los resultados de los usuarios que han realizado las pruebas bajo su tutela o cuenta.
Identificador RF-SEXDR-010
Usuario Investigador
Descripción Poder consultar los resultados todos los
usuarios de la plataforma
7.2.2. Requisitos no funcionales
Tabla 7. Requisitos no funcionales
Identificador RNF-SYS-011
Usuario Sistema
Descripción Proporcionar flexibilidad a la hora de poder modificar las pruebas que realiza el usuario
Identificador RNF-SYS-012
Usuario Sistema
Descripción Diseño responsive. La plataforma deberá de
estar adaptada para poder hacer las pruebas con dispositivos móviles, tablets y ordenadores
Identificador RNF-SYS-013
Descripción Utilizar material con licencia válida y asegurar el cumplimiento del Reglamento General de Protección de Datos (GDPR)
8. Diseño
El capítulo de diseño es con diferencia el más importante del TFG. Podría decirse que es el corazón de dicho trabajo. En este punto se ha de diseñar la solución de forma que dé respuesta a todos y cada una de los requerimientos funcionales y no funcionales anteriormente establecidos.
8.1. Diseño de la persistencia
Para el diseño de la plataforma se va a hacer uso de Firebase [19] para diferentes aspectos, entre ellos la base de datos. Se han contemplado dos tipos de bases de datos que se nos proporciona desde Firebase [19]. Estos son Realtime Database [20] y Cloud Firestore [21], ambas NoSQL.
● Realtime Database: es la base de datos original, una solución eficiente y de baja latencia destinada a proyectos en los que los dispositivos necesitan estar sincronizados entre los clientes en tiempo real. La estructura de las bases de datos se basa en un árbol JSON.
● Cloud Firestore: es la base de datos más reciente. Aprovecha lo mejor de Realtime Database [20] con un modelo de datos nuevo y más intuitivo. Se pueden realizar consultas más ricas y rápidas [RNF-SYS-014], y el escalamiento se ajusta a un nivel más alto. Estructura los datos en documentos organizados en colecciones.
8.1.1. Cloud Firestore
De entre las dos, se ha escogido Cloud Firestore [21] principalmente por el hecho de cómo se estructuran los datos, considero que es una solución mucho mejor por el hecho de ser estructurados en documentos organizados en colecciones y no un simple árbol JSON, que puede llegar a ser un problema si se empieza a anidar información.
Además, hay que tener en cuenta que al igual que Realtime Database [20], mantiene los datos sincronizados entre los clientes a través de agentes de escucha en tiempo real y ofrece asistencia sin conexión por lo que permite que funcione sin importar la latencia de red ni la conectividad a Internet.
Otra de las grandes ventajas es que se almacenan en caché los datos que usa la plataforma de forma activa, por lo que la aplicación puede escribir, leer, escuchar y consultar datos aunque el
dispositivo se encuentre sin conexión. Y cuando el dispositivo vuelva a tener conexión, se sincronizan todos los cambios locales de vuelta a Cloud Firestore [21]. Esto puede ser de mucha utilidad para que una evaluación fonológica no se eche a perder porque la conexión se ha ido mientras el usuario realiza la evaluación y de esta forma se puede realizar la prueba sin miedo alguno.
Por otro lado, crea consultas superficiales para recuperar datos en el nivel del documento, sin la necesidad de recuperar la colección completa ni las subcolecciones anidadas [RNF-SYS-014]. También agrega criterios de orden, filtros y límites a las consultas para paginar los resultados. Para mantener los datos actualizados de la aplicación sin tener que recuperar toda la base de datos cada vez que haya una actualización, agrega agentes de escucha en tiempo real. Estos te notifican con una instantánea de los datos cada vez que los datos del cliente escucha para detectar los cambios y recuperan sólo los cambios nuevos. Este aspecto viene perfecto para que la información del superusuario puede actualizarse en todo momento de una forma óptima, ya que este usuario dispone de la información de todos los tests de la plataforma. Por lo que cada vez que un usuario realiza una evaluación a un niño, se actualizará también en el superusuario.
Por último nos proporciona un sistema de protección de datos con Firebase Authentication. Hay que tener en cuenta que es una base de datos no relacional que cuenta con un modelo propio. Es por ello que generalmente proporciona mayor libertad y velocidad respecto a las bases de datos relaciones [RNF-SYS-014]. Pero por contra, a la hora de modificar datos, es más costoso ya que habrá que buscar en todos los sitios donde se almacene la información a modificar.
(Fuente propia)
En primer lugar tenemos una colección de usuarios, donde almacenamos la información básica de un usuario. Destacar que el rol determinará si es un administrador, un superusuario o un usuario. Dependiendo del tipo de rol, la información a disposición del usuario varía. Un superusuario por ejemplo, puede ver todos los resultados de las evaluaciones de todos los usuarios. Sin embargo, un usuario, sólo puede ver los resultados de las evaluaciones hechas con su propia cuenta.
Figura 13. Colección examinados (Fuente propia)
Los examinados son todos los niños que realizan una evaluación en el perfil del usuario. Resaltar que un examinado no tiene por qué ser un usuario. Un usuario es aquella persona que tiene una cuenta para poder realizar evaluaciones de conciencia fonológica a otras personas, como por ejemplo un profesor de colegio o una académica que esté investigando la conciencia fonológica. Por lo tanto, los examinados son aquellas personas que realizan la evaluación en la cuenta de un usuario.
Para los examinados, interesa que haya una distinción por cada prueba que se realiza (id) y lo demás son datos de la persona que hace la evaluación, cómo el nombre, apellidos y edad. Todos estos campos enriquecen la información que se proporciona a los usuarios. El nombre y apellidos está más orientado a los profesores que están a cargo de una clase, ya que les interesa distinguir a sus alumnos y hacer un seguimiento individual. Sin embargo, para el superusuario, lo interesante son los resultados y no el individuo en específico. Finalmente todo examinado está vinculado con el usuario que le ha proporcionado la prueba, ya que sólo se
puede hacer una evaluación en la cuenta de un usuario. Este campo es necesario para poder enlazar la información con la cuenta del usuario para que luego pueda consultar los datos de las evaluaciones realizadas bajo su cuenta.
Figura 14. Colección test (Fuente propia)
La colección Test, recoge los datos de la evaluación completa del examinado que realiza una evaluación [RF-SEXDR-019][RF-SEXDR-010]. Entre los datos que agrupa esta colección tenemos la cantidad de pruebas que hay en el test, el tiempo que se ha tardado en completar el test por parte del examinado, el número de fallos totales, las ayudas solicitadas en total y el examinado al que pertenece el test.
Figura 15. Colección prueba (Fuente propia)
La colección Prueba recoge los datos de cada prueba en específico dentro de un test, es por ello que tiene información similar a la colección test, pero en este caso, para las pruebas en específico. [RF-SEXDR-019][RF-SEXDR-010]
Por lo tanto, en medidas generales, disponemos de pruebas que pertenecen a tests, tests que pertenecen a examinados y examinados que pertenecen a usuarios.
8.1.2. Seguridad e integridad
Una de las ventajas de utilizar Cloud Firestore es que nos permite determinar las reglas y normas para poder garantizar la seguridad de los datos. Mediante estas reglas podemos acotar el acceso a las bases de datos y asignar privilegios. En la siguiente imagen podemos ver un ejemplo de las reglas que proporciona Cloud Firestore, donde mientras se seguía desarrollando de forma local se dieron permisos de escritura y lectura.
Figura 16. Sección de reglas de seguridad de la base de datos en Firebase (Fuente propia)
A su vez, mediante la librería “node-firestore-import-export” se harán copias de seguridad almacenando los datos en un JSON.
8.2. Diseño arquitectura conceptual
El diseño de la arquitectura conceptual permite definir a grandes rasgos los módulos y bloques funcionales que contendrán la solución. Es una descripción de cómo se plantea desarrollar la solución y condicionará las tecnologías que posteriormente se utilizaran.
Figura 17. Arquitectura conceptual (Fuente propia)
El usuario se comunicará directamente con la aplicación web una vez iniciada la sesión. Posteriormente, mediante peticiones a una API propia se intercambiará información entre la aplicación y la base de datos.
8.3. Diseño API Rest
Para llevar a cabo este proyecto, se va a hacer uso de una API Rest propia, mediante la cual se establecerán qué recursos y cómo podrán ser intercambiados entre el sistema y el cliente. A continuación, se puede ver las llamadas que se tratarán:
Tabla 8. Llamadas API Rest
Tipo Endpoint Descripción
POST /registro Se envía un formulario de
registro y se crea una nueva cuenta de tutor
POST /login Se envía un formulario de
login y si las credenciales son correctas, el tutor o
investigador inicia sesión recibiendo un token de autenticación para las posteriores peticiones dentro de la aplicación mientras la sesión esté activa GET /tutor/:tutor/evaluaciones Si el tutor está identificado,
de las evaluaciones realizadas por los usuarios que han hecho la prueba en la cuenta del tutor
GET /tutor/:tutor/evaluaciones/ti
empo/:orden
Si el tutor está identificado, se devuelven los resultados de las evaluaciones
realizadas por los usuarios que han hecho la prueba en la cuenta del tutor, filtradas por tiempo de realización en el orden pasado por
parámetro
GET /tutor/:tutor/evaluaciones/e
rrores/:orden
Si el tutor está identificado, se devuelven los resultados de las evaluaciones
realizadas por los usuarios que han hecho la prueba en la cuenta del tutor filtradas por número de errores en total en el orden pasado por parámetro.
GET /investigador/:investigador/e
valuaciones
Si el investigador está identificado, se devuelven todos los resultados de todas las evaluaciones de los usuarios de la aplicación web, independientemente de qué tutor haya sido el examinador
valuaciones/tutor/:tutor identificado, se devuelven los resultados de las
evaluaciones de los usuarios que han hecho la evaluación en la cuenta del tutor pasado por parámetro
GET /tutor/:tutor/evaluaciones/:
usuario
Si el tutor está identificado, se devuelven los resultados de la evaluación realizada por el usuario pasado por parámetro, siempre y cuando ese usuario haya realizado la prueba en la cuenta del tutor
POST /tutor/:tutor/pruebas Si el tutor está identificado, se envían los resultados de una de las pruebas de una evaluación y se almacena. POST /tutor/:tutor/evaluaciones Si el tutor está identificado,
se envían los resultados de una evaluación de un usuario y los guarda en el perfil del tutor
DELETE /tutor/evaluaciones/:evaluac
ionId
Si el tutor está identificado, elimina los resultados de la evaluación que coincida con el ID pasado por parámetro. Si se elimina una evaluación, a su vez, se eliminarán los resultados de las pruebas correspondientes a esa
evaluación.
DELETE /tutor/:tutor Se elimina la cuenta del
tutor, borrando previamente los resultados de las
evaluaciones del tutor
8.4. Diseño arquitectura tecnológica Front/Back-end
En esta sección se va a concretar el diseño de la arquitectura tecnológica, donde se especificarán las tecnologías que van a ser utilizadas. Para ello, se va a aprovechar el diseño de la arquitectura conceptual realizado previamente.
Figura 18. Arquitectura tecnológica (Fuente propia)
Para empezar, se ha elegido un desarrollo web ya que nos permitirá hacer las evaluaciones fonológicas a través de un navegador web, independientemente del dispositivo utilizado para ello [RNF-SYS-012].
Se utilizará React [22] para la parte del front end. Es una librería basada en JavaScript que sirve para desarrollar aplicaciones web de una manera más ordenada y con menos código que si usas JavaScript puro o librerías como jQuery [23] centradas en la manipulación del DOM7. 7Interfaz que proporciona un conjunto estándar de objetos para representar documentos HTML, XHTML
Permite que las vistas se asocien con los datos, de modo que si cambian los datos, también cambian las vistas y es perfecta para desarrollar interfaces de usuarios. La principal ventaja de React [22] es la de tener un DOM virtual mediante el cual no es necesario renderizar toda la página de nuevo, sino solamente el componente o componentes que hayan sido actualizados [RNF-SYS-014]. Gracias a esto tanto la experiencia de usuario y la rapidez de carga de las páginas mejoran. Está basado en componentes, lo que facilita la escalabilidad y el mantenimiento de esta.
En cuanto al registro y login, se hará uso del SDK 8de Firebase [19] que aprovecha los estándares de la industria como OAuth y OpenID Connect9, por lo que se puede integrar sin problemas con el backend.
Para la parte del backend se hará uso tanto de Node [24] y Express [25]. En primer lugar, Node es un entorno que trabaja en tiempo de ejecución, de código abierto, multiplataforma, que permite a los desarrolladores crear toda clase de herramientas de lado servidor y aplicaciones en JavaScript. Luego, Express [25] es el framework web más popular de Node, y es la librería subyacente para un gran número de otros frameworks web de Node populares.
Para la base de datos se va a utilizar Cloud Firestore [21] como se ha mencionado previamente, aprovechando las utilidades que nos proporciona Firebase.
8.5. Diseño Interacción o Experiencia de Usuario
La experiencia de usuario es un componente muy importante de las actuales aplicaciones y suele ser además un factor de fracaso o éxito. La experiencia de usuario es un concepto todavía controvertido y polémico que muchas veces se asume desde los tradicionales de accesibilidad y usabilidad pero que en realidad actualmente es mucho más que estos conceptos.
La experiencia de usuario es el conjunto de factores y elementos relativos a la interacción del usuario con un entorno o dispositivo concretos, dando como resultado una percepción positiva o negativa de dicho servicio, producto o dispositivo. Dicha percepción depende no solo de los factores relativos al diseño (hardware, software, usabilidad, diseño de interacción, accesibilidad, diseño gráfico y visual), sino de aspectos relativos a las emociones, sentimientos, construcción y transmisión de la marca, confiabilidad del producto, entre otros.
8Conjunto de herramientas de desarrollo de software que permite a un desarrollador de software crear