TESIS GRADO -LAURA CANAVAL G

Page 1

Implementación de una herramienta de apoyo basada en principios de Gamificación para la mejora de la motivación en los procesos de aprendizaje de la programación en los primeros años de Ingeniería.

Laura Fernanda Canaval Garcia. laura.canaval@hotmail.com

Asesor: Jose Luis Jurado, PhD en ciencias de la computación

Universidad de San Buenaventura Colombia Facultad de Ingeniería Programa Académico Ingeniería de Sistemas Santiago de Cali, Colombia Mayo, 2019

1


Dedicatoria Mi tesis se la dedico con todo mi amor y cariño a Dios, por haberme permitido culminar esta meta, brindándome salud, discernimiento, paciencia para cumplir con mis objetivos. Mis padres Miguel A. Canaval C. y Anabel García N. por su apoyo moral, sus consejos, por la motivación permanente que me han hecho una persona de bien, por brindarme una carrera para mi futuro, pero más que nada por su amor. Mi hermano Miguel Ángel Canaval G. por su compañía y su ayuda en todo momento. Mi abuelo Eusebio Humberto García “Q.P.D” hoy más que nunca estas en mis pensamientos ya que fuiste y serás parte importante de mi vida, por tus consejos, animándome en aquellos momentos de debilidad, por creer en mí, recordaré siempre tu frase “ánimo, tú puedes” Mi abuela Beatriz Niño por enseñarme a ser fuerte y brindarme su amor incondicional.

Agradecimientos No ha sido sencillo el camino hasta ahora, pero al terminar esta etapa de mi vida, quiero expresar mi profundo agradecimiento a quienes con su amor, ayuda, apoyo y comprensión me alentaron a lograr esta hermosa realidad, MI FAMILIA. También mi mayor gratitud a mi profesor y tutor de tesis Ing. de Sistemas. Jose Luis Jurado, por haber creído en mí, por la orientación y ayuda que me permitió un buen aprovechamiento en el trabajo realizado para que esta tesis llegue a buen término y a cada uno de los profesores que me alentaron a seguir adelante. Agradezco a mis compañeros de semilleros que pertenecieron a la investigación del proyecto LENGUAGE CONQUERS, fue de gran ayuda. A todos los compañeros de la carrera, que desde el primer semestre nos hemos acompañado en los trabajos y hemos compartido muchas experiencias.

2


Resumen El semillero investigativo de Gamificación - LIDIS de la Universidad San Buenaventura Cali, propuso el desarrollo de una plataforma web gamificada el cual tendrán como objetivo generar una solución para los estudiantes de ingeniería que presentan problemas de aprendizaje o de aquellos que presentan una baja motivación a la hora de aprender a programar en el primer semestre de su carrera. El diseño de estrategias de juego es una línea de interés que ha tomado fuerza en diferentes áreas del conocimiento, marketing, economía, comercio, educación entre otras. La utilización de estrategias de juego para la educación es importante; los resultados de estas brindan beneficios para el docente y los estudiantes mejorando la participación y rendimiento académico de estos durante las clases, en comparación con la educación tradicional que hoy en día se encuentra en crisis y la desmotivación que se presenta en el aula de clase cada vez mayor; las estrategias de enseñanza basadas en el juego pueden contribuir al desarrollo y al mejoramiento de los procesos de atención, aprendizaje, concentración y comportamiento de los estudiantes creando experiencias positivas a la hora de aprender un tema específico y aumentando la motivación de los estudiantes por el aprendizaje. El uso de métodos que propicien una enseñanza en la que los alumnos utilicen su mente, organicen ideas, resuelvan problemas, etc, logrará que el estudiante aprenda de manera agradable y profunda, las estrategias de juego permiten pensar en diferentes alternativas para un problema, y favorece en el cambio de conducta que se diversifica en el intercambio grupal. El proyecto se originó a partir de una previa investigación realizada en el campo de la Gamificación, Aprendizaje basado en juegos y Juegos serios para mejorar el proceso de aprendizaje de los estudiantes, se desarrolló una propuesta de diseño de usabilidad y experiencia de usuario para generar una mejor percepción de la herramienta. Dentro de la Gamificación se encuentran tres procesos importantes, los cuales son: la motivación, ludificación y el compromiso, esta investigación se centrará en el primer nivel o proceso evaluando la participación como principal elemento de motivar al usuario en el uso de la aplicación por medio de estrategias de juego y el consumo de recursos académicos en el momento de apoyar el aprendizaje de los contenidos académicos. El presente documento describe un juego conocido como Language Conquers, diseñado con un método experimental denominado DeDalus, el cual ha sido usado para implementar una herramienta educativa, que permite a los estudiantes mejorar la participación en el aula de clases y adiestrarse en conceptos básicos de programación en diferentes lenguajes, mientras experimentan emociones en un juego tipo aventura.

3


Abstract

The Gamification Research lab - LIDIS of San Buenaventura University Cali, proposes the development of a gamified web platform which as a just as a response for engineering students who have learning problems or those who show a low Time to learn to program in the first semester of your career. The design of game strategies is a line of interest that has taken into account the different areas of knowledge, marketing, economy, commerce, education, among others. The use of game strategies for education is important; the results of these benefits provided by the teaching and the students improve the participation and the academic performance of these classes, the traditional education that nowadays is in crisis and the demotivation that is presented in the classroom every time mayor the strategies of Teaching is based on the game can be developed in the development and improvement of attention processes, learning, concentration and behavior of students. The use of methods that encourage teaching in which students use their mind, organic ideas, solve problems, etc., the best possible learning and strategies to respond to problems, and favors the change of behavior that is diversified in the group exchange. The game based learning and Sirous Games to improve the learning process of users, a usability design proposal and a user experience so you can improve your opinion. The perception of the tool. Within Gamification there are three important processes, which are: motivation, gaming and commitment, this research focuses on the first level or the process of evaluation of participation as a main element of the user's motivation in the use of the application in the middle of game strategies Original language, designed with an experimental method called DeDalus, which has been used to implement an educational tool, which allows students to improve their participation in the classroom and to train in the basic concepts of programming. in different languages, while we experience emotions in a Adventure type game.

4


GLOSARIO

5

Gamificación: [1] La Gamificación es una técnica de aprendizaje que traslada la mecánica de los juegos al ámbito educativo-profesional con el fin de conseguir mejores resultados, ya sea para absorber mejor algunos conocimientos, mejorar alguna habilidad, o bien recompensar acciones concretas, entre otros muchos objetivos.

Aprendizaje basado en juegos: [2] Se trata de una metodología innovadora que ofrece tanto a los alumnos como a los profesores una experiencia educativa diferente y práctica que se puede aplicar a una materia o tema o integrar varias asignaturas.

Juegos serios: [3] videojuegos cuyo propósito es la formación por encima del entretenimiento.

Motivación: [4] La motivación es un estado interno que activa, dirige y mantiene la conducta de la persona hacia metas o fines determinados; es el impulso que mueve a la persona a realizar determinadas acciones y persistir en ellas para su culminación.

DeDalus: [5] Modelo de proceso de juego.


TABLA DE CONTENIDO 1.

INTRODUCCIÓN

11

1.1.

Contexto

11

1.2.

Planteamiento del Problema

12

1.3.

Justificación del Problema

13

1.4.

Objetivo General

13

1.5

Objetivos Específicos

13

1.6

Descripción de la Solución

14

1.6.1

Proceso de Ingeniería

14

1.6.2

Productos de Software

16

1.6.3

Productos No Software

16

2. MARCO TEÓRICO

3.

2.1

DeDalus

18

2.2

Gamificación

19

2.2.1

Elementos de Gamificación

19

2.2.2

Tipos de jugadores

21

2.3

Aprendizaje basado en juegos

22

2.4

Motivación

23

2.5

Juegos serios

24

2.6

Antecedentes

24

PROCESO DE INGENIERÍA DE SOFTWARE

29

3.1

29

3.1.1 3.2 3.2.2 3.3

Modelo de proceso de desarrollo de software. Descripción de Iteraciones realizadas Educción de Requisitos Requisitos funcionales documentados Análisis y Diseño

29 32 33 33

3.3.1

Objetivos de Arquitectura y Limitaciones.

33

3.3.2

Requisitos No Funcionales.

34

3.4

Diseño de la Arquitectura.

36

3.4.1

Vista de alto nivel

36

3.4.2

Vista de procesos

37

3.4.3

Vista de desarrollo

41

3.1.1

Vista lógica

46

3.2

Patrones de Diseño Utilizados

48

3.3

Justificación de Diseño

48

3.4

Desarrollo

48

3.4.1

6

18

Tecnologías utilizadas

48


3.4.2 3.5

Tecnologías utilizadas y su Relación con los Atributos de Calidad. Prototipos del Software

3.5.1 3.6

4.

Desarrollo de prototipos Pruebas y Evaluación de Software

49 49 49 57

3.6.1

Casos de Prueba

57

3.6.2

Resumen Pruebas Funcionales

67

3.7

Acceso a la Aplicación

74

3.8

Estándares de ingeniería empleados durante el Proyecto

74

ANÁLISIS DE RESULTADOS

76

4.1

Análisis de Impactos

76

4.2

Utilización de herramientas

77

4.3

Análisis de diseño de componentes

77

4.4

Cumplimiento de Objetivos

77

4.5

Análisis de Impactos

85

4.6

Conclusiones

86

4.7

Experiencia de diseño en ingeniería de software

87

4.8

Trabajos Futuros

87

5.

REFERENCIAS

89

6.

ANEXOS

93

6.1.

Anexo 1: Modelo de diseño de estrategias de juego DeDalus

6.2.

Anexo 2: Especificación de Requisitos de Software - SRS

7

93 101


LISTA DE TABLAS Tabla 2.1. Dinámicas Tabla 2.2. Mecánicas Tabla 2.3. Componentes Tabla 2.4. Language Conquers VS antecedentes. Tabla 3.1. Iteración No 1. Tabla 3.2. Iteración No 2. Tabla 3.3. Iteración No 3. Tabla 3.4. Iteración No 4. Tabla 3.5. Iteración No 5. Tabla 3.6. Especificación y priorización de requisitos funcionales Tabla 3.7. Matriz de especificación y clasificación de requisitos no funcionales. Tabla 3.8. Versiones - pantalla login. Tabla 3.9. Versiones - pantalla inicio estudiante. Tabla 3.10. Versiones - pantalla crear curso. Tabla 3.11. Versiones - pantalla crear recursos. Tabla 3.12. Versiones - pantalla Recursos del tesoro. Tabla 3.13. Caso de prueba No. 1. Tabla 3.14. Caso de prueba No. 2. Tabla 3.15. Caso de prueba No. 3. Tabla 3.16. Caso de prueba No. 4. Tabla 3.17. Caso de prueba No. 5. Tabla 3.18. Caso de prueba No. 6. Tabla 3.18. Caso de prueba No. 7. Tabla 3.19. Caso de prueba No. 8. Tabla 3.20. Caso de prueba No. 9. Tabla 3.21. Caso de prueba No. 10. Tabla 3.22. Caso de prueba No. 11.

20 20 21 26 30 30 31 32 32 33 35 51 53 54 55 56 58 59 60 61 62 63 64 65 66 66 67

LISTA DE FIGURAS Figura 1.1 Gráfica - pregunta: Actualmente ¿Qué piensas de la programación? Figura 1.2 Etapas modelo de desarrollo. Figura 1.3 Modelo de proceso Dedalus. Figura 1.4 Pantalla de Login - Language Conquers. Figura 1.5 Pantalla de Home - Language Conquers. Figura 2.1. Pirámide de los elementos de Gamificación. Figura 2.2. Ocho ventajas del Aprendizaje basado en juegos. Figura 2.3 Cursos en la plataforma CodeCademy. Figura 2.4 Menú de inicio DuoLingo. Figura 3.1 Fases del desarrollo Language Conquers. Figura 3.2 Notación Modelo C4. Figura 3.3 Nivel 1: Diagrama de contexto del sistema. Figura 3.4 Nivel 2: diagrama de contenedor. Figura 3.5 Diagrama dinámico - Crear Comentario. Figura 3.6 Diagrama dinámico - Subir archivo. Figura 3.7 Diagrama dinámico - Crear Curso. Figura 3.8 Nivel 3: Diagrama de componentes - Estudiante parte 1. Figura 3.9 Nivel 3: Diagrama de componentes - Estudiante parte 2. Figura 3.10 Nivel 3: Diagrama de componentes - Docente parte 1.

8

13 14 14 15 15 20 22 25 26 29 36 37 38 39 40 41 42 43 44


Figura 3.11 Nivel 3: Diagrama de componentes - Docente parte 2. Figura 3.12 Descripción de componentes y base de datos. Figura 3.13 Nivel 4: Modelo de datos. Figura 3.14 Versión 1.0 -Pantalla login. Figura 3.15 Versión 2.0 -Pantalla login. Figura 3.16 Versión 2.1 -Pantalla login. Figura 3.17 Versión 1.0 -Pantalla inicio del estudiante. Figura 3.18 Versión 1.1 -Pantalla inicio del estudiante. Figura 3.19 Versión 1.2 -Pantalla inicio del estudiante. Figura 3.20 Versión 1.0 -Pantalla crear curso. Figura 3.21 Versión 1.1 -Pantalla crear curso. Figura 3.22 Versión 1.0 -Pantalla crear recurso. Figura 3.23 Versión 1.1 -Pantalla crear recurso. Figura 3.24 Versión 1.0 -Pantalla del tesoro. Figura 3.25 Versión 1.1 -Pantalla del tesoro. Figura 3.26 Formulario de creación de cuenta docente diligenciado. Figura 3.27 Mensaje de éxito - registro docente. Figura 3.28 Creación de curso con éxito. Figura 3.29 Creación de curso recurso – docente. Figura 3.30 cuenta - usuario estudiante. Figura 3.31 formulario registro estudiante – campos vacíos. Figura 3.32 formulario registro estudiante – código curso no valido. Figura 3.33 Creación de curso recurso – estudiante. Figura 3.34 Mensaje de éxito, creación de curso recurso – estudiante. Figura 3.35 formulario creación de recurso – campos vacíos. Figura 3.36 Eliminar recurso estudiante – Primer mensaje. Figura 3.37 Eliminar recurso estudiante – Segundo mensaje. Figura 3.38 Descarga de recursos académicos. Figura 3.39 Comentario foro. Figura 4.1 Mecánicas Language Conquers. Figura 4.2 Configuración de recursos – Language Conquers. Figura 4.3 Configuración de recursos – Moodle Figura 4.4 Información de los recursos – Moodle. Figura 4.5 Estudiantes matriculados Language Conquers. Figura 4.6 Estudiantes matriculados curso Moodle 1. Figura 4.7 Estudiantes matriculados curso Moodle 2. Figura 4.8 Acceso a los recursos académicos – Language Conquers. Figura 4.9 Acceso a los recursos académicos – Moodle. Figura 4.10 Comentarios foros– Language Conquers. Figura 4.11 Visualización foros– Moodle. Figura 4.12 Archivos compartidos - Language Conquers. Figura 4.13 Gráfico Language Conquers VS Moodle.

9

45 46 47 50 50 51 52 52 53 54 54 55 55 56 56 67 68 68 69 69 70 70 71 71 72 72 73 73 74 77 79 80 80 81 81 82 82 83 84 84 85 85


1. INTRODUCCIÓN 1.1 1.2 1.3 1.4 1.5 1.6

10

Contexto Planteamiento del problema Justificación del problema Objetivo general Objetivos específicos Descripción de la solución


1. INTRODUCCIÓN 1.1. Contexto Actualmente la enseñanza de la programación es un tema de suma importancia en las carreras de ingeniería ligadas a las tecnologías de información, la cual está presentando una crisis al momento de revisar los niveles de aprendizaje y motivación de los estudiantes dentro del aula de clase. En los últimos años se han propuesto diferentes herramientas y didácticas educativas, pero no se ha logrado un enfoque o una solución completamente satisfactoria [6]. Es por esto que se ha enfocado la investigación en los estudiantes de los programas de Ingeniería de Sistemas, Electrónica y Multimedia de los primeros semestres de la Universidad San Buenaventura de Cali, proponiendo una estrategia de juego, implementado en una aplicación web gamificada para ayudar en el aprendizaje de los lenguajes de programación. La utilización de estrategias de juego para la educación es importante; los resultados de estas brindan beneficios para el docente, y los estudiantes mejoran el rendimiento académico durante las clases, en comparación con la educación tradicional que hoy en día se encuentra en crisis y la desmotivación que se presenta en el aula de clase cada vez mayor; las estrategias de enseñanza basadas en el juego pueden contribuir al desarrollo y al mejoramiento de los procesos de atención, aprendizaje, concentración y comportamiento de los estudiantes, creando experiencias positivas a la hora de aprender un tema específico, en este caso un lenguaje de programación. Es ahí donde esta investigación pretende entregar una solución pertinente a este problema por medio de una aplicación web didáctica e interactiva, usando estrategias de juego como la Gamificación y la técnica Aprendizaje basado en juegos, la Gamificación como técnica de aprendizaje se basa en la utilización del juego para motivar el aprendizaje en cualquier área, como menciona Nick Pelling “Gamificar es aplicar estrategias (componentes, pensamientos, mecánicas y dinámicas) de juegos en contextos no lúdicos, ajenos a los juegos, con el fin de que las personas adopten ciertos comportamientos o para hacerles llegar una serie de contenidos o mensajes.” (2002) [7]; La técnica Aprendizaje basado en juegos ayuda en mejorar el compromiso de los alumnos, refiriéndose al área cognitiva del producto, a su apariencia y a su atractivo visual, la combinación de estas dos técnicas ayudará como herramienta para luchar contra la deserción y mejorar el proceso de enseñanza y aprendizaje, incrementando la utilidad, la producción y a su vez la motivación se convierta en un compromiso, responsabilidad y aprendizaje autónomo. Se ha decidido implementar el método DeDalus[8] que realiza un análisis en torno a procedimientos o métodos que permitan implementar elementos de la Gamificación por medio de un modelo abstracto de pasos, para el diseño de la estrategia de juego. Esta estrategia la aplicaremos con el fin de generar un gran impacto al estudiante, brindado una experiencia agradable en su proceso académico y la alta disponibilidad que se espera que puedan desempeñar frente a las tareas o actividades de la programación; esta aplicación web gamificada recibe el nombre de Language Conquers, donde se creará un espacio didáctico dentro del aula de clases y el principal objetivo es generar una solución a los

11


estudiantes que presenten problemas de aprendizaje, o una baja motivación a la hora de aprender a programar en los primeros semestres de su carrera. 1.2. Planteamiento del Problema Actualmente en Colombia uno de los principales problemas que enfrenta el sistema de educación superior son los altos niveles de deserción estudiantil. El número de alumnos que logra culminar sus estudios no es alto, dejando entrever que una gran parte de éstos los abandona principalmente en los primeros semestres de su ciclo académico, disminuyendo de esta manera el nivel educativo y profesional del país. Se estima que el 42 % de los que ingresan a la universidad termina desertando, así lo indicó Alfonso López, presidente de la Asociación Colombiana de Universidades [9]. Posicionando a Colombia como el segundo país en Latinoamérica con mayor tasa de deserción en educación superior, situación que no va a tener una pronta solución mientras no se planteen estrategias que generen motivación a los estudiantes en el momento de la enseñanza. En las carreras afines a la ingeniería se presentan las mayores tasas con un porcentaje de 23.16% en el primer semestre y un 55.58% en décimo semestre [10], es importante disminuir estos porcentajes, buscando estrategias para aumentar la motivación de los estudiantes en el estudio continuo de las ingenierías. La educación se encuentra con un problema recurrente en la enseñanza, La desmotivación de los alumnos y la falta de interés por aprender, como menciona Valentín Martínez-Otero, psicólogo, pedagogo y profesor. “Muchos alumnos, aún sin ser plenamente conscientes, se desmotivan por falta de estímulos suficientes en el aula; en las programaciones no siempre se tienen en cuenta sus intereses, y el proceso educativo sigue más centrado en la enseñanza y el profesorado que en el aprendizaje y en el alumnado” [11], inclusive en la educación superior se presenta este problema. Enfocando la investigación en los estudiantes de los programas de Ingeniería de Sistemas, Electrónica y Multimedia de la Universidad San Buenaventura de Cali, Gracias a una encuesta realizada a 108 estudiantes se descubre que un gran porcentaje tiene dificultades en el momento de aprender, desarrollar y practicar temas o actividades que se relacionan directamente con la ingeniería, como por ejemplo la programación, Como se ilustra en la Figura 1.1 [12], en donde el 48,1% de estudiantes les gusta la programación, pero se les dificulta, por lo que se pretende dar una solución para mejorar la práctica de la programación, generando menos dificultad en el proceso de aprendizaje.

12


Figura 1.1 Gráfica - pregunta: Actualmente ¿Qué piensas de la programación?

1.3. Justificación del Problema La Gamificación es una técnica de aprendizaje que se basa en la utilización del juego para motivar el estudio en cualquier área, por lo que se decide desarrollar la aplicación web Language Conquers dirigida al aprendizaje de los lenguajes de programación y aumentar la motivación de los alumnos logrando que aprendan de manera agradable y profunda. Language Conquers se puede ver como una herramienta útil para luchar contra la deserción y mejorar el proceso de enseñanza y aprendizaje, donde incrementa la utilidad, la producción y a su vez la motivación se convierta en compromiso, responsabilidad y aprendizaje autónomo de los estudiantes por querer aprender un nuevo lenguaje de programación. También será un aporte importante para el desarrollo de una mejor educación y aprendizaje en nuestra institución universitaria atrayendo a los jóvenes y a enfocarse en las áreas de la ingeniería de sistemas. 1.4. Objetivo General Implementar una herramienta de apoyo basada en principios de Gamificación para la mejora de la motivación en los procesos de aprendizaje de la programación en los primeros años de ingeniería. 1.5 Objetivos Específicos

13

Obj 1: Diseñar una estrategia de juego basada en el método DeDalus que permita implementar una herramienta de apoyo en la motivación al proceso de aprendizaje de la programación y la participación que genera en los estudiantes de los primeros años de formación en ingeniería.

Obj 2: Diseñar y desarrollar un Juego serio que implemente la estrategia de juego propuesta (Obj 1) en una aplicación web denominada Language Conquers.


Obj 3: Implementar un estudio de caso que permita validar la estrategia propuesta en (Obj 1) a través de la aplicación desarrollada (Obj 2) en un curso de introducción a la programación del programa de Ingeniería de Sistemas.

1.6 Descripción de la Solución 1.6.1

Proceso de Ingeniería

En esta sesión se especifica el modelo proceso utilizado para el desarrollo de la solución y explicación de las fases del proceso de ingeniería realizado, Figura 1.2.

Figura 1.2 Etapas modelo de desarrollo

Etapa de Modelo de Investigación Documental: En la primera etapa se desarrolló un trabajo multidisciplinario en conjunto con estudiantes de Ingeniería Multimedia, se realizó toda la base conceptual y bibliográfica, investigación en temas como la Gamificación, Aprendizaje basado en juegos, Juegos serios y el desarrollo del estado del arte. Se realizó el diseño de la estrategia de juego Dedalus donde identificamos el Modelo de Negocio, el problema y el ambiente de juego, Figura 1.3:

Figura 1.3 Modelo de proceso Dedalus

14


El modelo de procesos DeDalus [8], Figura 1.3, utiliza principios de Gamificación para mejorar aspectos como la motivación, la participación y la colaboración, se integra por tres componentes: procedimiento de ambiente de juego; el ambiente de juego y la medición y evaluación de la estrategia diseñada, implementamos esta estructura ya que tiene como fin diseñar estrategias de juegos de una manera simple y eficaz, induciendo en la mejora de la participación y contribución de los usuarios. Etapa de Construcción de Soluciones: En esta etapa se Desarrolló la primera fase de la aplicación web implementada con la estrategia de juego DeDalus ya planteada y se evaluó las funcionalidades de la plataforma. Junto con estudiantes de Ingeniería Multimedia se entró a validar los prototipos de la aplicación su Usabilidad y la experiencia de usuario [13], en la Figura 1.4 se evidencia el prototipo de la pantalla login y en la Figura 1.5 el prototipo de la pantalla de home estudiante:

Figura 1.4 Pantalla de Login - Language Conquers

Figura 1.5 Pantalla de Home - Language Conquers

Etapa de Modelo de Estudios de Caso: En la última etapa del modelo de desarrollo de la aplicación web Language Conquers, se validó la estrategia propuesta en la Universidad San 15


Buenaventura Cali, para los cursos de Fundamentos e Introducción a la programación con estudiantes de los programas de Ingeniería de Sistemas, Electrónica y Multimedia, se tomaron datos de Language Conquers y el Moodle de la Universidad San Buenaventura Cali. Se realizó una comparación con estas dos herramientas, basándose en los indicadores de asistencia y participación. Con los indicadores anteriormente mencionados se validó si la Gamificación es una buena herramienta para motivar a los estudiantes, en aumentar la participación y el aprendizaje de la programación en el aula de clases. 1.6.2

Productos de Software • • • • • • •

1.6.3

Productos No Software • • • • •

16

Datos. Arquitectura. SRS. Documento de requerimientos. Prototipo web del juego. Plan de pruebas. Código Fuente.

Diseño de la estrategia de juego. Modelo de datos. Evaluación de usabilidad y experiencia de usuario. PAPER aprobado en evento internacional (ICERI 2017) 5 puesto. Participación en encuentro académico de red colombiana de programas de Ingeniería de Sistemas y afines (REDIS 2017) 3 puesto. Participación en encuentro nacional de red de semillero de investigación (REDCOLSI 2017).


2. MARCO TEร RICO 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8

17

DeDalus Gamificaciรณn Elementos de la Gamificaciรณn Tipos de jugadores Aprendizaje basado en juegos Motivaciรณn Juegos serios Antecedentes


2. MARCO TEÓRICO 2.1 DeDalus DeDalus utiliza principios de Gamificación y describe tres procesos importantes, Figura 1.3. El propósito del funcionamiento de cada una de las etapas como estrategia de juego es [8]: ●

Procedimiento de Ambiente de Juego: Se integra por cinco pasos, para definir los elementos necesarios que la organización debe tener en cuenta para diseñar una estrategia de juego. Está integrado por: ○

Evaluación Inicial: Analizar la organización, el impacto y consecuencias de la problemática identificada. Determinando los efectos en los actores involucrados, los subprocesos y tareas asociadas a las actividades analizadas.

Análisis de Usuario: Permite definir los usuarios más convenientes a interactuar con la estrategia que se pretende diseñar.

Objetivos de Negocio: Permiten establecer las metas, que se pretenden alcanzar con la implementación de una estrategia de juego al interior de la organización. Los objetivos de negocio son la ruta de diseño de la estrategia, dicho objetivo deberá ser medible y verificable para que la estrategia de juego, genere el retorno de inversión en tiempo y esfuerzo que la organización asigna para el desarrollo de la estrategia de juego.

Ambiente de Juego: El propósito es definir la reglamentación y el modo en el que mecánicas como dinámicas de juego son integradas. Para establecer las diferentes acciones que se realizarán en la estrategia de juego. Está integrado por: ○

Las políticas de juego: Determina las reglas y condiciones de la estrategia de juego, las políticas son diseñadas con el propósito de generar entretenimiento y motivación al jugador durante su experiencia de juego.

Experiencia de juego: En esta etapa se definen las dinámicas de juego, analizando y ajustando los diferentes niveles de experiencia y adaptación que tiene el jugador.

Medición y evaluación: Durante esta etapa se realiza el proceso de validación de la estrategia implementada. Este componente permite estimar la efectividad de las mecánicas usadas y se cuantificar el alcance logrado de los objetivos planteados, usando indicadores obtenidos de los elementos de juego. Está integrado por: ○

18

Análisis de eficiencia: El diseñador de juego, junto con el equipo de trabajo de la organización, definen inicialmente los indicadores de medición, los cuales se rigen a partir de los componentes usados en la estrategia de


juego. La cuantificación de dichos indicadores, se hace a través de las métricas establecidas para medir la eficiencia de la estrategia diseñada. ○

Revisión y ajuste: La revisión es una tarea que permite analizar si los resultados obtenidos en la etapa de análisis de eficiencia, cumplen con los objetivos transversales y respectivamente si el objetivo de negocio se está alcanzando. Esta revisión permite decidir si es necesario un ajuste, a la métrica de juego.

2.2 Gamificación La Gamificación es un término que hace referencia al uso de los juegos con un fin de motivar a las personas aprender algún tema o adquieran una habilidad que se necesite, todo es posible gracias a ciertas características como son los Juegos serios y el Aprendizaje basado en juegos. Hay que recalcar que existe una diferencia notoria entre juegos y la Gamificación, y es que los juegos están enfocados más hacia el entretenimiento y al ocio, pero la Gamificación usa este entretenimiento con el fin de que los jugadores adquieran una habilidad o aprendan algún tema en específico que se haya escogido [14]. Una ventaja de la Gamificación es que lo podemos emplear en varias áreas tales como, educación, ciencia, medicina, salud, entre otras. Pero esto es gracias a la tecnología que ha hecho posible ampliar más el uso de la Gamificación en los juegos no simplemente en ámbito laboral que es ahí donde nace este término y empleo, a poderlo usar en varias áreas. El término de Gamificación se origina en la industria de los medios digitales aproximadamente en el 2008. Pero pese a las varias definiciones que han ido surgiendo con el paso del tiempo, podemos observar una definición que propone Sebastian Deterding [15] diseñador e investigador de diseño de juegos, “La Gamificación es el uso de elementos de diseño de juegos en contextos no relacionados con juegos.”(2011), una de las definiciones más aceptada es del Sr Brian Burke [16] definió lo siguiente “la Gamificación el uso de mecánicas de juego y diseño de experiencias para comprometer y motivar, de manera digital, a la gente para alcanzar sus objetivos”. (2014), podemos decir que la Gamificación está compuesta por ciertas características de los juegos, como mecánicas, dinámicas y elementos, que son puestos en diferentes contextos. Con el fin de motivar a las personas, a que puedan adquirir una habilidad o que aprenda algo nuevo. La Gamificación ayuda a asimilar los conocimientos de manera diferente, generando como ya se ha mencionado anteriormente un conjunto de experiencias positivas, conseguir mejores resultados, mejorar habilidades y conocimientos, aplicando esta técnica en el aula de clases se aumentará el aprendizaje con una mayor motivación y la enseñanza con los alumnos se volverá más lúdica. 2.2.1

Elementos de Gamificación

Existe una pirámide desarrollada por Kevin Werbach y Dan Hunter (2012) [17], en la que clasifican tres niveles, la relación de los conceptos o elementos que presenta la pirámide crean la experiencia para el jugador, como vemos en la Figura 2.1. 19


Figura 2.1. Pirámide de los elementos de Gamificación.

Dinámicas: Son las que pone en funcionamiento las mecánicas, y está relacionada con el comportamiento y la motivación del jugador. Para esto se debe de realizar una historia que pueda enganchar al jugador y este debe sentirse identificado. Tabla 2.1. Narración

Una buena historia es la base de que el jugador se sienta atraído a querer jugar, ayudando en el proceso de aprendizaje.

Emociones

Curiosidad, competitividad, frustración, felicidad.

Limitaciones

Son las restricciones o componentes forzosos.

Progresión

Es la evolución y desarrollo que tiene el jugador.

Relaciones

Entre las relaciones se puede compañerismos, estatus, altruismo.

presentar:

Interacciones

sociales,

Tabla 2.1. Dinámicas

Mecánicas: Hace alusión a los elementos o componentes del juego que van enlazados entre sí. Permite elaborar las dinámicas del juego, el objetivo es despertar el interés del participante hacia las actividades propuestas que se deben llevar a cabo. Tabla 2.2. Retos

Tareas que implican un esfuerzo para el participante.

Competición

Son actividades que se pueden hacer ya sea individual, en pareja o grupal. Donde unos ganan y otros pierden.

Colaboración

Trabajo en equipo, para alcanzar un objetivo en común.

Recompensas

Premios o beneficios que recibe el participante por el culminar un objetivo.

Feedback

Es la retroalimentación que obtiene el participante (hace parte de lo que aprende). Tabla 2.2. Mecánicas

20


Componentes: Son los recursos con los que contamos y las herramientas que utilizamos para diseñar una actividad en la práctica de la Gamificación. Tabla 2.3. Niveles

Son los diferentes estados de progreso y/ o dificultades.

Misiones

Son desafíos predeterminados con un objetivo y con una recompensa.

Puntos

Recompensa que va enfocado en la progresión del jugador.

Avatar

Representación visual del jugador.

Barra de progresos

Representación gráfica de la progresión y logros.

Bienes virtuales

Representación visual de los logros.

Equipos

Trabajo en grupo con un objetivo común.

Límites de tiempo

Competir contra el tiempo y con uno mismo.

Regalos

Oportunidad de compartir recursos con otros.

Tutoriales

Familiarizarse con el juego, adquisición de normas y estrategias.

Desbloqueo de contenidos

Nuevos elementos disponibles tras conseguir objetivos. Tabla 2.3. Componentes

2.2.2

Tipos de jugadores

Otro elemento que debemos tener en cuenta antes de implementar una estrategia de Gamificación es tener un conocimiento de las características específicas de los usuarios del sistema. Es imprescindible tener en cuenta el perfil y las características de cada uno de los usuarios como jugadores. Es por eso que Richard Bartles (1996) [18] diseñó un modelo que clasifica el perfil de los usuarios según la personalidad y los comportamientos: 1. Achievers: Este tipo de jugador tienen como objetivo cumplir los retos con éxito y conseguir una recompensa o logros. 2. Explorers: Este tipo de jugador les gusta explorar el juego, descubrir nuevas cosas. 3. Socializers: Este tipo de jugador siente atracción por compartir ideas, experiencias y crear una red de amigos. 4. Killer: Este tipo de jugador ganar no es suficiente, necesitan ser los mejores y conseguir el primer puesto en la tabla de clasificación. 21


2.3 Aprendizaje basado en juegos El aprendizaje basado en juegos es una metodología de aprendizaje en la cual los contenidos teóricos son presentados por medio de videojuegos o simulaciones. Esto permite a los usuarios mejorar la atención, el compromiso, la motivación de la enseñanza y del aprendizaje de un tema en específico [19]. El Aprendizaje basado en juegos tiende a confundirse con la Gamificación, sin embargo, son conceptos diferentes y es importante aclarar y no confundir el concepto de Gamificación frente al concepto de juego serio. La Gamificación se refiere a la integración de componentes y dinámicas del juego, es aprender usando elementos y técnicas del juego y el Aprendizaje basado en juegos se refiere al área cognitiva del producto, a su apariencia y a su atractivo visual. Los elementos de la Gamificación como las puntuaciones, rankings y logros son integrados dentro de los productos del Aprendizaje basado en juegos, y aunque estas dos metodologías tienen un significado distinto, cuentan con un mismo objetivo, el de mejorar el compromiso y adquirir habilidades de forma práctica a los usuarios [20]. Ventajas del Aprendizaje basado en juegos aplicadas en el aula de clases [21]:

Figura 2.2. Ocho ventajas del Aprendizaje basado en juegos

Motiva al alumno: La capacidad para captar la atención de los alumnos, ya que les proporciona un entorno que les gusta, les divierte y les resulta muy motivador. El juego dinamiza la clase, despierta el interés previamente y lo mantiene durante todo el desarrollo. Ayuda a razonar y ser autónomo: El juego plantea al alumno situaciones en las que debe reflexionar y tomar las decisiones adecuadas, solventar fallos y reponerse de las derrotas. Con este método de aprendizaje no solo estará asimilando conceptos de la asignatura o del tema en el que se centre el juego, sino que además estará desarrollando capacidades cognitivas a través del pensamiento crítico, el análisis de la realidad y la resolución de problemas. 22


Permite el aprendizaje activo: El aprendizaje basado en juegos ayuda a que los estudiantes ejerciten los conocimientos de manera práctica. Al aprender haciendo el alumno experimenta de manera didáctica y practica la prueba-error, establece relaciones entre conocimientos previos, conocimientos nuevos y toma decisiones para mejorar el desempeño. Da al alumno el control de su aprendizaje: Mediante el juego los estudiantes logran un feedback instantáneo respecto a sus conocimientos sobre un tema o asignatura. Esto le permite ser consciente de su grado de adquisición de lo aprendido y le ayuda a descubrir en qué debe incidir y centrarse en ello. Proporciona información útil al profesor: le permite al docente estar enterado de los avances y decisiones del alumno, para detectar fortalezas y debilidades respecto a la asignatura y comprobar el nivel de comprensión de los conocimientos. Además, permite un acercamiento mucho más profundo al alumno, en cuanto a su capacidad de razonar, resolver problemas, tomar decisiones o superar fallos. Potencia la creatividad y la imaginación: El juego implica también libertad de improvisación y capacidad de imaginar soluciones a cada reto. Este beneficio se multiplica si son los propios estudiantes quienes diseñan el juego o lo modifican y mejoran con una base ya suministrada por el docente, una práctica muy recomendable para dar un paso más allá en el Aprendizaje basado en juegos. Fomenta las habilidades sociales: El Aprendizaje basado en juegos resulta perfecto para realizarse de forma colaborativa. La comunicación, el diálogo y la capacidad de liderazgo la colaboración por un objetivo común. Esto contribuye a una mejor integración en el aula de clase. Contribuye a la alfabetización digital: Si se elige por usar juegos en línea, videojuegos o aplicaciones lúdicas no solo estarás aprovechando las ventajas del juego, sino que, además, estarás sumando los beneficios de la aplicación de las TIC en el aula. Los alumnos afianzan conocimientos sobre el tema central del juego y al mismo tiempo mejorarán su manejo de las nuevas tecnologías y practicarán el uso de herramientas informáticas y dispositivos digitales en un entorno seguro y pensado para el aprendizaje. 2.4 Motivación En la psicología y en la filosofía la motivación en una persona es impulsada por la realización de una tarea y su perseverancia hasta completarla. Esto en otras palabras está relacionado con fuerza de voluntad e interés. Hay que tener presente que la motivación tiene dos aspectos importantes que se destacan: la motivación intrínseca y extrínseca, las cuales son opuestas. La motivación intrínseca hace referencia al deseo autónomo del individuo en obtener nuevos retos o en la buscar nuevas cosas, esto va más allá de la persona y su constante deseo o placer de realizar una actividad, y esto no depende de una fuerza intermediaria que lo impulse a hacerlo, esto podría decirse más como una recompensa por el simple hecho de terminar esa tarea o actividad. Un aspecto importante es, que, si este individuo la posee, esta puede ser de larga duración y autosostenible. Sin Embargo, dentro de un salón de clase 23


fomentar esta motivación puede ser una tarea tediosa y a la vez lenta, y esto se debe a que cada estudiante es un individuo diferente, esto implicaría tener que conocer cada uno de los estudiantes. Pero con base en esto, se han hecho varios estudios y el más importante fue el de Steven Reiss donde se dio la tarea de estudiar a 6000 personas y con base a este estudio le permitió establecer 16 puntos y esto lo llamo la Teoría de los 16 deseos básicos [22]. La motivación extrínseca depende de una fuerza externa, ya no va con el deseo personal sino, hacia una recompensa en particular, estas pueden ser monetaria o con una calificación, siendo estos incentivos intrínsecos, de esta manera el estudiante logra terminar la tarea o reto propuesto, con el fin de conseguir el comportamiento deseado. 2.5 Juegos serios Los juegos serios se centran en el aprendizaje o adquirir una habilidad que en el entretenimiento. Esto lo han acogido varios sectores como la educación, la ciencia, salud o en la capacitación dentro de la empresa a sus empleados [23]. Como ejemplo Duolingo que ayuda a que los usuarios aprendan un idioma. Este es un claro ejemplo de lo que sería un Juegos serios llevado a la parte educativa y formativa. Existe también juegos serios como: ●

Educativo: Se centra en el ámbito educativo, como las materias de un curso o en ámbito un ámbito cultural.

Juegos de simulación: Es una herramienta que facilita el aprendizaje, se utilizan para aprender y reaccionar en condiciones de continuo cambio.

Juegos para la salud: Juegos orientados al tratamiento psicológico o cognitiva.

Juegos persuasivos: Estos juegos están diseñados para, cambiar actitudes y/o comportamientos sociales, políticos, religiosos o de salud.

Advergames: Son juegos publicitarios y su enfoque es promocionar una marca o producto.

2.6 Antecedentes Se puede encontrar varias aplicaciones web educativas de lenguajes de programación que utilizan algunas mecánicas y dinámicas de juegos, con la intención de mantener la motivación de los usuarios mientras realizan actividades propuestas dentro de la misma, por ejemplo: ●

24

Codecademy [24]: Es una plataforma de educación gratuita en línea que ofrece cursos de programación en lenguajes como JavaScript, Php, Phyton, Ruby, HTML y CSS. Los usuarios realizan tareas o actividades recibiendo puntos y medallas. Según Zach Sims, cofundador del sitio, la aplicación se creó en la búsqueda de resolver las frustraciones que pueden acompañar el proceso de aprender a programar. Figura 2.3.


Figura 2.3 Cursos en la plataforma CodeCademy [25]

CodeWars: [26] Es un sitio web donde los usuarios pueden retar y mejorar sus conocimientos en programación por medio de la realización de desafíos (“katas”), en diferentes categorías que le dan puntos(“honor”) al usuario, ofreciendo la posibilidad a los usuarios de ubicarse en el ranking entre los mejores desarrolladores de la aplicación.

Codeschool: [27] Es una página para aprender a programar en diferentes lenguajes ofreciendo algunos cursos gratuitos, inicia con lecciones de videotutoriales (screencast), una vez termina el screencast los usuarios se enfrentarán a retos prácticos recibiendo ‘badges’ o insignias.

Las aplicaciones mencionadas ayudan en el aprendizaje de la programación, la propuesta de valor para el proyecto Language Conquers es usar el modelo DeDalus como diseño de estrategia de aprendizaje gamificado que ayudará a motivar a los estudiantes de primer semestre del programa de Ingeniería de Sistemas y mantener el interés en la práctica y en el estudio de los diferentes lenguajes de programación, ayudando a su vez a los docentes a tener información de la participación y contribución de cada uno de sus estudiantes. Existen diferentes proyectos, herramientas o aplicaciones que apoyan otras áreas de procesos de aprendizaje con dinámicas y mecánicas de juego, algunos de ellos son: ●

25

Duolingo: [28] Esta plataforma propone el aprendizaje gratuito de un idioma a cambio de colaborar en la traducción de documentos en Internet. Es una propuesta gamificada basada en un sistema de retos donde el usuario va aprendiendo a medida que domina los desafíos propuestos. Figura 2.4.


Figura 2.4 Menú de inicio DuoLingo. [29]

Vincire: [30] Utiliza dinámicas y mecánicas propias de la Gamificación para abordar la Unidad Didáctica del temario correspondiente a las características de la Edad Moderna y el Renacimiento en Italia, trabajando además la biografía como método de trabajo específico de la materia.

Ribon Hero: [31] Es un juego lanzado por Microsoft para facilitar el aprendizaje de MS Office. Para ello, Microsoft pone a su servicio la mecánica y dinámica de juego.

Sicko: [32] De la Escuela de Medicina de la Universidad de Stanford (EE.UU), es un juego web de simulación en el que los estudiantes se hacen cargo de pacientes virtuales y deben tomar decisiones sobre ellos.

En la Tabla 2.4 se puede evidenciar la propuesta Language Conquers en comparación con las otras aplicaciones mencionadas anteriormente.

Identificación de perfiles

Diseño de estrategias de juegos

Apoya la motivación e interés de los estudiantes

--

--

--

--

X

--

--

--

--

Vicire

X

--

--

--

--

Ribbon Hero

--

X

--

--

--

Sicko

--

X

--

--

--

Gamificación

Aprendizaje basado en juego

CodeSchool

X

Duolingo

Plataformas

26


Codecademy

X

--

--

--

--

CodeWars

X

--

--

--

--

Language Conquers

X

X

X

X

X

Tabla 2.4. Language Conquers VS antecedentes.

En la Tabla 2.4 se evidencia que Language Conquers frente el área de Gamificación presenta las mismas funcionalidades que las otras aplicaciones a excepción de Ribbon Hero y Sicko. Sin embargo Language Conquers utiliza el método Dedalus como diseño de estrategia de juego, mientras que las otras herramientas usan únicamente mecánicas de juegos para el aprendizaje en temas específicos. Language Conquers cuenta con dos perfiles identificados, docentes y estudiantes, diseñado como herramienta de apoyo para los docentes que facilite el aprendizaje en el aula de clases. De esta forma se espera incrementar la motivación y el interés de los estudiantes por aprender más sobre temas referentes a la programación.

27


3. PROCESO DE INGENIERÍA DE SOFTWARE 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11

28

Modelo de proceso de desarrollo de software Educción de requisitos Análisis y diseño Diseño de la arquitectura. Patrones de diseño utilizados Justificación de diseño Desarrollo Prototipos del software Pruebas y evaluación de software Acceso a la aplicación Estándares de ingeniería empleados durante el proyecto


3. PROCESO DE INGENIERÍA DE SOFTWARE En este capítulo se presentan los procesos específicos de ingeniería aplicados para el desarrollo de este proyecto. Los procesos son: elección de un modelo de proceso, la educción de requisitos funcionales y no funcionales, definición de artefactos necesarios para el análisis y diseño, la elección de las herramientas, patrones y tecnologías que fueron usadas durante el proceso de desarrollo del software, culminando con las respectivas pruebas que validan el cumplimiento de los objetivos propuestos. Para más información ver anexo 2, en donde se especifica de manera detallada y clara la aplicación Language Conquers. 3.1 Modelo de proceso de desarrollo de software. El modelo de proceso utilizado para la realización de este proyecto fue RUP, ya que este modelo le permitió al equipo una organización de las actividades, esto se debe a que una de las características de este modelo es “la asignación de tareas y responsabilidades dentro del proyecto”. Además permitió el desarrollo iterativo de los componentes para entrar a validar en cada iteración, desde el análisis he elicitación de requisitos hasta el desarrollo y aceptación de los componentes. Por otro lado RUP también permitió realizar cambios oportunos indicados en cada iteración, lo cual benefició al momento del control de cambios de la aplicación y obtener soluciones de desarrollo más rápidas y oportunas. 3.1.1

Descripción de Iteraciones realizadas

A continuación, se describe el proceso realizado en las iteraciones definidas Figura 3.1 y en las Tablas 3.1 a la 3.5 se especifican los artefactos de entradas, salidas y descripción que tiene cada una de las iteraciones.

Figura 3.1 Fases del desarrollo Language Conquers.

29


Iteración No.1

Artefactos de Entrada:

Descripción:

Artefactos de Salida:

Investigación Enero 2017 - Abril 2017. Temas de investigación: ● Gamificación. ● Aprendizaje basado en juegos. ● Juegos serios. ● DeDalus. Se realizó el proceso de levantamiento de información con base a los temas relacionados con la Gamificación y plataformas que ayudan en el proceso de aprendizaje. ● Conocimiento. ● Apoyo en Documentos importantes a lo largo del desarrollo: ○ Perfil del proyecto. ○ SRS. ○ Documento Anteproyecto. ○ Paper - Language Conquers, Estrategia de juego para el aprendizaje de la programación básica. ○ Documento DeDalus. ○ Trabajo de Grado. Tabla 3.1. Iteración No 1.

Iteración No.2 Artefactos de Entrada:

Descripción:

Artefactos de Salida:

Educción de requisitos - Abril 2017 - Junio 2017. ● Encuestas a estudiantes. ● Entrevistas docentes y estudiantes. ● Reuniones con el docente Jose Luis jurado (Cliente). ● Focus group. Para la segunda iteración el equipo realizó la obtención, especificación e identificación de requisitos por medios de técnicas de educción. ● Requisitos funcionales. ● Requisitos no funcionales. ● Documento DeDalus. ● Se crea Language Conquers como estrategia de juego. ● Presentaciones de la propuesta investigativa y de desarrollo en diferentes eventos. Tabla 3.2. Iteración No 2.

30


Iteración No.3 Artefactos de Entrada:

Descripción:

Artefactos de Salida:

Diseño Junio 2017- Diciembre 2017. ● Elaboración de modelo de arquitectura modelo C4. ● Se emplea la metodología de diseño DeDalus. ● Elaboración de wireframe. ● Elaboración de la base de datos de la aplicación. Para esta iteración el equipo se centra en el diseño y estructura de los desarrollos venideros. El equipo prepara la metodología de Gamificación, base de datos y arquitectura para posteriormente entrar a desarrollar. ● Modelo de arquitectura C4. ● DeDalus: ○ Modelo de negocio. ○ Identificación del problema. ○ Diseño de la estrategia de juego. ■ Procedimiento de ambiente de juego. ● Evaluación inicial. ● Análisis de usuarios. ● Objetivos de negocio. ● Objetivos transversales. ● Descripción de la estrategia de juego. ■ Ambiente de juego. ● Políticas de juego. ● Experiencia de juego. ■ Medición y evaluación. ● Análisis de eficiencia. ● Revisión y ajuste. ● Mockups docentes: ○ Login. ○ Crear cuenta. ○ Menú. ○ Crear Curso. ○ Mis cursos. ○ Mis recursos. ● Mockups estudiantes: ○ Login. ○ Crear cuenta 1. ○ Crear cuenta 2. ○ Perfil. ○ Inicio. ○ Recursos. ○ Foro. ● Diseño de la Base de datos. Tabla 3.3. Iteración No 3.

31


Iteración No.4 Artefactos de Entrada:

Descripción: Artefactos de Salida:

Desarrollo Diciembre 2017 - Diciembre 2018. ● Desarrollo panel docente Frontend. ● Desarrollo panel estudiante Frontend. ● Desarrollo panel docente Backend. ● Desarrollo panel estudiante Frontend. En esta iteración el equipo se centra en el desarrollo tanto del núcleo de la plataforma, el cual es la carga de recursos académicos por parte del docente y estudiante, la descarga de recursos por parte del estudiante y foro. ● Página Language Conquers. Tabla 3.4. Iteración No 4.

Iteración No.5 Artefactos de Entrada: Descripción: Artefactos de Salida:

Pruebas Febrero 2018 - Febrero 2019. ● Pruebas de Usabilidad. ● Pruebas Caja negra. ● Pruebas Aceptación. Se realizó las pruebas durante las diferentes etapas del desarrollo para validar usabilidad y funcionalidad. ● Resultado de las pruebas. ● Estadísticas. Tabla 3.5. Iteración No 5.

3.2 Educción de Requisitos En esta sección se describen las técnicas de educción utilizadas para Language Conquers y los requisitos funcionales del sistema. 3.2.1 Técnica utilizada: Para iniciar el desarrollo del proyecto se llevaron a cabo reuniones con el director de proyecto de grado José Luis Jurado, nuestra principal fuente de requisitos y de igual manera con estudiantes del programa de Ingeniería Multimedia, quienes entraron a validar la usabilidad y la experiencia de usuario de la aplicación Language Conquers, donde se definió e identificó los requisitos funcionales del sistema estableciéndose así aspectos importantes del diseño del juego. Se realizaron encuestas a los estudiantes de los programas de ingeniería de Sistemas, Multimedia y Electrónica para conocer las opiniones del proceso de aprendizaje en el campo de la programación e identificamos así la problemática de la baja motivación e interés que se presenta en el aula de clase al aprender un lenguaje de programación, se utilizó la técnica de lecturas basada en perspectivas para obtener toda la información sobre temas relacionados sobre la Gamificacion, juegos basados en aprendizajes y juegos serios, para crear requisitos nuevos e innovadores, por último se realizó un grupo de enfoque a los docentes y estudiantes de ingeniería para validar el aspecto visual del sistema, su usabilidad y la experiencia de usuario de la aplicación Language Conquers.

32


3.2.2

Requisitos funcionales documentados

En la Tabla 3.6 se relaciona la respectiva especificación y priorización de requisitos funcionales y no funcionales que fueron reducidos utilizando las técnicas anteriormente descritas. RF

Prioridad

Descripción Requisito

Fuente de Info.

RF-1

Alta.

El sistema debe permitir al docente registrarse.

RF-2

Alta.

El sistema debe permitir al estudiante registrarse.

Estudiante.

RF-3

Alta.

RF-4

Alta.

RF-5

Baja.

Docente. Docente y estudiante. Estudiante.

RF-6

Media.

RF-7

Media.

RF-8

Alta.

RF-9

Media.

RF-10

Alta.

RF-11

Alta.

RF-12

Alta.

RF-13

Alta.

El programa debe permitir al docente crear un curso. El programa debe permitir al estudiante o docente iniciar sesión. El programa debe brindar un perfil para el estudiante. El sistema debe de permitir al estudiante modificar su información personal. El programa debe permitir al estudiante observar la información básica de su isla. El programa debe permitir al docente crear un recurso académico. El programa debe permitir al docente eliminar un recurso académico. El programa debe permitir al estudiante descargar los recursos académicos. El programa debe permitir al estudiante comentar los recursos académicos creados por los usuarios. El programa debe permitir al estudiante compartir los recursos académicos con las comunidades. El programa debe permitir al estudiante eliminar los recursos académicos compartidos con las comunidades.

Docente.

Estudiante. Estudiante. Docente. Docente. Estudiante. Estudiante. Estudiante. Estudiante.

Tabla 3.6. Especificación y priorización de requisitos funcionales

3.3 Análisis y Diseño 3.3.1

Objetivos de Arquitectura y Limitaciones.

En esta sección se describen los requisitos de calidad del software que tienen un impacto significativo en el diseño de la arquitectura. 

Atributos de calidad o Funcionalidad 

33

Interoperabilidad: para que la aplicación pueda tener una comunicación exitosa, el backend necesita exponer servicios rest para que puedan ser consumidos por el frontend esto con el fin de unificar una sola aplicación por medios de servicios.


o Usabilidad  Inteligibilidad: La navegación del sitio web debe ser fácil, práctica y funcional. Sí con un clic el usuario encuentra lo que busca, existen más probabilidades de éxito.  Facilidad de aprendizaje: Los elementos en la página web deben tener un sentido o una razón de ser, evitando tener información irrelevante o que no tenga algo que ver con el contenido de esta.  Operabilidad: Language Conquers permite a los usuarios controlar los módulos a lo que tiene permiso según su tipo de usuario, con total libertad.  Atractividad: El diseño de la página web es atractivo al usuario, logrando que él sienta deseo por su contenido, sus productos o sus servicios. 

Objetivos de arquitectura: o Language Conquers debe actualizarse a una nueva versión. o Language Conquers debe ser modular para permitir el crecimiento de esta herramienta. o Language Conquers está desarrollado basado el modelo arquitectónico cliente-servidor. o El modelo C4 [33] fue utilizado para el diseño arquitectónico de Language Conquers.

Limitaciones: o El Backend requiere de un jdk 1.8, con el fin de haber alguna modificación no genere errores con compatibilidad. o Angular cuenta con una versión 6.2.3, el compilador 6.1 y el material 6.2 si se desea modificar o crear algún nuevo componente. o El Node.js tiene una versión del 11.5 o posterior para el gestionador de dependencias para el angular.

3.3.2

Requisitos No Funcionales.

La Tabla 3.7 presenta los requisitos no funcionales documentados.

34


Ref. RFN-1 RFN-2

RFN-3

RFN-4 RFN-5 RFN-6

RFN-7

RFN-8

RFN-9 RFN-10

RFN-11

RFN-12

RFN-13

Descripción Requisito El sistema debe ser dirigido a los docentes y estudiantes de Ingeniería. El sistema debe contar con una buena confiabilidad en los datos de los módulos tanto docente como estudiante. El sistema debe contar con una alta disponibilidad las veinticuatro horas/ siete días a la semana. El sistema debe contar con el diseño seleccionado por los usuarios en el grupo focal realizado El sistema debe de contar con buena estética y diseño minimalista El sistema debe de brindar a los usuarios un buen control y libertad dentro de la aplicación El sistema debe de contar con una buena usabilidad y experiencia de usuario que ayude a lograr una mayor aceptación de los estudiantes y docentes hacia la aplicación El sistema debe ofrecer una “salida de emergencia” claramente marcada para dejar el estado no deseado al que accedieron, sin tener que pasar por una serie de pasos, incluyendo las funciones de deshacer y rehacer. El sistema debe ser intuitivo para los usuarios El sistema debe de verificar que los datos correspondientes a los campos sean ingresados correctamente. El sistema debe de soportar aproximadamente cincuenta estudiantes conectados al mismo tiempo en los cursos de programación. La plataforma debe contar con una alta confiabilidad en los datos para los módulos docente y estudiante. La plataforma debe estar activo las 24/7, puesto que los droplets tienen una alta disponibilidad.

Seguridad Disponibilidad

X X

X

X X X

X

X

X X

X

X

Tabla 3.7 Matriz de especificación y clasificación de requisitos no funcionales.

35

Usabilidad

X


3.4 Diseño de la Arquitectura. Para el diseño arquitectónico de Language Conquers se utilizó el Modelo C4 donde se describe y se comunica la arquitectura del software en diferentes niveles de detalle, contexto, contenedores, componentes y código, la notación utilizada es la siguiente:

Figura 3.2 Notación Modelo C4

3.4.1

Vista de alto nivel

Nivel 1: Diagrama de contexto El Diagrama de contexto muestra la relación del sistema con los usuarios quienes realizan diferentes funcionalidades dentro del sistema. En la Figura 3.3, se ilustra la relación de los estudiantes y al docente con la plataforma Language Conquers.

36


Figura 3.3 Nivel 1: Diagrama de contexto del sistema

3.4.2

Vista de procesos

Nivel 2: Diagrama de Contenedores El diagrama de Contenedor, Figura 3.4, muestra la forma de alto nivel de la arquitectura del software y cómo se distribuyen las responsabilidades a través de él. También muestra las principales opciones de tecnología y cómo los contenedores se comunican entre sí. En este diagrama de contenedores se observa cómo interactúan los implicados en el sistema, estudiante y docente los cuales tendrá relación directa con la aplicación web LanguageConquers-Fronted por medio de los protocolos HTTP, el cual consumirá servicios rest con LanguageConquers-backend y consultará información desde la base de datos.

37


Figura 3.4 Nivel 2: diagrama de contenedor

Diagrama Suplementario: Los diagramas suplementarios muestran de una forma libre los elementos en un proceso determinado con iteraciones numeradas para indicar el orden. DinĂĄmico - Crear Comentario: En la Figura 3.5 se visualiza el proceso de los diferentes componentes para crear comentarios en el foro de un recurso acadĂŠmico compartido por los usuarios.

38


Figura 3.5 Diagrama dinรกmico - Crear Comentario

Dinรกmico - Subir archivo En la Figura 3.6 se visualiza el proceso de los diferentes componentes para subir archivos por parte del estudiante en un curso.

39


Figura 3.6 Diagrama dinรกmico - Subir archivo

Dinรกmico Crear Curso En la Figura 3.7 se visualiza el proceso por parte del docente cuando crea un curso, el diagrama muestra cรณmo los elementos realizan iteraciones con los diferentes componentes de la plataforma.

40


Figura 3.7 Diagrama dinámico - Crear Curso

3.4.3

Vista de desarrollo

Nivel 3: Diagrama de Componentes El diagrama de componentes muestra a los usuarios del sistema y de una serie de componentes, con sus responsabilidades y los detalles de la tecnología / implementación. Para la Figura 3.8 y 3.9, se identifica los principales componentes estructurales para LanguageConquers-fronted y LanguageConquers-backend, los cuales son usados por los estudiantes por medio de los protocolos HTTP. En la Figura 3.12 se ilustra la descripción de los componentes.

41


Figura 3.8 Nivel 3: Diagrama de componentes - Estudiante parte 1.

42


Figura 3.9 Nivel 3: Diagrama de componentes - Estudiante parte 2

43


Para la Figura 3.10 y 3.11, se identifica los principales componentes estructurales para LanguageConquers-fronted y LanguageConquers-backend, los cuales son usados por los docentes por medio de los protocolos HTTP. En la Figura 3.12 se ilustra la descripciรณn de los componentes.

Figura 3.10 Nivel 3: Diagrama de componentes - Docente parte 1

44


Figura 3.11 Nivel 3: Diagrama de componentes - Docente parte 2.

45


En la Figura 3.12 se evidencia las descripciones de los componentes de los diagramas del modelo C4.

Figura 3.12 DescripciĂłn de componentes y base de datos

3.1.1

Vista lĂłgica

Nivel 4: Modelo relacional La Figura 3.13 se ilustra el cuarto nivel del diseĂąo de arquitectura para el modelo C4.

46


Figura 3.13 Nivel 4: Modelo de datos.

47


3.2 Patrones de Diseño Utilizados En esta sección se van a escribir y especificar los patrones de diseños que se utilizan dentro del desarrollo del proyecto Language Conquers. Inyección de dependencias: [34] Es un patrón de diseño orientado a objetos, en el que se suministran objetos a una clase en vez de ser la propia clase la que cree estos objetos. Facade: [35] Es un patrón de diseño estructural y este viene motivado por la necesidad de estructurar un entorno de programación y reducir su complejidad con la división de subsistemas, con el fin de minimizar las comunicaciones y dependencias entre estos. Singleton: [36] Es un patrón de diseño que permite restringir la creación de objetos pertenecientes a una clase o el valor de un tipo a un único objeto. Observer: [37] Es un patrón de diseño de software que define una dependencia del tipo uno a muchos entre objetos, de esta manera cuando uno de los objetos cambia su estado. Este notifica el cambio a todos los dependientes. Gateway: [38] Se le llama Anti-Facade, en el sentido de que es la aproximación contraria al patrón Service Facade que se usa para aislar los objetos del dominio vía DTOs. Repository: [39] Es un mediador entre el dominio de la aplicación y los datos que le dan persistencia. Factory [40]: Se le conoce como patrón de diseño creacional y su principal función es para construir una jerarquía de clases. 3.3 Justificación de Diseño Language Conquers está basado en el principio de bajo acoplamiento y alta cohesión de los métodos que los componen. Esto permite modificaciones sin alterar o dañar a otros métodos, por lo cual no afectará futuras actualizaciones o versiones nuevas del aplicativo web. El frontend de Language Conquers está basado en generar una buena experiencia de usuario logrando que dicho sistema sea eficiente y usable, es importante que el usuario se sienta cómodo al momento de usar la aplicación donde encuentre información clara, precisa y organizada, por esta razón el diseño propuesto ofrece una alta usabilidad. 3.4 Desarrollo 3.4.1 Tecnologías utilizadas

48

Spring boot: [41] “Spring boot hace que sea fácil, crea aplicaciones stand-alone y production-grade basadas en spring que puede "simplemente ejecutar" “. (Spring boot release 1.5.18, November 29, 2018).


Angular 6: [42] Es un framework para aplicaciones web desarrollado en TypeScript, de código abierto, mantenido por Google, que se utiliza para crear y mantener aplicaciones web de una sola página. (Angular 6, May 3, 2018).

Postgres: [43] Es un potente sistema de base de datos relacional de objetos de código abierto con más de 30 años de desarrollo activo (Postgres 17, Oct 18,2018).

Nodejs: [44] Es un entorno en tiempo de ejecución multiplataforma, de código abierto, para la capa del servidor basado en el lenguaje de programación ECMAScript, asíncrono, con I/O de datos en una arquitectura orientada a eventos y basado en el motor V8 de Google (Nodejs 10.15.3 lts, Marzo 15 2019).

Google Chrome: [45] Es un navegador web de software privativo o código cerrado desarrollado por Google (Windows, macOS, Linux (74.0.3729.61 Beta) 3 de abril de 2019).

3.4.2 ● ● ● ● ● ● ● ● ●

Tecnologías utilizadas y su Relación con los Atributos de Calidad.

Existe Interoperabilidad ya que Spring boot permite exponer servicio rest y Angular tiene la facilidad de consumirlos. Los componentes de Angular facilitan un diseño y navegación fluida para la plataforma. Spring boot permite dar permisos según el tipo de usuario en sesión y visualizar los módulos pertinentes para estos. Language Conquers usa métodos de Gamificación en el entorno gráfico para tener interfaces mucho más amigables con el usuario. El framework Spring permite realizar los componentes que se han utilizado para realizar la lógica de negocio. Los componentes del framework Angular facilita al autoaprendizaje de los usuarios. Se seleccionó Postgres por su fácil instalación y compatibilidad con el entorno de linux. Se seleccionó Angular ya que este Framework es muy popular entre los desarrolladores frontend y por su vasta documentación por parte de google. Se eligió desarrollar el backend con Spring Boot por la facilidad que posee a la hora de crear un proyecto, ya que este configura aspectos importantes. Esto ayuda a ahorrar tiempo para el desarrollo.

3.5 Prototipos del Software Prototipos de Language Conquers en cada una de sus fases, para evidenciar la evolución que se ha tenido desde sus inicios. 3.5.1

Desarrollo de prototipos

En la tabla 3.8 se evidencia la evolución de la pantalla login, Figura 3.14 versión 1.0, Figura 3.15 versión 2.0 y Figura 3.16 versión 2.1.

49


Versi贸n 1.0

Figura 3.14 Versi贸n 1.0 -Pantalla login. Versi贸n 2.0

Figura 3.15 Versi贸n 2.0 -Pantalla login.

50


Versión 2.1

Figura 3.16 Versión 2.1 - Pantalla login. Escena que representa:

Pantalla de login.

Funcionalidades:

El estudiante podrá digitar los datos personales para poder hacer uso de las funcionalidades que posee el sistema

Tipo Usuario:

Estudiante Tabla 3.8. Versiones - pantalla login.

En la tabla 3.9 se evidencia la evolución de la pantalla inicio estudiante, Figura 3.17 versión 1.0, Figura 3.18 versión 1.1 y Figura 3.19 versión 1.2.

51


Versi贸n 1.0

Figura 3.17 Versi贸n 1.0 -Pantalla inicio del estudiante. Versi贸n 1.1

Figura 3.18 Versi贸n 1.1 -Pantalla inicio del estudiante.

52


Versión 1.2

Figura 3.19 Versión 1.2 -Pantalla inicio del estudiante. Escena que representa:

Pantalla de inicio del estudiante.

Funcionalidades:

El alumno podrá observar el nivel en el que está, la barra de progreso y una representación porcentual de la misma, este avance dependerá directamente del porcentaje de los puntos obtenidos por recursos compartidos en el juego.

Tipo Usuario:

Estudiante Tabla 3.9. Versiones - pantalla inicio estudiante.

En la tabla 3.10 se evidencia la evolución de la pantalla crear curso, Figura 3.20 versión 1.0, Figura 3.21 versión 1.1.

53


Versión 1.0

Figura 3.20 Versión 1.0 -Pantalla crear curso. Versión 1.1

Figura 3.21 Versión 1.1 -Pantalla crear curso. Escena que representa:

Crear curso

Funcionalidades:

El programa brindará la posibilidad de que el docente configure sus cursos para tener una buena organización de la clase.

Tipo Usuario:

Docente Tabla 3.10. Versiones - pantalla crear curso.

54


En la tabla 3.11 se evidencia la evolución de la pantalla crear recursos, Figura 3.22 versión 1.0, Figura 3.23 versión 1.1. Versión 1.0

Figura 3.22 Versión 1.0 -Pantalla crear recurso. Versión 1.1

Figura 3.23 Versión 1.1 -Pantalla crear recurso. Escena que representa:

Crear recursos

Funcionalidades:

El docente podrá compartir con sus estudiantes los recursos académicos.

Tipo Usuario:

Docente Tabla 3.11. Versiones - pantalla crear recursos.

55


En la tabla 3.12 se evidencia la evolución de la pantalla recursos del tesoro, Figura 3.24 versión 1.0, Figura 3.25 versión 1.1. Versión 1.0

Figura 3.24 Versión 1.0 -Pantalla del tesoro. Versión 1.1

Figura 3.25 Versión 1.1 -Pantalla del tesoro. Escena que representa:

Recursos del tesoro

Funcionalidades:

Visualización por los estudiantes de los recursos compartidos por el docente

Tipo Usuario:

Usuario de negocio. Tabla 3.12. Versiones - pantalla Recursos del tesoro.

56


3.6 Pruebas y Evaluación de Software La aplicación de pruebas en Language Conquers fue importante para llevar un control de calidad en la realización del software. Se realizaron distintas pruebas a lo largo del desarrollo del proyecto: En conjunto con estudiantes de Ingeniería Multimedia se planteó propuestas visuales de la aplicación, buscando definir un modelo inicial. Se realizaron pruebas de usabilidad y experiencia de usuario con el objetivo de lograr evidenciar un buen uso de los elementos dentro de la pantalla y de lograr efectividad en el cumplimiento de las tareas que se pueden realizar a través de dichos elementos. Estas pruebas generaron ciertas observaciones de cambios con el fin de mejorar la experiencia de usuario, la técnica que se utilizó para la realización de estas pruebas fue por focus group y se realizaron encuestas Online a los usuarios [13]. Se realizaron pruebas de caja negra con el fin de observar y validar las funcionalidades de cada pantalla desarrollada con variables de datos definidas, se tomaron evidencia de las inconsistencias encontradas durante el proceso de pruebas, estas eran reportadas al equipo de desarrollo quienes en su momento daban solución al error. Por último, se realizaron las pruebas de aceptación, por parte del cliente y de los usuarios, con el fin de asegurar un buen funcionamiento de la aplicación y cumplimento de los requisitos. En las pruebas con los usuarios se validó la estrategia de juego gamificada y se obtuvieron resultados de este. 3.6.1

Casos de Prueba

Los casos de prueba especificados se describen de las Tablas del 3.13 hasta la 3.23. ID

CP-1

Nombre del Caso de Prueba:

Registro docente con éxito.

Proceso o Funcionalidad:

Registrar docente en la plataforma Language Conquers.

Descripción:

Un docente se registra con los datos solicitados completos en la plataforma.

ID de los Requisitos Relacionados:

RF-1.

Pasos para Ejecución:

57

1. 2. 3. 4.

Ir a crear cuenta. Ingresar campo nombres. Ingresar campo Apellidos. Ingresar campo Nombre de usuario.

Tipo de Prueba:

Positiva.


5. Ingresar campo correo electrónico. 6. Seleccionar género. 7. Seleccionar fecha de nacimiento. 8. Ingresar campo contraseña. 9. Ingresar campo repite tu contraseña. 10. Selecciona “Crear cuenta”. Variables de Entrada:

1. 2. 3. 4.

Nombres: “Marcela”. Apellidos: “Prieto”. Nombre de usuario: “mprieto”. correo electrónico: mprieto@hotmail.com. 5. género: “Femenino”. 6. fecha de nacimiento: “04/04/1985”.

Resultados Esperados:

1. Usuario creado. 2. mensaje “el usuario se creó con éxito”.

Observaciones:

El usuario se creó con éxito.

Estado:

Válido.

Tipo de Error:

N/A.

Tabla 3.13. Caso de prueba No. 1. ID

CP-2

Nombre del Caso de Prueba:

Crear curso con éxito.

Proceso o Funcionalidad:

Crear un curso en el módulo del docente.

Descripción:

El docente crea un nuevo curso.

ID de los Requisitos Relacionados:

RF-3.

Pasos para Ejecución:

58

1. Iniciar sesión en Language Conquers. 2. Seleccionar botón ➕. 3. Ingresa campo nombre. 4. Selecciona cantidad de estudiantes. 5. Ingresa contraseña del curso.

Tipo de Prueba:

Positiva.


6. Seleccionar crear curso. Variables de Entrada:

1. Nombre: “Primer curso”. 2. Cantidad de estudiantes: “20”. 3. contraseña del curso: “primercurso”.

Resultados Esperados:

1. Se crea el curso. 2. mensaje: “El curso "Primer. curso" ha sido creado!”.

Observaciones:

El curso se ha guardado con éxito.

Estado:

Válido.

Tipo de Error:

N/A.

Tipo de Prueba:

Positiva.

Tabla 3.14. Caso de prueba No. 2. ID

CP-3

Nombre del Caso de Prueba:

Creación de un recurso docente.

Proceso o Funcionalidad:

El docente crear un recurso académico.

Descripción:

El docente crea un recurso dentro del curso.

ID de los Requisitos Relacionados:

RF-23.

Pasos para Ejecución:

1. Iniciar sesión en Language Conquers. 2. Seleccionar curso. 3. Seleccionar configurar recurso. 4. Presionar “Seleccionar archivo”. 5. Seleccionar documento. 6. Seleccionar “Abrir”. 7. Ingresar campo título. 8. Ingresar campo Descripción. 9. Seleccionar botón Subir.

Variables de Entrada:

1. Archivo: “Proyecto”. 2. Nombre: “primer recurso”. 3. Descripción: “comparto primer recurso”.

59


Resultados Esperados:

1. Creación de recurso. 2. Visualización en pantalla de recurso creado.

Observaciones:

El recurso se ha creado con éxito.

Estado:

Válido.

Tipo de Error:

N/A.

Tipo de Prueba:

Positiva.

Tabla 3.15. Caso de prueba No. 3. ID

CP-4

Nombre del Caso de Prueba:

Registro estudiante con éxito.

Proceso o Funcionalidad:

El sistema debe permitir al estudiante registrarse.

Descripción:

El estudiante se registra en la plataforma Language Conquers.

ID de los Requisitos Relacionados:

RF-2.

Pasos para Ejecución:

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.

Variables de Entrada: 60

Ir a crear cuenta. Ingresar campo nombres. Ingresar campo Apellidos. Ingresar campo Nombre de usuario. Ingresar campo correo electrónico. Seleccionar género. Seleccionar fecha de nacimiento. Ingresar campo contraseña. Ingresar campo repite tu contraseña. Ingresar clave del curso. Seleccionar curso. Seleccionar nivel de programación. Seleccionar programa académico. Seleccionar semestre. Seleccionar avatar. Seleccionar “Registrarme”.

1. nombres: “laura marcela”.


2. apellidos: “garcia garcia”. 3. Nombre de usuario: “lmgarcia”. 4. Correo electrónico: lmgarcia@hotmail.com. 5. contraseña: “123”. 6. repetir la contraseña:”123”. 7. Género: “femenino”. 8. código del curso: “primercurso”. 9. curso seleccionado: “Fundamentos”. 10. Nivel de programación: “Medio”. 11. Programa académico: “Ingeniería de sistemas”. 12. Semestre: “2”. 13. avatar: “avatar mujer”. Resultados Esperados:

1. Guardar usuario.

Observaciones:

El usuario se creó con éxito.

Estado:

Válido.

Tipo de Error:

N/A.

Tipo de Prueba:

Positiva.

Tabla 3.16. Caso de prueba No. 4. ID

CP-5

Nombre del Caso de Prueba:

Registro estudiante sin éxito por con campos vacíos.

Proceso o Funcionalidad:

Mensaje de error al registrar a un estudiante con campos vacíos.

Descripción:

El estudiante se registra en la aplicación Language Conquers con campos vacíos.

ID de los Requisitos Relacionados:

RF-2.

Pasos para Ejecución:

1. 2. 3. 4. 5. 6. 7. 8. 9.

61

Ir a crear cuenta. Ingresar campo nombres. Ingresar campo Apellidos. Ingresar campo Nombre de usuario. Ingresar campo correo electrónico. Seleccionar género. Seleccionar fecha de nacimiento. Ingresar campo contraseña. Ingresar clave del curso.


Variables de Entrada:

10. 11. 12. 13. 14. 15.

Seleccionar curso. Seleccionar nivel de programación. Seleccionar programa académico. Seleccionar semestre. Seleccionar avatar. Seleccionar “Registrarme”.

1. 2. 3. 4. 5. 6. 7. 8. 9.

nombres: “laura marcela”. apellidos: “garcia garcia”. Nombre de usuario: “lmgarcia”. Correo electrónico: “Vacio”. contraseña: “123”. repetir la contraseña: “123”. Género: “femenino”. código del curso: “primercurso”. curso seleccionado: “Fundamentos”. Nivel de programación: “Medio”. Programa académico: “Ingeniería de sistemas”. Semestre: “2”. avatar: “avatar mujer”.

10. 11. 12. 13. Resultados Esperados:

1. Mensaje: “Al parecer hay campos vacíos. Asegúrate de llenar todos los datos”.

Observaciones:

El campo vacío sale mensaje de error.

Estado:

Válido.

Tipo de Error:

N/A.

Tipo de Prueba:

Positiva.

Tabla 3.17. Caso de prueba No. 5. ID

CP-6

Nombre del Caso de Prueba:

Registro estudiante sin éxito por curso no creado.

Proceso o Funcionalidad:

No registrar a un estudiante con un curso no creado.

Descripción:

El estudiante se registra en la aplicación Language Conquers con un curso inválido.

ID de los Requisitos Relacionados:

RF-2.

Pasos para 62

1. Ir a crear cuenta.


Ejecución:

2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.

Ingresar campo nombres. Ingresar campo Apellidos. Ingresar campo Nombre de usuario. Ingresar campo correo electrónico. Seleccionar género. Seleccionar fecha de nacimiento. Ingresar campo contraseña. Ingresar clave del curso. Seleccionar curso. Seleccionar nivel de programación. Seleccionar programa académico. Seleccionar semestre. Seleccionar avatar. Seleccionar “Registrarme”.

Variables de Entrada:

1. 2. 3. 4.

nombres: “laura marcela”. apellidos: “garcia garcia”. Nombre de usuario: “lmgarcia”. Correo electrónico: lmgarcia@hotmail.com. contraseña: “123”. repetir la contraseña:”123”. Género: “femenino”. código del curso: “curso”. curso seleccionado: “Fundamentos”. Nivel de programación: “Medio”. Programa académico: “Ingeniería de sistemas”. Semestre: “2”. avatar: “avatar mujer”.

5. 6. 7. 8. 9. 10. 11. 12. 13. Resultados Esperados:

1. Mensaje: “No se pudo registrar el usuario, por favor comprueba el código del curso”.

Observaciones:

El campo vacío sale mensaje de error.

Estado:

Válido. Tabla 3.18. Caso de prueba No. 6.

ID

CP-7

Nombre del Caso de Prueba:

Compartir recurso académico – estudiante.

63

Tipo de Error:

N/A.


Proceso o Funcionalidad:

Guardar documento en un curso con toda la información requerida.

Descripción:

El estudiante comparte un documento con el curso con la información solicitada.

ID de los Requisitos Relacionados:

RF-12.

Pasos para Ejecución:

1. Iniciar sesión en Language Conquers 2. Seleccionar “Tu isla”. 3. Ingresar información en el campo nombre recurso. 4. Ingresar información de la descripción. 5. Presionar “Seleccionar archivo”. 6. Seleccionar documento. 7. Seleccionar “Abrir”. 8. Seleccionar “Subir archivo”.

Variables de Entrada:

1. Campo título “programación java”. 2. Campo descripción “comparto mi primer recurso”. 3. Recurso: “Programacion.docx”.

Resultados Esperados:

1. Recurso guardado. 2. Aumentar puntuación. 3. Mensaje “Felicidades, has conseguido 100 puntos por compartir tu conocimiento.”.

Observaciones:

Cargue de archivo exitoso.

Estado:

Válido. Tabla 3.19. Caso de prueba No. 7.

ID

CP-8

Nombre del Caso de Prueba:

Compartir recurso académico sin éxito por campos vacíos.

Proceso o Funcionalidad:

Guardar un documento sin completar la información requerida.

Descripción:

Mensaje de error al guardar documento sin información en los campos nombre y descripción.

64

Tipo de Prueba:

Positiva.

Tipo de Error:

N/A.


ID de los Requisitos Relacionados:

RF-12.

Pasos para Ejecución:

1. Iniciar sesión en Language Conquers. 2. Seleccionar “Tu isla”. 3. Campo vacío nombre recurso. 4. Campo vacío descripción. 5. Presionar “Seleccionar archivo”. 6. Seleccionar documento. 7. Seleccionar “Abrir”. 8. Seleccionar “Subir archivo”.

Variables de Entrada:

1. recurso: documento repaso.docx.

Resultados Esperados:

1. Mensaje “Para crear tu recurso, debes llenar toda la información !!!.”.

Observaciones:

Cargue de archivo no exitoso.

Estado:

Válido.

Tipo de Prueba:

Positiva.

Tipo de Error:

N/A

Tipo de Prueba:

Positiva.

Tabla 3.20. Caso de prueba No. 8. ID

CP-9

Nombre del Caso de Prueba:

Eliminar recurso académico.

Proceso o Funcionalidad:

Eliminar un recurso académico ya compartido.

Descripción:

El estudiante elimina recurso compartido.

ID de los Requisitos Relacionados:

RF-13.

Pasos para Ejecución:

1. 2. 3. 4. 5.

Variables de Entrada:

1. Archivo Seleccionado.

65

Iniciar sesión en Language. Conquers. Seleccionar “Tu isla”. Seleccionar icono de papelera. Seleccionar Aceptar en el mensaje de validación “Está seguro que desea eliminar?”.


Resultados Esperados:

1. Disminuir puntuación. 2. Eliminar recurso. 3. Mensaje “Tu puntuación a decaído, -100 puntos.”.

Observaciones:

El archivo es eliminado con éxito.

Estado:

Válido.

Tipo de Error:

N/A.

Tipo de Prueba:

Positiva.

Tipo de Error:

N/A.

Tabla 3.21. Caso de prueba No. 9. ID

CP-10

Nombre del Caso de Prueba:

Descargar recurso académico.

Proceso o Funcionalidad:

Descargar un recurso académico compartido por el docente o los estudiantes.

Descripción:

El estudiante descarga un recurso compartido.

ID de los Requisitos Relacionados:

RF-10.

Pasos para Ejecución:

1. Iniciar sesión en Language Conquers. 2. Seleccionar cofre. 3. Seleccionar recurso. 4. Seleccionar descargar.

Variables de Entrada:

1. Recurso seleccionado.

Resultados Esperados:

1. recurso descargado.

Observaciones:

El recurso es descargado con éxito.

Estado:

Válido. Tabla 3.22. Caso de prueba No. 10.

ID

CP-11

Nombre del Caso de Prueba:

Realizar comentario de un recurso académico.

Proceso o

Realizar comentarios sobre el recurso

66


Funcionalidad:

académico compartido.

Descripción:

El estudiante realiza comentarios un recurso compartido.

ID de los Requisitos Relacionados:

RF-11.

Pasos para Ejecución:

1. 2. 3. 4. 5.

Tipo de Prueba:

Positiva.

Iniciar sesión en Language Conquers. Seleccionar cofre. Seleccionar recurso. Ingresar texto en el campo de foro. Seleccionar botón ✔.

Variables de Entrada:

1.

Comentario.

Resultados Esperados:

1. 2.

Guardar comentario. Visualizar comentario en el foro.

Observaciones:

El comentario se ha guardado con éxito.

Estado:

Válido.

Tipo de Error:

N/A.

Tabla 3.23. Caso de prueba No. 11.

3.6.2 ●

Resumen Pruebas Funcionales

En el CP-1. registrar un docente con éxito, se evidencia en la figura 3.26, como resultado mensaje en pantalla: “El usuario se creó con éxito” figura 3.27.

Figura 3.26 Formulario de creación de cuenta docente diligenciado

67


Figura 3.27 Mensaje de éxito - registro docente

En el CP-2, la figura 3.28 evidencia la creación de un curso con éxito, mensaje “El curso “Primer curso” ha sido creado”

Figura 3.28 Creación de curso con éxito

68

En la figura 3.29, se evidencia la creación de un recurso del docente, como resultado se visualiza el recurso en pantalla con su nombre y fecha de creación, se realizó el proceso del CP-3.


Figura 3.29 Creación de curso recurso - docente

Para el proceso del CP-4, se evidencia con éxito la creación de un usuario estudiante en donde se valida entrando a la plataforma con la información diligenciada en el registro: nombre de usuario y contraseña, figura 3.30.

Figura 3.30 cuenta - usuario estudiante

69

En el proceso del CP-5 al no completar todos los campos del registro formulario estudiante se evidencia el mensaje: “Al parecer hay campos vacíos. Asegúrate de llenar todos los datos”, figura 3.31.


Figura 3.31 formulario registro estudiante – campos vacíos

En el proceso del CP-6 al no ingresar un código de curso valido se evidencia el mensaje: “No se pudo registrar el usuario, por favor comprueba el código del curso”, figura 3.32.

Figura 3.32 formulario registro estudiante – código curso no válido.

70

En la figura 3.33, se evidencia la creación de un recurso por parte del estudiante, como resultado se visualiza el recurso en pantalla con su nombre y fecha de creación, y se evidencia un mensaje “Felicidades, has conseguido 100 puntos por compartir tu conocimiento.” Figura 3.34, se realizó el proceso del CP-7.


Figura 3.33 Creación de curso recurso – estudiante.

Figura 3.34 Mensaje de éxito, creación de curso recurso – estudiante.

71

En el proceso del CP-8 al no completar todos los campos del formulario creación de recurso – estudiante, se evidencia el mensaje: “Para crear tu recurso, debes llenar toda la información !!!.”, figura 3.35.


Figura 3.35 formulario creación de recurso – campos vacíos

En el proceso del CP-9, eliminar un recurso se evidencia dos mensajes, primer Mensaje “Está seguro que deseas eliminar” Figura 3.36 y segundo mensaje “Tu puntuación ha decaído, -100 puntos.” Figura 3.37.

Figura 3.36 Eliminar recurso estudiante – Primer mensaje

72


Figura 3.37 Eliminar recurso estudiante – Segundo mensaje

En el proceso del CP-10, descargar un recurso se evidencia el archivo descargado en la parte inferior de la pantalla Figura 3.38.

Figura 3.38 Descarga de recursos académicos.

73

En el proceso del CP-11, crear un comentario en el foro se evidencia el mensaje en pantalla Figura 3.39.


Figura 3.39 Comentario foro.

3.7 Acceso a la Aplicación La aplicación fue desplegada en el servidor Digital Ocean. Se diseñó un video para mostrar el funcionamiento y uso de la aplicación desarrollada a manera de guía para los dos tipos de usuarios que tiene la aplicación (Docentes y Estudiantes). Acceso 1. 2. 3. 4.

Video Estudiante: https://www.youtube.com/watch?v=RSMs5YwdpkA Video Docente: https://www.youtube.com/watch?v=Ubxj7LXz0qs Aplicación (Estudiante): 157.230.213.105/teacher-frontend/#/login Aplicación (Docente): 157.230.213.105/teacher-frontend/#/loginProfesor

Roles de Pruebas 

Rol Profesor o Login: jljurado@usbcali.edu.co o Password: programacion

Rol Estudiante o Login: lfcanaval o Password: 123

3.8 Estándares de ingeniería empleados durante el Proyecto Como estándar de referencia para el documento de especificación de requerimientos, se utilizó el estándar IEEE 29148. Este estándar, dictamina la estructura que se debe seguir para la construcción de un documento de especificación de requerimientos. Como estándar para el diseño de la estrategia de juego, se utilizó el método DeDalus [8]. Este método se divide en 3 etapas: Procedimiento de ambiente de juego, ambiente de juego y, por último, medición y evaluación. 74


4. ANÁLISIS DE RESULTADOS 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8

75

Análisis de impactos Utilización de herramientas Análisis de diseño de componentes Cumplimiento de objetivos Análisis de impacto Conclusiones Experiencia de diseño en ingeniería de software Trabajos futuros


4. ANÁLISIS DE RESULTADOS 4.1 Análisis de Impactos La propuesta de ingeniería discutida en el presente documento tiene diferentes impactos en el escenario en el cual se contextualiza el problema. Estos impactos pueden ser analizados y discutidos desde las siguientes dimensiones o perspectivas: ambiental, social, económica, técnica, e individual [46].  Ambiental: El propósito del proyecto no iba enfocado a esta área, pero de un modo u otro el uso de herramientas virtuales hace que disminuya el consumo de papel y uso de impresoras. Esto ayuda a tener un beneficio ambiental. Los estudiantes tendrán una herramienta con todo el material que el profesor suministra como recursos académicos.  Social: Está orientado a apoyar en los procesos de deserción de estudiantes, lo que permitirá que, en áreas afines de la TI, se genere un mayor número de profesionales que puedan incorporarse a la industria de software a partir de la baja deserción. Nuestro impacto directo no es mejorar la deserción, sino que va orientado a beneficiar la motivación en los primeros cursos de programación. Esto contribuirá a que los estudiantes mejoren la participación y el interés por continuar en estas carreras y a futuro esto implica tener un mayor número de profesionales de estas áreas que tanto necesita la industria de TI.  Económico: El proyecto a largo plazo apoyará a las instituciones, profesores y estudiantes, con el uso de herramientas y estrategias de juego, ayudará a disminuir la cantidad de horas de trabajo y a tener un ambiente más colaborativo, ya que el aprendizaje se desarrollará en un ambiente virtualizado. Apoyara en la deserción ayudando a disminuir los gastos por parte de familias y del gobierno.  Técnica: Para el desarrollo de la plataforma Language Conquers se ha realizado la investigación de todo el marco teórico, la creación de la estrategia de juego DeDalus que permite estimar condiciones de colaboración y contribución en el proceso de aprendizaje de los estudiantes, la evaluación de la usabilidad y experiencia de usuario. Dentro de la Gamificación el concepto que se evaluará como primera fase es el tema mo tivacional donde se medirá la participación del estudiante y el nivel de la motivación al consumir recursos académicos, se espera contar con distintas fases del proyecto para ir ajustando la estrategia de juego si este lo requiere.  Individual: El proyecto está orientado a una mejora académica, incrementando la participación y el autoaprendizaje del estudiante, esto quiere decir que la educación y el desarrollo de nuevas habilidades tendrán un avance significativo dentro de la academia. Un estudiante que esté motivado va a generar mejores resultados en el aprendizaje, esto hará que baje los niveles de deserción y que los proyectos académicos que se desarrollan en la TI sean más competitivos frente a otros programas que no involucren técnicas de juego para mejorar la motivación. Esto sería una herramienta que motivaría y aumentaría el deseo de aprender programación en los primeros semestres, dejando 76


atrás los ambientes académicos tradicionales donde se obliga al estudiante a memorizar código y no hacerlo por gusto. 4.2 Utilización de herramientas Dentro del desarrollo para el proyecto se usaron herramientas tecnológicas como: ●

Spring boot: Módulo que trabaja sobre el core de spring framework de una manera rápida y configurable haciendo que el desarrollo se enfoque en el problema a resolver que en la configuración del proyecto.

Angular Cli pertenece dentro de las limitaciones ya que el frontend fue desarrollado por el programa de Ingeniería Multimedia.

NodeJS Se aplica para el uso de su inyección de dependencias dentro del Frontend.

Postgres Se seleccionó por lo cómodo y rápida instalación en el servidor de linux.

JPA: Esta herramienta se seleccionó por la manipulación de datos relacionales en aplicaciones usando java.

Maven Para la gestión y construcción de proyecto de software.

oauth2: Este protocolo admite que las aplicaciones puedan ingresar de una forma delimitada a los datos. Una de las grandes ventajas es la integración entre aplicaciones sin tener que compartir la contraseña o algún dato sensible, también permite que el usuario pueda revocar privilegios a las aplicaciones.

4.3 Análisis de diseño de componentes Durante el proceso de ingeniería de software realizado se utilizaron Vistas de alto nivel representada en un diagrama de contexto, vista de procesos representada en un diagrama de contenedores y diagramas suplementarios, vista lógica representada mediante un modelo entidad relación (MER) y vista de desarrollo representada por un diagrama de componentes. Estas vistas fueron diseñadas con base al modelo de diseño C4 el cual dictamina las pautas y reglas para el diseño de distintos diagramas que sirvan para representar un sistema. 4.4 Cumplimiento de Objetivos 

Obj 1: Diseñar una estrategia de juego basada en el método DeDalus que permita implementar una herramienta de apoyo en la motivación al proceso de aprendizaje de la programación y la participación que genera en los estudiantes de los primeros años de formación en ingeniería.

El objetivo se cumplió mediante el modelo de proceso utilizado para el desarrollo de la solución. La estrategia de juego DeDalus ayudó a realizar un análisis en torno a procedimientos y métodos que permitieron implementar elementos de Gamificación por medio de un modelo abstracto de pasos para mejorar aspectos como la motivación, la 77


participación y la colaboración de los estudiantes, Los elementos utilizados en la estrategia de juego fueron: Avatars, Bienes virtuales y Puntuaciones. En el Anexo 1, se evidencia la estrategia propuesta, el modelo de negocio, la indicación del problema y el diseño de la estrategia de juego.

Figura 4.1 Mecánicas Language Conquers.

Obj 2: Diseñar y desarrollar un Juego serio que implemente la estrategia de juego propuesta (Obj 1) en una aplicación web denominada Language Conquers.

El cumplimiento de este objetivo se basó en el desarrollo de la aplicación web gamificada Language Conquers, diseñada con el propósito de servir de apoyo para mejorar la motivación del estudiante en el uso de recursos académicos, midiendo la participación y la asistencia. Mediante la aplicación web, los estudiantes pueden compartir y tener accesos a recursos y realizar comentarios a través de foros dentro del sistema. Language Conquers se realizó en el lenguaje de programación java para el backend con el framework SpringBoot, se integró con Angular para el frontend y PostgreSQL para el almacenamiento de los datos. 

78

Obj 3: Implementar un estudio de caso que permita validar la estrategia propuesta en (Obj 1) a través de la aplicación desarrollada (Obj 2) en un curso de introducción a la programación del programa de Ingeniería de Sistemas.


Para el cumplimiento de este objetivo de validar la estrategia propuesta, se realizó una comparación con Language Conquers y Moodle de la Universidad San Buenaventura Cali, en los cursos de Fundamentos e introducción a la ingeniería, con estudiantes de los programas de Ingeniería de sistemas, multimedia y electrónica de primer y segundo semestre. Los indicadores evaluados fueron: o o

Asistencia Participación

Estos indicadores fueron evaluados mediante los siguientes datos: o o o o

Inscripción: Cantidad de estudiantes registrados en la plataforma. Acceso a los recursos: Cantidad de recursos académicos descargados por los estudiantes. Comentarios: Cantidad de comentarios alrededor de los recursos. Nuevos archivos: Archivos compartidos por los estudiantes.

Estos fueron los datos que se obtuvieron implementando la herramienta Moodle VS Language Conquers: En la figura 4.2 se observa la configuración del docente al subir y compartir recursos académicos en el curso, para estas pruebas se cargaron 4 archivos referentes a la programación en PYTHON.

Figura 4.2 Configuración de recursos – Language Conquers.

En el caso del Moodle figura 4.3, se configuró y cargó los recursos académicos para compartirlos a los estudiantes, los cuales fueron un total de 5 archivos, referente a la programación en Processing, además se configuró el Foro para cada uno de los archivos donde se les especificó a los estudiantes que al momento de consumir un recurso académico podía dejar su comentario al respecto al igual se configuró una sesión de compartir archivos para que los estudiantes subieran archivos de su interés Figura 4. 79


Figura 4.3 Configuración de recursos – Moodle

Figura 4.4 Información de los recursos – Moodle.

Evidencia de registros en las plataformas:

Para la plataforma Language conquers se evidenció en total a 15 estudiantes registrados, en la Figura 4.5 se observa el nombre del estudiante, el nombre del curso y fecha y hora de registro. En el momento de presentar la plataforma Language Conquers algunos de los estudiantes mostraron curiosidad e interés en ingresar y esto es evidenciado en el campo date_registry ya que la apertura del curso y la fecha de registro de los estudiantes fue de un tiempo corto.

80


Figura 4.5 Estudiantes matriculados Language Conquers.

Para la plataforma Moodle se registraron 8 estudiantes, como se evidencia en la Figura 4.6. En la figura 4.7 se observa el campo fecha y hora en el que los estudiantes se matricularon, contando con un margen de 6 horas desde la apertura del curso y el registro de algunos estudiantes.

Figura 4.6 Estudiantes matriculados curso Moodle 1.

81


Figura 4.7 Estudiantes matriculados curso Moodle 2.

Evidencia de acceso a los recursos en las plataformas:

En language Conquers se logró evidenciar 35 descargas de los 4 recursos compartidos por el docente, en la figura 4.8 se evidencia el nombre del estudiante, el curso y el archivo el cual descargó. El recurso Introducción a los tipos de datos en Python y mi primer proyecto en Python fueron descargados por todos los estudiantes registrados en el curso (15), el recurso por qué aprender a programar con Python contó con 5 descargas y el recurso totugazo no tuvo descargas por parte de los estudiantes.

82


Figura 4.8 Acceso a los recursos académicos – Language Conquers

En el Moodle se evidenció figura 4.9 las visualizaciones y descargas de cada uno de los recursos compartidos por el docente, el total de descargas por parte de los estudiantes fue de 19.

Figura 4.9 Acceso a los recursos académicos – Moodle

Evidencia cantidad de comentarios en las plataformas:

En el caso de Language Conquers se evidenciaron 18 comentarios en los 4 archivos compartidos por el docente, como se evidencia en la figura 4.10, A pesar de encontrar comentarios no acordes al tema se puede evidenciar que los estudiantes se interesaron en participar. 83


Figura 4.10 Comentarios foros– Language Conquers

En la plataforma Moodle se evidencia una cantidad de 3 visualizaciones en el foro Processing un lenguaje al alcance de todos y 2 visualizaciones en el foro ¿Por qué aprender programación? processing, esto no quiere decir que los estudiantes realizaron comentarios, solo entraron al foro, por tal razón la cantidad de comentarios realizados por los estudiantes registrados es de 0. Figura 4.11.

Figura 4.11 Visualización foros– Moodle

Evidencia Nuevos archivos:

En el caso de la plataforma Language Conquers, se evidencia un total de 94 archivos compartidos por los estudiantes. En la figura 4.12 se visualiza la cantidad de archivos compartidos, el nombre del curso y el estudiante que compartió dichos archivos. En este punto encontramos una inconsistencia a pesar de que se logra evidenciar el interés y la participación del estudiante, el error radica en el servidor, por haber muchos usuarios conectados al tiempo la carga de los archivos empezó a ponerse lenta y a no responder, los estudiantes al no ver que sus archivos subían, la petición fue enviada n veces y al momento de completar la información solicitada, se evidencio en tres casos específicos que la cantidad de archivos compartidos era muy alta.

84


Figura 4.12 Archivos compartidos - Language Conquers.

En el caso del Moodle en la figura 4.11 se evidencia que no hubo archivos compartidos por parte de los estudiantes registrados “compartir archivos”. La comparación realizada previamente, la podemos ver reflejada en el siguiente gráfico de barras comparativo. El color azul representa el aplicativo web Language Conquers y el rojo al Moodle.

Figura 4.13 Gráfico Language Conquers VS Moodle

4.5 Análisis de Impactos Para medir los impactos de interés, participación y asistencia de los estudiantes en consumir contenidos gamificados la métrica utilizada fue la motivación, la cual se logró impactar positivamente en los cuatros indicadores evaluados. Como se evidencia en la Figura 4.13 con los cuatro indicadores de datos probados se demuestra que la implementación de una estrategia de juego, que sirva como apoyo en motivar el interés de consumo de recursos académicos en los estudiantes de los programas de ingeniería, incrementa la producción de conocimiento y aprendizaje autónomo de un lenguaje de programación. Con la comparación reflejada anteriormente, en el caso de usuarios registrados, en ambas herramientas se contó con una muestra de 35 estudiantes en los cursos de ingeniería, el

85


beneficio de este indicador fue el interés, pues para Language Conquers 15 estudiantes se registraron y en el Moodle se evidenció 8 estudiantes. En el caso de acceso a recursos, se evidencia un impacto mayor de motivación pues se contaba con 4 archivos en la herramienta Language Conquers y el total de descargas de todos los recursos académicos fueron de 35 veces y en el Moodle para 5 archivos su total de descarga fue de 19 veces. En este punto de datos obtenidos se evidencia un mayor interés por parte del estudiante en consumir recursos académicos. En los comentarios realizados se visualiza una mayor participación y recurrencia en la participación de los estudiantes dentro de la herramienta Language Conquers. Para el caso de nuevos archivos, en donde los estudiantes podían compartir recursos académicos de su interés con sus compañeros, se evidencio que 10 estudiantes de los 15 registrados comentaron en los foros mientras en el Moodle no se realizaron. 4.6 Conclusiones 1. Se obtuvo resultados positivos durante las pruebas con los estudiantes ya que se logró evidenciar que la estrategia de juego propuesta ayudó a incrementar los indicadores de interés, participación y asistencia. 2. La ejecución de Language Conquers permitió identificar que por el gran contenido que maneja la aplicación en cuestión a carga de archivos se recomienda un servidor con más GB de almacenamiento. 3. Language Conquers se está desarrollando en el semillero de Gamificación de la Universidad San Buenaventura Cali, esta aplicación web nos ha ayudado a estimular la parte investigativa para desarrollar estrategias de juego que ayuden a solucionar problemas. 4. Se utilizó la metodología DeDalus para el diseño de estrategia el cual va a soportar la aplicación Language Conquers. 5. Por medio de esta aplicación web los estudiantes dispondrán de una enseñanza más lúdica e interactiva. 6. Implementando la Gamificación como una tecnología innovadora para la aplicación web permitirá garantizar un adecuado proceso de aprendizaje que ayudará a aumentar la disposición de los estudiantes en cuanto al estudio, desarrollo y práctica de los temas fundamentales en la programación, buscando así que los estudiantes generen buenas experiencias en el aprendizaje de los temas. 7. Esta herramienta educativa ayudará a que los estudiantes se motiven en el aprendizaje de nuevos lenguajes de programación evitando la deserción de los estudiantes en los primeros semestres de las carreras afines a la ingeniería.

86


4.7 Experiencia de diseño en ingeniería de software La experiencia de diseño con respecto a la formación impartida en la carrera en ingeniería de software se puede resumir con los siguientes puntos: 

Comprender como el uso de las distintas herramientas, tecnologías, técnicas y demás conocimiento adquirido durante la carrera, se ven reflejados en la culminación de un proyecto de desarrollo con éxito.

Tener la capacidad de llevar a la realidad, el desarrollo de un sistema, basándose en el proceso de levantamiento de requerimientos, el diseño y especificación de estos en un contexto real.

4.8 Trabajos Futuros Como a trabajo a futuro se identifica:  Evaluar el proceso de aprendizaje y motivación por parte del estudiante implementando otras mecánicas de juego como niveles, misiones y tabla de ranking en la plataforma.  Reestructurar la estructura lúdica con el fin de mejorar aspectos visuales.  Elaborar un engagement player y validar la estructura propuesta realizando pruebas en un curso de programación.

87


5. REFERENCIAS

88


5. REFERENCIAS [1] Gamificación: el aprendizaje divertido-Virginia Gaitán, 15/10/2013) [2] Ventajas del aprendizaje basado en juegos o Game-Based Learning, 21/07/2015 [3] (¿Qué es un serious game?,17/06/2015) [4] (Qué es la motivación,18/10/2013) [5] DeDalus, un método ágil para el diseño.PDF, Universidad del Cauca, Popayán (Colombia), Universidad de Granada, Granada (Espeña). [6] Burgos Mantilla, G. (14 Feb 2010).EducaciònSuperior. 14th ed. PDF, p.9. Available at:https://www.mineducacion.gov.co/1621/articles-92779_archivo_pdf_Boletin14.pdf [7] Rius, M. (2010). Escolares sin motivación. [online] La Vanguardia. Available at: http://www.lavanguardia.com/vida/20100220/53894247813/escolares-sinmotivacion.html [Accessed 23 Feb. 2010] [8]Jurado, J., Collazos, C. and Gutierrez, F. (n.d.). DEDALUS, UN MÉTODO AGIL PARA EL DISEÑO DE. Universidad San Buenaventura, Cali (Colombia), Universidad del Cauca, Popayán (Colombia), Universidad de Granada, Granada (Espeña). [9] https://ascun.org.co/ (Ascun, 2018) [10] (Educación Superior, 2010) [11] Gallego, F., Molina, R. and Llorens, F. (2014). Gamificar una propuesta docente Diseñando experiencias positivas de aprendizaje. [online] Rua.ua.es. Available at: https://rua.ua.es/dspace/bitstream/10045/39195/1/Gamificacio%CC%81n%20%28definicio %CC%81n%29.pdf [Accessed 9 Jul. 2014]. [12] Aprendizaje y práctica de la programación. formularios at: https://forms.gle/jfBMNr84N53YBVea9 [13]Paola B., Luisa G. (2018), http://bibliotecadigital.usb.edu.co/bitstream/10819/6166/1/Diseno_usabilidad_Gonzalez_ Boxiga_2018.pdf [14] GAMIFICAR: EL USO DE LOS ELEMENTOS DEL JUEGO EN LA ENSEÑANZA DE ESPAÑOL.PDF. Mahidol University International College y Sichuan International Studies University, College of International Education: LEYRE ALEJALDRE BIEL Y ANTONIA MARÍA GARCÍA JIMÉNEZ, pp.74-78. Available at: https://cvc.cervantes.es/ensenanza/biblioteca_ele/aepe/pdf/congreso_50/congreso_50_0 9.pdf. [15] Aprendiendo Gamification. (2014). Gamification: Definición y Esencia. [online] Available at: https://comunidad.iebschool.com/hectorcrosswell/2014/05/04/la-definicionde-gamification-y-su-esencia/ [Accessed 4 May 2014] [16] Aprendiendo Gamification. (2014). Gamification: Definición y Esencia. [online] Available at: https://comunidad.iebschool.com/hectorcrosswell/2014/05/04/la-definicionde-gamification-y-su-esencia/ [Accessed 4 May 2014] [17] GAMIFICAR: EL USO DE LOS ELEMENTOS DEL JUEGO EN LA ENSEÑANZA DE ESPAÑOL.PDF. Mahidol University International College y Sichuan International Studies University, College of International Education:LEYRE ALEJALDRE BIEL Y ANTONIA MARÍA 89


GARCÍA JIMÉNEZ at: https://cvc.cervantes.es/ensenanza/biblioteca_ele/aepe/pdf/congreso_50/congreso_50_0 9.pdf [18] Blog de IEBSchool. (2013). Gamification: tipos de jugadores según el modelo Bartle. [online] Available at: https://www.iebschool.com/blog/tipos-jugadores-gamification-2innovacion/ [Accessed 1 Aug. 2013]. [19]Gamelearn: Game-based learning courses for soft skills training. ¿Qué es Game-based learning?. [online] Available at: https://www.game-learn.com/que-es-game-basedlearning/ [Accessed 23 Jul. 2014]. [20]Gamelearn: Game-based learning courses for soft skills training. (2015). Game-based learning y gamificación. [online] Available at: https://www.game-learn.com/game-basedlearning-y-gamificacion/ [Accessed 30 Jul. 2014]. [21] Ventajas del aprendizaje basado en juegos o Game-Based Learning, aulaPlaneta http://www.aulaplaneta.com/2015/07/21/recursos-tic/ventajas-del-aprendizaje-basadoen-juegos-o-game-based-learning-gbl/ [22] Motivación intrínseca y teoría de los 16 deseos básicos at: https://www.euroresidentes.com/empresa/motivacion/motivacion-intrinseca-y-teoria-delos-16-deseos-basicos [23] Ferrari, R. (2014). ¿Qué es un serious game?. [online] SaluDigital. Available at: https://rferrari.wordpress.com/2014/05/15/que-es-un-serious-game/ [Accessed 15 May 2014]. [24] R. Metz, “Start-ups que quieren que programar sea divertido,” 2012. [Online]. Available: https://www.technologyreview.es/s/2613/start-ups-que-quieren-queprogramar-seadivertido. [25] Captura de pantalla obtenida de https://www.codecademy.com/learn [26] A. J. Rios, “Codewars reta a los programadores.” [Online]. Available: https://www.webbizarro.com/aplicaciones/213/codewars-reta-a-los-programadores/. [27] Code School + Pluralsight [Online]. at: https://www.pluralsight.com/ [28] 2015, “Elementos sociales y de gamificación en plataformas MOOC (III): Duolingo.” [29] Captura de pantalla obtenida de https://www.duolingo.com/ [30] Montserrat Martín Blanco, “Vincire: un proyecto de gamificación en el aula,” 2016 [31] “Ribbon Hero, gamificación para aprender a usar MSOffice.” [Online]. Available: http://www.wonnova.com/blog/ribbon-hero-gamificacion-para-aprender-a-usarmsoffice201306 [32] Sara Wykes, “SICKO web-based game helps surgeons practice decision making,” 2013. [33] El modelo C4 para visualizar la arquitectura del software ,Contexto, Contenedores, Componentes y Código at: https://c4model.com/ [34]s.wikipedia.org. (2019). Inyección de dependencia. by: https://es.wikipedia.org/wiki/Inyecci%C3%B3n_de_dependencias. [35] s.wikipedia.org. (2019). Facade (patrón de diseño). by : https://es.wikipedia.org/wiki/Facade_(patr%C3%B3n_de_dise%C3%B1o). [36] s.wikipedia.org. (2019). Singleton. by: https://es.wikipedia.org/wiki/Singleton. 90


[37] s.wikipedia.org. (2019). Observer (Patrón de diseño). by: https://es.wikipedia.org/wiki/Observer_(patr%C3%B3n_de_dise%C3%B1o). [38]Luismi gracia, Patrón Gateway: o como cepillarte los DTOs usando un Patrón. by: https://unpocodejava.com/2010/08/04/patron-gateway-o-como-cepillarte-los-dtosusando-un-patron / [Accessed 04 Ags. 2010]. [39] El patrón Repositorio (Repository Pattern) – Implementación práctica con Entity Framework. by: https://barradevblog.wordpress.com/2013/04/23/el-patron-repositoriorepository-pattern-implementacion-practica-con-entity-framework/ [40]Blog sobre Java EE. Usando el patrón factory. 17 Nov. 2017 by: https://www.arquitecturajava.com/usando-el-patron-factory/ [41] García-Romeral, E. (2013). Qué es la motivación y qué podemos hacer para aumentarla todos los días. [online] El Confidencial. Available at: https://www.elconfidencial.com/almacorazon-vida/2013-10-18/que-es-la-motivacion-y-que-podemos-hacer-para-aumentarlatodos-los-dias_42710/ [Accessed 18 Oct. 2013]. [42] s.wikipedia.org. (2019). Angular (framework). [online] Available at: https://es.wikipedia.org/wiki/Angular_(framework) [43] Postgresql.org. (n.d.). PostgreSQL: The world's most advanced open source database. [online] Available at: https://www.postgresql.org/ [44] Es.wikipedia.org. (n.d.). Node.js. [online] Available at: https://es.wikipedia.org/wiki/Node.js [45] Es.wikipedia.org. (n.d.). Google Chrome. [online] Available at: https://es.wikipedia.org/wiki/Google_Chrome [46] (Becker et al., 2015).

91


6. ANEXOS 6.1 Modelo de diseño de estrategias de juego DeDalus 6.2 Especificación de Requisitos de Software SRS

92


6. ANEXOS 6.1. Anexo 1: Modelo de diseño de estrategias de juego DeDalus Documento modelo de diseño de estrategias de juego DeDalus Modelo de Negocio Describa el modelo de negocio de la organización Nombre de la Empresa/Organización Universidad San Buenaventura Cali - Programa de Ingeniería de Sistemas, Ingeniería Multimedia e Ingeniería Electrónica. Propósito de la Organización Programas académicos que ayudan a la formación de estudiantes con amplias competencias humanas, técnicas y conceptuales en la gestión de información a nivel organizacional. Producto/Bien/Servicio En el programa de Ingeniería de Sistemas formar estudiantes en líneas orientadas a la Ingeniería de software y tecnologías de información, en el programa de Ingeniería Multimedia formar estudiantes en líneas orientadas al desarrollo de software, videojuegos y audio musical, y en el programa de Ingeniería Electrónica formar estudiantes en líneas orientadas a diseños de sistemas embebidos y diseño de sistema de sonido. Clientes potenciales Clase de fundamentos estudiantes de primer semestre y clase Introducción a la programación, los estudiantes que conforman las clases serán de los programas de:  Ingeniería de Sistemas.  Ingeniería Multimedia.  Ingeniería Electrónica.

Identificación del Problema Descripción Inicial del Problema Actualmente los estudiantes de los programas de ingeniería están presentando distintos problemas en sus primeros cursos de programación, de los cuales se detectaron los siguientes:    

93

La falta de interés por parte del estudiante en querer aprender la programación. La desmotivación de los estudiantes en el proceso de aprendizaje de la programación. La poca participación de los estudiantes en el aula de clases. El bajo consumo de recursos académicos


Causales Iniciales / Circunstancias a analizar Las causas que intervienen en el interés y motivación del alumno en el proceso de enseñanza de la programación son:    

El desarrollo de malas habilidades de estudios. Actitudes negativas, una mala disposición y atención hacia la clase. La falta de conocimiento y habilidades de programación, crea frustración. Dificultad en el entendimiento de temas y conceptos de la programación.

Involucrados Los estudiantes y profesores Procesos Impactados / Tecnologías involucrados  El poco interés en el proceso de aprendizaje de un lenguaje de programación.  El bajo compromiso y la poca dedicación de algunos estudiantes por aprender.  El bajo crecimiento de alumnos estudiando ingeniería de sistemas.  La deserción de muchos estudiantes por el aprendizaje de los lenguajes de programación.

Diseño de la estrategia de Juego Describa el método de juego a implementar Procedimiento de Ambiente de Juego Evaluación Inicial Actualmente se puede evidenciar una gran deserción de estudiantes de Ingeniería y otras carreras afines; con un porcentaje de 23.16% en el primer semestre y un 55.58% en décimo semestre (Educación Superior, 2010), afectando directamente el proceso y desarrollo estudiantil de las ingenierías en Colombia. La estrategia que se quiere implementar es la de un juego tipo aventura, con la que se busca generar un espacio didáctico de aprendizaje, donde el 94


objetivo es generar una solución para los estudiantes que presentan problemas de participación o de aquellos que presentan una baja motivación a la hora de aprender a programar en el primer semestre de su carrera. Se va a desarrollar una aplicación web donde los estudiantes y profesores deberán de registrarse para hacer uso de ella, esta plataforma llevará el nombre de Language Conquers. Language Conquers escenifica un grupo de personas que llegan a dos islas, cada isla contará con accesos a recursos para el avance de la isla, al igual cada jugador tendrá la posibilidad de crear sus propios recursos y compartirlos con las comunidades, estarán representados por avatares que caracterizará a un tipo de jugador, el propósito del juego es que a medida que participen o consuma recursos académicos dadas por el docente, podrán obtener un puntaje que se verá reflejado en la barra de progreso de cada una de las islas y beneficios virtuales, lo que les va a poder permitir avanzar en su civilización y poder ser los vencedores de la conquista al llegar a su último nivel. Los estudiantes tendrán un 95


perfil en el cual podrán ver el progreso de su isla, las misiones disponibles, las recompensas que han obtenido y los profesores a su vez podrán ver el avance de cada uno de sus alumnos, crear, editar recursos académicos. Análisis de usuarios Cantidad de Involucrados

Estrategia Usada

Tipos de Identificados

Para mejorar los procesos de aprendizajes de la programación es importante enfatizar en la motivación y el interés de los estudiantes por el tema o curso en específico, para esto como propuesta de valor a nuestro proyecto hemos decidido implementar la Gamificación como técnica de aprendizaje, para poder generar un gran impacto a los estudiantes brindado una experiencia agradable en su proceso académico y la alta disponibilidad que se espera que ellos puedan desempeñarse frente a las tareas o actividades de programación. Jugadores Achievers dentro del juego son capitanes. Explorers dentro del juego son exploradores. Socializaers dentro del juego son pregoneros. Killers dentro del juego son guardianes.

Caracterización Inicial

96

50 estudiantes de programas Ingeniería de Sistemas, Multimedia y Electrónica de primer y segundo semestre aproximadamente se piensan involucrar

los los los los

Capitán: El capitán es la persona que va liderar el grupo, siente interés por competir por un reconocimiento, más que por


una meta, se representa con una corona por el reconocimiento en su equipo de trabajo. Este personaje, Tendrá la responsabilidad de asumir los retos complejos y será el representante de la comunidad. Explorador: Siente curiosidad por descubrir cosas nuevas del sistema, su representación será unos binoculares por la motivación a encontrar más soluciones. Este personaje, tiene las habilidades para recorrer toda la isla, en busca de recursos y materiales que le permitan a la comunidad obtener más rápidamente los bienes virtuales ofrecidos por el artefacto mágico. Pregonero: Siente interés en conformar equipos de trabajo, su representación será un megáfono por su capacidad de expresión y socialización con los miembros del equipo. Este personaje tiene interés por comunicar o difundir la información que se genera en la comunidad, busca apoyo de otros miembros de la comunidad. Guardianes: Su representación será la fuerza por la motivación de alcanzar una meta, independiente de la complejidad y tiempo que le lleve este personaje tiene la responsabilidad de asumir retos específicos. (interes) Objetivos de Negocio (docente) Obj. 1 97

Incrementar

la

cantidad

de


interesados en consumir contenidos académicos en una plataforma digital de aprendizaje Obj. 2

Estimar el impacto de interés de los participantes en una plataforma digital de aprendizaje

Obj. 3

Determinar el grado de interés en un conjunto de recursos didácticos disponibles en una plataforma digital de aprendizaje

Obj. 4

Valorar el impacto de un recurso didáctico en el interés de los participantes a través de herramientas provistas por la plataforma digital de aprendizaje.

Obj 5

Validar la existencia de la retroalimentación en el consumo de recursos didácticos en una plataforma digital de aprendizaje.

Objetivos Transversales

Obj. Negocios

Obj. 1

Estimar la cantidad de jugadores inscritos en la plataforma LC

Obj 1

Obj. 2

cuantificar el tiempo de registro de los jugadores

Obj 2

Obj. 3

Estimar la cantidad de acceso de bienes virtuales por parte de los jugadores de LC

Obj 3

Obj. 4

Cuantificar los comentarios de los jugadores en el foro (nombre)

Obj 4.

Obj. 5

Estimar la cantidad de nuevos bienes virtuales propuestos por los jugadores en el baul de tesoros

Obj 5.

Descripción de la estrategia de juego Elementos de juego Propósito del uso del elemento de propuestos juego Islas El propósito de la isla es identificar a cada comunidad por medio de un lenguaje de programación. 98

Relación entre elementos de juego La isla se relaciona con la barra de progreso, puesto


Bien virtual (Recompensas)

El propósito de los bienes virtuales es la de bonificar a los estudiantes por el cumplimiento en el uso y consumo de recursos académicos

Barra de progreso

El propósito de la barra de progreso es representar el avance del estudiante en su proceso de participación.

Avatars

El propósito de los avatars es darle al estudiante una representación gráfica sobre el tipo de jugador que se sienten identificados.

Ambiente de Juego Políticas de Juego Elemento de Juego Islas

99

Reacción del Sistema Las islas principalmente se verán reflejadas en la página de inicio ( home ) de la aplicación, las cuales van a representar visualmente el avance de la isla. En dicha

que refleja el avance de los estudiantes en el juego, por medio de la obtención de puntos y bienes virtuales. los bienes virtuales son la recompensa que el estudiante recibe por consumir un recurso, se relaciona con la isla ya que los bienes virtuales representan visualmente el avance de la isla. La barra de progreso se relaciona con el avance de la isla, además se relaciona con los bienes virtuales obtenidos por el uso y consumo de recursos. Este elemento de juego, de avatars, se relaciona con el tipo de rol que un estudiante puede representar o escoger para jugar.

Restricción A medida que la isla va consiguiendo los bienes virtuales, la isla va a ir cambiando y actualizando su representación visual,


Bien virtual (Recompensas)

Barra de progreso

Avatar

Experiencia de Juego El juego consta de dos islas cada integrante de las islas consumen y usan los recursos académicos dados por el docente, que a su vez ayudan en el progreso y avance de la civilización. Ya que, ganan bienes virtuales esos bienes virtuales son las recompensas por demostrar la participación y el interés en aprender nuevos temas, los jugadores pueden compartir a las comunidades sus propios recursos para reforzar los temas dados por el docente.

100

página de inicio se van a ver visualmente el número de islas que conforman el juego. En el momento en que el estudiante consuma los recursos académicos, dicho bien virtual se verá reflejado en el avance de la isla, es decir, la isla tendrá la representación de la obtención del bien virtual de forma gráfica, indicando la participación del jugador. La barra de progreso del estudiante se podrá ver en la página de recursos de la aplicación, mostrando además de una representación visual de la participación que ha tenido, además mostrará una representación porcentual de la misma. El avatar se verá representado visualmente en la página de perfil del estudiante y página de recursos.

mostrando así los bienes virtuales (recompensas) obtenidas por la comunidad. El bien virtual solo podrá obtener una vez, con la participación y uso de los recursos

El avance de la barra de progreso depende directamente de los archivos compartidos a las comunidades (isla) durante el juego.

El estudiante solo podrá escoger un solo avatar, ya sea masculino o femenino.


6.2. Anexo 2: Especificación de Requisitos de Software - SRS 1 Introducción El presente documento describe de manera detallada y clara la aplicación Language Conquers, la cual busca mejorar la motivación en el proceso de aprendizaje de nuevos lenguajes de programación en estudiantes de ingeniería de Sistemas, Multimedia y Electrónica de los primeros semestres, ayudando a su vez a los docentes a tener información referente a la participación, colaboración y contribución del proceso de sus estudiantes. Con el uso de la Gamificación como estrategia para facilitar el aprendizaje de los estudiantes. El Documento de Especificación de Requisitos de Software define todas las principales funcionalidades y restricciones de la aplicación Language Conquers basado en las directrices dadas por el estándar IEEE 29148. 1.1 Propósito Actualmente la enseñanza de la programación es un tema importante en las carreras de ingeniería ligadas a las tecnologías de información, la cual está presentando una crisis al momento de revisar los niveles de aprendizaje y motivación de los estudiantes dentro del aula de clase. En los últimos años se han propuesto diferentes herramientas y didácticas educativas pero no se ha logrado un enfoque o una solución completamente satisfactoria. Es por esto que se propone usar la Gamificación como estrategia de aprendizaje para generar y mejorar el desempeño y el entendimiento de los lenguajes de programación, desarrollando así, una aplicación web lúdica denominada Language Conquers. La aplicación Language Conquers va dirigida a los estudiantes y docentes, inicialmente de la Universidad San Buenaventura Cali, con el fin de ayudar a los docentes a llevar un mejor proceso de enseñanza más lúdico en su aula de clases y estar informado de la participación y los resultados que los estudiantes han tenido con su progreso. Además de ayudar a los estudiantes con el entendimiento de la programación de una manera más lúdica, dinámica y motivadora generando en ellos más compromiso hacia el aprendizaje. 1.3 Alcance El alcance para el proyecto será el desarrollo de la aplicación Language Conquers el cual tiene como objetivo motivar a los estudiantes de Ingeniería de primer semestre en el proceso del aprendizaje de un lenguaje de programación y ayudar a los docentes a tener información de la participación y contribución de cada uno de sus estudiantes, posteriormente se entrará a validar los resultados obtenidos en un escenario para así obtener estadísticas de si la estrategia de juego es efectiva para aumentar los niveles de motivación y lúdico aprendizaje de la programación. 1.4 Descripción general La utilización de estrategias de juego para la educación es importante; los resultados de estas brindan beneficios para el docente y los estudiantes mejorando el rendimiento académico de estos durante las clases, en comparación con la educación tradicional que 101


hoy en día se encuentra en crisis y la desmotivación que se presenta en el aula de clase cada vez mayor; las estrategias de enseñanza basadas en el juego pueden contribuir al desarrollo y al mejoramiento de los procesos de atención, aprendizaje, concentración y comportamiento de los estudiantes creando experiencias positivas a la hora de aprender un tema específico y aumentando la motivación de los estudiantes por el aprendizaje. La Gamificación es una técnica de aprendizaje que se basa en la utilización del juego para motivar el estudio en cualquier área, es por esto que se decide desarrollar la aplicación web Language Conquers dirigida al aprendizaje de los lenguajes de programación y aumentar la motivación de los alumnos logrando que aprendan de manera agradable y profunda. Esta aplicación la podemos ver como una herramienta útil para luchar contra la deserción y mejorar el proceso de enseñanza y aprendizaje, donde incrementa la utilidad, la producción y a su vez la motivación se convierta en compromiso, responsabilidad y aprendizaje autónomo de los estudiantes por querer aprender un nuevo lenguaje de programación. 1.3.1. Perspectiva del producto La aplicación web Language Conquers cuenta con dos módulos. para los docentes del programa de Ingeniería de Sistemas y para los estudiantes de primer semestre de Ingeneria de Sistemas, Multimedia y Electrónica. Language Conquers busca generar un espacio didáctico de aprendizaje, donde el objetivo es generar una solución para los estudiantes que presentan problemas de aprendizaje, o de aquellos que presentan una baja motivación a la hora de aprender a programar en el primer semestre de su carrera. La aplicación web será desarrollada en un entorno web donde se debe contar con una conexión a internet permitiendo a los usuarios hacer uso de cada funcionalidad que brindará el sistema. 1.3.1.1 Interfaces del usuario Módulo del docente El módulo del docente contará con la configuración de los cursos de programación, el docente podrá crear tareas y a su vez calificarlas, tendrá un control de cada nota y participación de los estudiantes. La pantalla login el docente podrá ingresar sus datos para iniciar sesión o podrá crear una cuenta en caso de que no tenga una registrada en la aplicación.

102


Figura 1. login docente - RF-7

En la pantalla crear cuenta el docente podrรก digitar los datos personales para poder hacer uso de todas las funciones que posee el sistema.

Figura 2. Registro de docente - RF1

103


La pantalla de cursos, mostrarรก al docente todos los que ha creado con su respectivo nombre.

Figura 3. Cursos Docente

El programa brindarรก la posibilidad de que el docente configure sus cursos y pueda organizar su clase de manera conveniente.

Figura 4. Crear curso - RF-3

104


En la pantalla de la misión, el docente podrá configurar la misión, eligiendo el tipo de misión que desee, la descripción y la fecha límite de entrega, el docente podrá guardarla o lanzar la misión la cual se enviará a los estudiantes.

Figura 5. Configurar Misión - RF-15

El docente podrá observar la información de los estudiantes que han entregado la misión y a la vez podrá calificarla.

Figura 6. Calificación - individual - RF-20

105


En la pantalla de calificar misión, el docente podrá tener detalle de la misión con la fecha de entrega y los datos del estudiante. También le permitirá descargar la tarea y ingresar una nota y una descripción si lo desea. El sistema hace el cambio de la nota ingresada por el docente por los puntos que se ganara el estudiante.

Figura 7. Calificación Misión - RF-20

El docente cuenta con un perfil, donde el podrá ver su información personal y poder hacer cambios si es necesario.

Figura 8. Perfil docente - RF-8, RF-9

106


En la pantalla del curso, el docente podrá ver el número de islas o comunidades que conforman el juego (máximo 2, mínimo 3), en la medida que los estudiantes de la comunidad hayan cumplido con todas las misiones o tareas del nivel en el que se encuentren este podrá ser desbloqueado.

Figura 9. Curso

Módulo del estudiante En este módulo los estudiantes van hacer uso de varias funcionalidades, como editar su información personal, recibir notificaciones de actividades nuevas, disponibles o calificadas, ver el avance de la isla, ver la tabla de posición tanto individual como grupal(isla) y enviar el archivo de la tarea realizada.

Figura 10. login estudiante - RF-7

107


En la ventana login el estudiante debe de ingresar sus datos en los campos sólo si tiene un cuenta ya creada, dado el caso que no tenga una cuenta creada, el estudiante procede a escoger la opción de crear una cuenta. En la ventana crear cuenta el estudiante debe de ingresar sus datos personales para poder crear la cuenta y así poder loguearse para poder hacer uso de la herramienta.

Figura 11. Registro de estudiante - RF-2

Para terminar la creación de cuenta, el estudiante debe de seleccionar el curso, y escoger el lenguaje de programación el cual el estudiante deberá de hacer las entregas de sus tareas, además de escoger un avatar que lo representara dentro del juego.

Figura 12. Registro de estudiante 2 - RF-2

En la pantalla de inicio de la aplicación, el alumno observará el nivel de la isla, la barra de progreso y una representación porcentual de la misma, este avance dependerá 108


directamente del porcentaje de los puntos obtenidos por cumplimiento de las misiones durante el juego.

Figura 13. Inicio estudiante - RF-11

La pantalla de perfil del alumno, contará con información básica la cual se podrá editar, Permitirá cambiar la imagen de perfil, a su vez tendrá información de la isla o comunidad a la que pertenece y los puntos que ha obtenido en las misiones realizadas.

Figura 14. Perfil estudiante - RF-8 , RF-9

En la ventana de Home en el menú hay una opción que se llama notificaciones, estas notificaciones le informan al estudiante que misiones nuevas hay, que misiones tiene pendiente o que misiones han sido calificadas

109


Figura 15. Notificaciones - RF-18

La Pantalla de una nueva misión, visualizará el nombre de la misma, el nivel al que pertenece, la descripción de la tarea dada por el docente, como se realizara dicha misión, si grupal, individual o por rol, al igual que recompensas de puntuación y bien virtual, cuando el estudiante cumpla con la tarea, el sistema le mostrará el valor de su puntaje individual y grupal que la tarea le ha otorgado y el bien virtual se verá reflejado en el avance de la isla de forma gráfica, indicando el cumplimiento de la tarea o misión asignada.

Figura 16. Nueva misión - RF-14

En esta ventana el estudiante podrá subir la tarea una vez finalizada, donde deberá de escoger la opción subir, y el sistema le abre una ventana donde deberá de buscar el archivo, subirlo y enviarlo, el sistema guarda la fecha en la que envió la tarea.

110


Figura 17. Subir misión - RF-16

1.3.2 funcionalidad del producto El sistema funciona de manera independiente, Las funciones que debe realizar el producto Language Conquers son: ● ● ● ● ● ● ● ● ● ● ●

Permitir el registro de los estudiantes. Permitir el registro de los docentes. Permite Editar perfil docente Permite Editar perfil estudiante Llevar una puntuación grupal e individual para ver avances Permitir al docente configurar un curso. Permite subir misiones. Permite editar misiones Permite enviar misiones a estudiantes Permitir subir archivos para la revisión de la tarea. Comentarios foro

1.3.3 Características de los usuarios Los usuarios están clasificados de la siguiente manera:

Tipo de usuario Docente

111

Actividades ●

Registrarse en la aplicación

Características Nivel alto de experiencia en lenguajes de programación


● ● ● ● ● ●

editar datos personales Crear cursos Configurar curso Configurar misión Calificar misiones Editar calificación de misiones

Alta frecuencia en el uso de la aplicación

Registrarse en la aplicación editar datos personales Subir archivo de la tarea

Experiencia en lenguaje de programación media o baja

Estudiante ● ●

Persona capacitada para la enseñanza

Nivel de educación superior Alta frecuencia en el uso de la aplicación

1.3.4 Limitaciones ● ● ●

El sistema no cuenta con aplicativo móvil El Sistema deberá ser subido al servidor del LIDIS de la Universidad San Buenaventura El sistema no se integra con otras aplicaciones

2 Referencias Systems and software engineering — Life cycle processes — Requirements engineering. (2018). 1st ed. [ebook] ISO/IEC/ IEEE 29148, pp.45 -73. [Accessed 1 Dec. 2011]. 3 Requisitos específicos 3.1 Interfaces externas La aplicación Language Conquers no se integrará con otros interfaces externas o envía información a otros sistemas. 3.2 Requerimientos Funcionales

id

RF-1

Nombre

Registro de docente - Figura 2

Descripción

El sistema debe permitir al docente registrarse.

Pasos de ejecución

112

  

El docente ingresa al login El docente selecciona opción “Crear cuenta” El docente Ingresa datos personales


Validaciones

El docente selecciona la opción “Crear”

Ingresar campos obligatorios: o Nombre o Apellido o Email o Teléfono o Contraseña o Contraseña de verificación o Género o Fecha de nacimiento o Nombre Usuario Si alguno de los campos no ha sido ingresado mostrar mensaje de error campo obligatorio. Los campos de contraseña y contraseña verificación tienen que coincidir. Si los campos de contraseña y contraseña verificación no coinciden mostrar mensaje de error los campos no coinciden. Campo de correo electrónico tiene que ser un correo valido Si el campo de correo electrónico no es un correo valido mostrar mensaje de error correo no válido. El campo de fecha de nacimiento tiene que ser menor a la fecha actual. Si el campo de fecha de nacimiento es mayor a fecha actual mensaje de error fecha no permitida. El campo teléfono debe ser un tipo de dato numérico. Si el dato del campo de teléfono no es numérico, mostrar mensaje de error dato no válido Si el correo electrónico existe mostrar mensaje de error la cuenta ya ha sido registrada Si no hay error, mensaje de registro exitoso

           Prioridad

Alta

Rol(es) que ejecuta(n)

Docente

id

RF-2

Nombre

Registro de estudiante - Figura 11, Figura 12

Descripción

El sistema debe permitir al estudiante registrarse

Pasos de ejecución

113

  

El estudiante ingresa al login El estudiante selecciona opción “Crear cuenta” El estudiante ingresa datos personales


Validaciones

   

El estudiante ingresa código de curso El estudiante selecciona un lenguaje de programación El estudiante selecciona un avatar El estudiante selecciona la opción “Crear cuenta”

Ingresar campos obligatorios ○ Nombre ○ Apellido ○ Nombre usuario ○ Correo ○ Contraseña ○ Contraseña de verificación ○ Género ○ Fecha de nacimiento ○ Programa académico ○ Código de curso ○ Semestre ○ Seleccionar avatar ○ Seleccionar Lenguaje de programación ○ Seleccionar un Nivel de programación Si alguno de los campos no ha sido ingresado o seleccionado mostrar mensaje de error campo obligatorio. El campo usuario es único Si el dato del campo usuario ya existe, mensaje error el nombre usuario ya existe Los campos de contraseña y contraseña verificación tienen que coincidir. Si los campos de contraseña y contraseña verificación no coinciden mostrar mensaje de error los campos no coinciden. Si código del curso no existe, mostrar mensaje de error curso no existe Campo de correo electrónico tiene que ser un correo valido Si el campo de correo electrónico no es un correo valido mostrar mensaje de error correo no válido. El campo de fecha de nacimiento tiene que ser menor a la fecha actual. Si el campo de fecha de nacimiento es mayor a fecha actual mensaje de error fecha no permitida. Si el correo electrónico existe mostrar mensaje de error la cuenta ya ha sido registrada Si no hay error, mensaje de registro exitoso

            Prioridad

Alta

Rol(es) que ejecuta(n)

Estudiante

114


Id

RF-3

Nombre

Crear curso - Figura 4

Descripción

El programa debe permitir al docente crear un curso.

Pasos de ejecución

● ● ● ●

El estudiante El estudiante El estudiante El estudiante

Validaciones

Ingresar campos obligatorios: ○ Nombre del curso. ○ Cantidad de estudiantes. ○ Número de islas. (Máximo 3, mínimo 2) ○ Lenguaje de la isla #1. ○ Lenguaje de la isla #2. ○ Lenguaje de la isla #3 ○ Contraseña del curso. Si alguno de los campos no ha sido ingresado o seleccionado mostrar mensaje de error campo obligatorio. Si el número de isla seleccionado es dos, no podrá introducir un lenguaje de la isla #3 Si no hay error, mensaje de registro exitoso SI cancela el proceso de registro no guardará datos

● ● ● ●

ingresa a mis cursos selecciona el botón “más” ingresa datos de la isla selecciona “Crear curso”

Prioridad

Alta

Rol(es) que ejecuta(n)

Docente

id.

RF-4

Nombre

Editar curso

Descripción

El programa debe permitir al docente editar el curso

Pasos de ejecución

● ● ● ● ● ● ●

El docente ingresa a mis cursos El docente selecciona curso El docente selecciona “editar” El docente modifica datos El docente selecciona “Guardar cambios” El docente visualiza de estudiantes registrados El docente selecciona “Dar de baja”

Validaciones

Campos editables: ○ Nombre del curso. ○ Cantidad de estudiantes.

115


● ● ● ● ●

○ Número de islas. (Máximo 3, mínimo 2) ○ Lenguaje de la isla #1. ○ Lenguaje de la isla #2. ○ Lenguaje de la isla #3 ○ Contraseña del curso. Si alguno de los campos no ha sido ingresado o seleccionado mostrar mensaje de error campo obligatorio. Si el número de isla seleccionado es dos, no podrá introducir un lenguaje de la isla #3 Si no hay error, mensaje de modificación exitosa SI cancela el proceso, no modifica datos información de estudiantes registrados: ○ Nombre ○ Isla Si el estudiante está activo podrá desactivarlo

Prioridad

Alta

Rol(es) que ejecuta(n)

Docente

id.

RF-5

Nombre

Estado de islas

Descripción

El programa debe mostrar el cambio de estado de las islas.

Pasos de ejecución

● ● ● ● ● ● ● ● ● ● ● ●

El docente Crea curso Estado inicial asentamiento La isla desarrolla misiones del primer nivel Estado aldea La isla desarrolla misiones del segundo nivel Estado pueblo La isla desarrolla misiones del tercer nivel Estado ciudad La isla desarrolla misiones del cuarto nivel Estado imperio La isla termina nivel cuarto Estado Conquista

Validaciones

El grupo o isla tengan una calificación en todas las misiones del primer nivel cambia de estado a pueblo El grupo o isla tengan una calificación en todas las misiones del segundo nivel cambio de estado a aldea El grupo o isla tengan una calificación en todas las misiones del tercer nivel cambio de estado a ciudad El grupo o isla tengan una calificación en todas las misiones del

● ● ● 116


cuarto nivel cambio de estado a imperio todos los grupos o islas del curso tengan calificado todas las misiones del juego cambio de estado a Conquista

● Prioridad

Alta

Rol(es) que ejecuta(n)

Sistema

id

RF-6

Nombre

Recuperar contraseña

Descripción

El programa debe permitir recuperar contraseña para el docente y estudiante

Pasos de ejecución

● ● ●  

Validaciones

 

El docente y estudiante ingresa al login El docente y estudiante selecciona opción “Recuperar contraseña” El docente y estudiante ingresa Correo electrónico Campo de correo electrónico tiene que ser un correo valido Si el campo de correo electrónico no es un correo valido mostrar mensaje de error correo no válido. Si el correo electrónico no existe mostrar mensaje de error cuenta no registrada Si no hay error, mensaje de correo enviado

Prioridad

Alta

Rol(es) que ejecuta(n)

Docente y Estudiantes

Id

RF-7

Nombre

Iniciar sesión. - Figura 1, Figura 10

Descripción

El programa debe permitir al estudiante o docente iniciar sesión.

Pasos de ejecución

● ● ●

Validaciones

● ●

117

El docente o estudiante ingresa al login El docente o estudiante ingresa nombre de usuario y contraseña El docente o estudiante selecciona opción “Iniciar sesión” Si alguno de los campos no ha sido ingresado mostrar mensaje de error campo obligatorio. si el usuario no existe, mostrar mensaje usuario y contraseña


● ● ●

no coinciden la contraseña del usuario debe de coincidir con la almacenada en la base de datos sí contraseña distinta a la almacenada en la base de datos mostrar mensaje de error usuario y contraseña no coinciden Si no hay error, mandar a inicio

Prioridad

Alta

Rol(es) que ejecuta(n)

Docente y estudiantes

id.

RF-8

Nombre

Perfil - Figura 8, Figura 14

Descripción

El programa debe brindar un perfil para el estudiante y el docente.

Pasos de ejecución

● ● ●

El docente o estudiante Loguearse en el sistema El docente selecciona opción “Perfil” El docente o estudiante visualizará los siguientes datos: ○ Nombre ○ Apellido ○ Fecha nacimiento ○ Género ○ Usuario ○ Correo Datos extras de usuario estudiante: ○ Lenguaje del curso ○ Código del curso ○ Semestre ○ Puntos individuales ○ Puntos grupales ○ Avatar ○ Isla. ○ estado de la isla

Validaciones

El sistema busca la información del usuario en sesión

Prioridad

Media

Rol(es) que ejecuta(n)

Docente y estudiante

id

RF-9

Nombre

Editar información - Figura 8, Figura 14

118


Descripción

El sistema debe de permitir al docente y al estudiante modificar su información personal.

Pasos de ejecución

● ● ● ● ●

El docente o estudiante selecciona opción “Perfil” El docente o estudiante visualiza información personal El docente o estudiante selecciona opción “Editar” El docente o estudiante Edita campo que desee El docente o estudiante selecciona opción “Guardar Cambio”

Validaciones

● ●

Los campos correo y usuario no serán habilitados para editar Si algún campo no ha sido ingresado mostrar mensaje de error campo obligatorio. El campo de fecha de nacimiento tiene que ser menor a la fecha actual. Si el campo de fecha de nacimiento es mayor a fecha actual mensaje de error fecha no permitida. si cancela el proceso de editar no se hace modificaciones Si no hay error , mensaje de modificación exitoso

● ● ● ● Prioridad

Media

Rol(es) que ejecuta(n)

Docente y estudiante

id

RF-10

Nombre

Información del juego

Descripción

El programa debe permitir brindar información del juego.

Pasos de ejecución

El docente o estudiante visualiza información importante del juego: ○ Historia del juego ○ El equipo de desarrollo ○ Documentación guía de ayuda

Prioridad

Alta

Rol(es) que ejecuta(n)

Estudiante y docente

id.

RF-11

Nombre

Información de la isla - Figura 13

Descripción

El programa debe permitir al estudiante observar la información básica de su isla

119


Pasos de ejecución

● ● ●

El estudiante Loguearse en el sistema El estudiante entra a la vista home El estudiante visualizará lo siguiente: ○ Nombre de la Isla ○ puntuación ○ nivel de la isla ○ nombre de ese nivel ○ puntaje del estudiante ○ puntaje grupal

Validaciones

validar el lenguaje de programación seleccionado en el momento del registro y usuario

Prioridad

Alta

Rol(es) que ejecuta(n)

Estudiante

id

RF-12

Nombre

Tabla de posición individual

Descripción

El sistema debe de generar una tabla de posición individual

Pasos de ejecución

● ● ●

Sistema genera el ranking Visualizar ranking individual Información: ○ Puesto ○ Usuario ○ Equipo ○ Puntaje total

Validaciones

válida la puntuación de cada estudiante del curso de mayor a menor Organizar los estudiantes del curso por puntuación más alta

● Prioridad

Alta

Rol(es) que ejecuta(n)

Sistema

id

RF-13

Nombre

Tabla de posición islas

Descripción

El sistema debe de generar una tabla de posición grupal (islas).

120


Pasos de ejecución

● ● ●

Sistema genera los rankings El docente o estudiante visualizará ranking por grupos(isla) Información: ○ Nombre de la isla ○ Usuario

Validaciones

● ●

Válida la puntuación de cada isla de mayor a menor si la isla tiene la puntuación mayor a todas las islas del curso se posiciona en el primer puesto si la isla tiene la puntuación menor a todas las islas del curso se posiciona en el último puesto Organizar las islas por puntuación más alta en misiones realizadas, mostrando los estudiantes de cada isla

● ● Prioridad

Alta

Rol(es) que ejecuta(n)

Sistema

id.

RF-14

Nombre

Detalle de la misión - Figura 16

Descripción

El programa debe permitir al estudiante observar la información de la misión con su puntaje.

Pasos de ejecución

● ● ● ●

El estudiante, Loguearse en el sistema Sistema notifica nueva misión lanzada por el docente El estudiante selecciona la notificación Pantalla misión, con la información: ○ Imagen de la recompensa ○ Nombre de la recompensa ○ Puntos de la misión ○ Fecha límite de entrega ○ Tipo de misión ○ Descripción de la misión (Tarea)

Validaciones

el sistema busca los datos de la misión lanzada por el docente a sus estudiantes

Prioridad

Alta

Rol(es) que ejecuta(n)

Estudiante

id

RF-15

121


Nombre

configurar misión - Figura 5

Descripción

El programa debe permitir al docente configurar la misión

Pasos de ejecución

● ● ● ●

● ● Validaciones

● ● ●

El docente Loguearse en el sistema El docente va a configurar misiones El docente Selecciona la misión El docente Visualiza información ○ Ingresar el tipo de misión (individual, rol o grupal) ○ Descripción (tarea) ○ Fecha límite de entrega. ○ Recompensa ○ Puntuación ○ Nombre misión El docente ingresa información El docente elige lanzar misión o guardar. Ingresar campos obligatorios: ○ Ingresar el tipo de misión (individual, rol o grupal) ○ Descripción (tarea) ○ Fecha límite de entrega. Si alguno de los campos no ha sido ingresado o seleccionado mostrar mensaje de error campo obligatorio. El campo de fecha de límite tiene que ser mayor a la fecha actual. Si el campo de fecha de límite es menor a la fecha actual mensaje de error fecha no permitida.

Prioridad

Alta

Rol(es) que ejecuta(n)

Docente

id.

RF-16

Nombre

Realizar misión - Figura 17

Descripción

El programa debe permitir al estudiante realizar una misión lanzada por el docente

Pasos de ejecución

122

● ● ● ● ●

El estudiante Loguearse en el sistema El estudiante abre notificación de misión El estudiante selecciona agregar entrega El estudiante va a la Pantalla de agregar tarea El estudiante visualiza Información: ○ Recompensa ○ Puntos ○ Fecha límite


● ● ● Validaciones

● ● ●

● ●

○ Tipo de misión ○ Descripción (Tarea) ○ Campo para agregar la misión El estudiante selecciona “Agregar” El estudiante Busca archivo El estudiante selecciona “Enviar” Si no hay archivo para subir mostrar un mensaje de error no hay archivos subido la fecha límite tiene que ser mayor a la actual Si la fecha límite es menor a la fecha actual y el estado de la entrega es “sin enviar” mostrar mensaje de error el tiempo límite de la misión se ha agotado Si el nivel en el que esta la misión no está desbloqueado mostrar mensaje Nivel no disponible Si no hay errores mensaje misión cumplida

Prioridad

Alta

Rol(es) que ejecuta(n)

Estudiante

id.

RF-17

Nombre

promediar puntuación

Descripción

El programa debe permitir promediar la puntuación con respecto a la nota de cada misión.

Pasos de ejecución

● ● ●

● Validación

● ● ● ●

123

El docente da una nota a la misión El docente selecciona “calificar” el sistema realiza la siguiente operación ○ Puntos misión= PM ○ Nota obtenida= N ○ máxima calificación (5) = MC ○ Puntos obtenidos por el estudiante= PE ○ para así obtener los puntos por la nota dada el campo nota debe ser numérico el sistema valida la nota, la misión y estudiante si el tipo misión es “grupal” , puntuación para la isla y sus integrantes. si el tipo misión es “individual” o por “rol”, puntuación de misión al estudiante y promedia las calificaciones de los estudiantes de la isla para obtener la puntuación de la isla


Prioridad

Alto

Rol(es) que ejecuta(n)

Sistema

id.

RF-18

Nombre

Notificación de nueva mision - Figura 15

Descripción

El programa debe permitir notificar al estudiante cuando hay una misión nueva.

Pasos de ejecución

● ● ●

El docente llena los campos de una misión El docente selecciona “Enviar a estudiantes” El sistema manda la notificación de nueva misión a los estudiantes del curso

Prioridad

Alta

Rol(es) que ejecuta(n)

Sistema

id.

RF-19

Nombre

Subir de nivel

Descripción

El programa debe de verificar si los puntos obtenidos de cada isla son suficientes para pasar a otro nivel.

Pasos de ejecución

Nivel

Puntaje máximo

Puntaje mínimo

Aldea

12000

10000

Pueblo

22000

20000

Ciudad

32000

30000

Imperio

34000

32000

● ●

124

Tabla de puntajes:

El docente califica la última misión el sistema desbloquea siguiente nivel


Validaciones

● ●

El puntaje total de la isla debe ser mayor al puntaje mínimo de la isla Si es última misión calificada y si los puntos totales de la isla son mayor o igual al puntaje mínimo de cada nivel, desbloque siguiente nivel Si es última misión calificada y si los puntos totales de la isla son menores al puntaje mínimo de cada isla, el docente podrá abrir una de las misiones grupales para que el grupo vuelva a mandar la misión y vuelva a ser calificada

Prioridad

Alta

Rol(es) que ejecuta(n)

Sistema

id.

RF-20

Nombre

calificación de misiones - Figura 6, Figura 7

Descripción

El programa debe permitir al docente calificar las misiones lanzadas en el curso

Pasos de ejecución

● ●

Validaciones

● ●

125

El docente selecciona la mission Proceso para misión grupal: ○ El docente selecciona el botón de la isla “calificar” ○ El docente introduce la nota ○ El docente selecciona “enviar” Proceso para misión rol: ○ El docente selecciona el botón del rol “calificar” ○ El docente introduce la nota ○ El docente selecciona “enviar” Proceso para misión individual: ○ El docente selecciona el botón del estudiante “calificar” ○ El docente introduce la nota ○ El docente selecciona “enviar” Si no selecciona una nota mensaje de error seleccione una nota. Si la misión es grupal: ○ Si el estado de la misión de la isla es pendiente mostrar mensaje la misión no ha sido enviada no se puede calificar Si la misión es rol ○ Si el estado de la misión del rol es pendiente mostrar mensaje la misión no ha sido enviada no se puede calificar Si la misión es individual: ○ Si el estado de la misión del estudiante es pendiente


mostrar mensaje la misión no ha sido enviada no se puede calificar Prioridad

Alta

Rol(es) que ejecuta(n)

Docente

id.

RF-21

Nombre

Editar nota misión

Descripción

El programa debe permitir al docente editar la calificación de la misión.

Pasos de ejecución

● ●

Validaciones

El docente selecciona la mission Proceso para misión grupal: ○ El docente selecciona el botón de la isla “Ver calificación” ○ El docente introduce nueva nota ○ El docente selecciona “enviar” Proceso para misión rol: ○ El docente selecciona el botón del rol “Ver calificación” ○ El docente introduce nueva nota ○ El docente selecciona “enviar” Proceso para misión individual: ○ El docente selecciona el botón del estudiante “Ver calificación” ○ El docente introduce nueva nota ○ El docente selecciona “enviar” Si la nota es editada mensaje de modificación de nota exitosa

Prioridad

Alta

Rol(es) que ejecuta(n)

Docente

id.

RF-22

Nombre

Lanzar misión

Descripción

El programa debe permitir al docente volver a lanzar una misión ya realizada

Pasos de ejecución 126

● ●

El docente selecciona la misión grupal El docente edita la fecha de entrega


Validaciones

El docente selecciona “Lanzar misión”

Ingresar campos obligatorios: ○ Ingresar el tipo de misión (individual, rol o grupal) ○ Descripción (tarea) ○ Fecha límite de entrega. Si alguno de los campos no ha sido ingresado o seleccionado mostrar mensaje de error campo obligatorio. El campo de fecha de límite tiene que ser mayor a la fecha actual. Si el campo de fecha de límite es menor a la fecha actual mensaje de error fecha no permitida.

● ● ● Prioridad

Alta

Rol(es) que ejecuta(n)

Docente

id.

RF-23

Nombre

Crear recurso académico - docente

Descripción

El programa debe permitir al docente crear un recurso académico

Pasos de ejecución

        

El docente Inicia sesión El docente Selecciona curso El docente Selecciona configurar recurso El docente Presiona “Seleccionar archivo” El docente Selecciona documento El docente Selecciona “Abrir” El docente Ingresar campo título El docente Ingresa campo Descripción El docente Selecciona botón Subir

Validaciones

Ingresar campos obligatorios: ○ Nombre ○ Descripción (Información) ○ Archivo Si alguno de los campos no ha sido ingresado mostrar mensaje de error campo obligatorio.

● Prioridad

Alta

Rol(es) que ejecuta(n)

Docente

127


id.

RF-24

Nombre

Eliminar recurso académico - docente

Descripción

El programa debe permitir al docente eliminar un recurso académico

Pasos de ejecución

    

El docente Inicia sesión El docente Selecciona curso El docente Selecciona configurar recurso El docente Presiona un recurso El docente Selecciona “Eliminar”

Validaciones

Archivo exista

Prioridad

Alta

Rol(es) que ejecuta(n)

Docente

id.

RF-25

Nombre

Descargar recurso

Descripción

El programa debe permitir al estudiante descargar los recursos académicos

Pasos de ejecución

   

El estudiante Inicia sesión en Language Conquers El estudiante Selecciona cofre El estudiante Selecciona recurso El estudiante Selecciona descargar

Validaciones

Archivo exista

Prioridad

Alta

Rol(es) que ejecuta(n)

Estudiante

id.

RF-26

Nombre

Comentarios Foro

Descripción

El programa debe permitir al estudiante comentar los recursos académicos creados por los usuarios

Pasos de ejecución 128

 

El estudiante Inicia sesión en Language Conquers El estudiante Selecciona cofre


 

Validaciones

El estudiante Selecciona recurso El estudiante Ingresar texto en el campo de foro El estudiante Selecciona botón ✔

● ●

El campo no puede ser null Exista un recurso

Prioridad

Alta

Rol(es) que ejecuta(n)

Estudiante

id.

RF-27

Nombre

Compartir recursos académicos -estudiante

Descripción

El programa debe permitir al estudiante compartir los recursos académicos con las comunidades

Pasos de ejecución

       

El estudiante Inicia sesión El estudiante Selecciona “Tu isla” El estudiante Ingresa información en el campo nombre recurso El estudiante Ingresa información de la descripción El estudiante Presiona “Seleccionar archivo” El estudiante Selecciona documento El estudiante Selecciona “Abrir” El estudiante Selecciona “Subir archivo”

Validaciones

Ingresar campos obligatorios: ○ Nombre ○ Descripción (Información) ○ Archivo

Prioridad

Alta

Rol(es) que ejecuta(n)

Estudiante

id.

RF-27

Nombre

Eliminar recursos académicos -estudiante

Descripción

El programa debe permitir al estudiante eliminar los recursos académicos compartidos con las comunidades

Pasos de 129

El estudiante Inicia sesión


ejecución

  

El estudiante Selecciona “Tu isla” El estudiante selecciona el botón papelera El estudiante selecciona aceptar eliminar

Validaciones

Exista archivo

Prioridad

Alta

Rol(es) que ejecuta(n)

Estudiante

3.3 Requerimientos de usabilidad ● ● ● ● ● ●

● ●

● ● ● ●

● ●

El sistema debe ser destinado a los docentes y estudiantes de Ingeniería Las instrucciones para el uso del sistema deben estar a la vista o ser fácilmente recuperables cuando sea necesario. El sistema debe contar con videos de apoyo para el uso de la aplicación El sistema debe contar con una documentación para el uso de la aplicación El sistema debe ser intuitivo para los usuarios El sistema debe de contar con una buena usabilidad y experiencia de usuario que ayude a lograr una mayor aceptación de los estudiantes y docentes hacia la aplicación El sistema debe de proporcionar mensajes de error que sean informativos para los usuarios El sistema debe mantener informados a los usuarios, con el propósito de ofrecer una retroalimentación al mismo dentro de un tiempo razonable en cuanto a en qué página se encuentra y qué tarea está realizando dentro de la misma. El sistema debe hablar el lenguaje de los usuarios mediante palabras, frases y conceptos que sean familiares al usuario, más que con términos relacionados a el sistema. El sistema debe evitar que el usuario cometa errores, previniéndolo de realizar acciones incorrectas. El sistema debe de contar con buena estética y diseño minimalista La información para el uso del sistema debe ser breve, concisa, fácil de buscar y enfocada a las tareas que el usuario realizará dentro de la aplicación. El sistema debe ayudar a los usuarios a reconocer y corregir sus errores, indicando el problema en concreto que está ocurriendo, sugiriendo todas las posibles soluciones. El sistema debe mostrar solo lo necesario y relevante en cada situación. El sistema debe ofrecer una “salida de emergencia” claramente marcada para dejar el estado no deseado al que accedieron, sin tener que pasar por una serie de pasos, incluyendo las funciones de deshacer y rehacer.

3.4 Requerimientos de desempeño ● ● 130

El sistema debe de verificar que los datos correspondientes a los campos sean ingresados correctamente El sistema debe permitir a los usuarios hacer uso de las funcionalidades del sistema


● ● ●

El sistema debe soportar varios registros de usuarios El sistema debe de contar con todas las validaciones El sistema debe de tener una alta disponibilidad

3.5 requerimiento de base de datos ● ● ● ●

El sistema contará con el motor de base de datos PostgreSQL El sistema debe permitir soportar gran cantidad de datos El sistema debe permitir guardar y actualizar datos El sistema debe tener una alta disponibilidad en la base de datos

3.6 restricciones de diseño ● ● ● ● ● ●

● ●

La implementación del aplicativo lúdico se realizará en el lenguaje de programación java para el backend y será integrado con Angular para el frontend El sistema usará como base de datos PostgreSQL para el almacenamiento de datos. El sistema será desarrollado con el patrón de arquitectura MVC El sistema usará herramientas como Maven, Hibernate, Spring Security, tomcap 8.5 y Spring mvc. El sistema debe permitir subir archivos.zip El sistema cuenta con dos roles ○ Funcionalidades del docente: ■ Crear perfil ■ Editar perfil ■ Crear cursos ■ Configurar curso ■ Configurar misión ■ Calificar misiones ■ Compartir recursos ● Funcionalidades del estudiante: ■ Crear perfil ■ Editar perfil ■ Subir archivos ■ Compartir recursos ■ Comentarios ■ Descargar recursos El sistema debe estar disponible en entorno web. Se debe mantener una conexión a internet

3.8. Información de soporte La aplicación web contará con 2 módulos, para docentes que se encargará de la parte académica y el de estudiantes que contará con elementos de gamificación para el aprendizaje de un lenguaje de programaciòn., para esto se ha diseñado una base de datos que dara soporte para ambos módulos.

131


Figura 20. MER del sistema Language Conquers

132


133


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.