UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÍA INDUSTRIAL DEPARTAMENTO ACADÉMICO DE TITULACIÓN
TRABAJO DE TITULACIÓN
PREVIO A LA OBTENCIÓN DEL TÍTULO DE
LICENCIADA EN SISTEMAS DE INFORMACIÓN
ÁREA
CIENCIA DE DATOS
TEMA
DISEÑO E IMPLEMENTACIÓN DE BASE DE DATOS
MEDIANTE EL USO DE WEB SERVICES CON
INTEGRACIÓN DE UNITY3D PARA APOYO DE
APLICACIONES LÚDICAS EN LA MATERIA DE
FUNDAMENTOS DE PROGRAMACIÓN
AUTORA
CORAL QUINTO MARÍA JOSÉ
DIRECTOR DEL TRABAJO
ING. SIST. VILLOTA OYARVIDE WELLINGTON, MSC.
2018
GUAYAQUIL – ECUADOR
ii
DECLARACIÓN DE AUTORÍA
“La responsabilidad del contenido de este trabajo de titulación, me
corresponde exclusivamente y el patrimonio intelectual del mismo a la
Facultad de Ingeniería Industrial de la Universidad de Guayaquil”.
María José Coral Quinto
C.C. #0942119280
iii
DEDICATORIA
Una dedicatoria especial para mi abuela que no podrá estar de cuerpo
presente en mi vida, pero siempre en mi mente. A mi orgullo más inmenso mi madre
Isabel Quinto y a Germán Amán por su apoyo, su tiempo, su paciencia, por toda la
ayuda de ambos en este proceso y por su amor incondicional.
María José Coral Q.
iv
AGRADECIMIENTO
Agradezco a mi familia por ser un pilar fundamental al igual que mis dos
grandes amigos, que son como mis hermanos por apoyarme incondicionalmente
en mi vida y en cada etapa de este proceso. Mis sinceros agradecimientos para la
Ing. Michelle Varas por todo el apoyo brindado en mi etapa académica. De igual
manera al Ing. Fabricio Cadena por su interés, su ayuda, consejos y sugerencias
en el desarrollo de este proyecto desde sus inicios hasta su culminación. Y a todos
los docentes que formaron parte de mi educación, crecimiento personal y
profesional al impartirme sus conocimientos los cuales me permitieron obtener
la posibilidad de realizar este proyecto.
Agradezco a una persona especial en mi vida por ayudarme a culminar esta
etapa con su motivación, su tiempo, su dedicación, sus consejos y por enseñarme
que la vida “No es una deuda que saldar, no regala créditos y no acepta
descuentos”
María José Coral Q.
ÍNDICE GENERAL
Nº Descripción
PRÓLOGO
Pág.
1
INTRODUCCIÓN 2
CAPITULO I
MARCO TEÓRICO 10
Nº Descripción Pág.
1.1 Historia de Bases de Datos. 10
1.2 Descripción de Bases de Datos 12
1.3 Descomposición de diseño de una base de datos 12
1.3.1 Diseño Conceptual 12
1.3.2 Diseño lógico 13
1.3.3 Diseño físico 13
1.4 El modelo 13
1.5 Modelos de datos 13
1.5.1 Modelo jerárquico 13
1.5.2 Modelo En Red 14
1.5.3 Modelo relacional 15
1.5.4 Modelo orientado a objetos 16
1.5.5 Modelo entidad-relación 17
1.6 Sistemas gestores de base de datos 18
1.7 Funciones de un Sistema Gestor de Base de Datos (SGBD) 18
1.8 Sistemas Gestores de Bases de Datos más Usados 19
1.8.1 MySQL 19
1.8.2 Microsoft SQL Server 19
1.8.3 Oracle 20
1.8.4 Microsoft Access 20
1.8.5 PostgreSQL 20
1.8.6 DB2 20
1.8.7 Bases de datos NOSQL 20
1.9 Comparación entre sistemas gestores de base de datos 21
1.10 Comparación entre MySQL y SQLite 23
1.11 Comparaciones de bases de datos Relacional y No Relacional 24
1.12 Comparaciones de bases de datos Centralizadas y bases de
datos Distribuidas 24
1.13 Comparaciones de bases de datos libre y Propietario 25
1.14 Servicio Web 25
1.15 Qué es un Servicio Web 26
1.16 Estándares de Servicio Web 27
1.16.1 Ventajas de los servicios web 27
1.16.2 Desventajas de los servicios web 28
1.17 Tipos Servicios Web 28
1.17.1 SOAP 28
1.17.2 XML 28
1.17.3 WSDL 28
1.17.4 JSON 29
1.18 REST 29
1.18.1 ¿Qué es REST? 29
1.19 ¿Qué es SOAP? 30
1.20 Principales Diferencia entre REST y SOAP 32
1.21 Realidad Aumentada en la actualidad en el ámbito educativo 33
1.22 Unity 3D 33
1.22.1 Ventajas de Unity3D 33
1.23 Lenguajes de programación con los que trabaja Unity3D 34
1.23.1 C# o C Sharp 34
1.23.2 JavaScript 34
1.24 Alojamiento Web 35
1.25 Tipo de hosting 36
1.25.1 Alojamiento compartido (shared hosting) 36
1.25.2 Alojamiento gratuito 36
1.25.3 Alojamiento de imágenes 36
1.25.4 Alojamiento revendedor (reseller) 36
1.25.5 Servidores virtuales (VPS, Virtual Private Server) 36
1.25.6 Servidores dedicados 37
1.26 Transferencia de Datos y Ancho de Banda 37
1.26.1 Transferencia de datos 37
1.26.2 Ancho de banda 37
1.26.3 La velocidad de transferencia de datos 37
1.27 La Educación Actual 38
1.28 Tipos de educación mediante el uso de las tecnologías de
información y comunicación 39
1.28.1 Educación en línea 39
1.28.2 Educación móvil 40
1.28.3 Educación virtual 40
1.28.4 Software educativo 41
1.29 Tipo de software educativo 42
Capítulo II
Nº
METODOLOGÍA
Descripción
Pág.
2.1 Universo 43
2.2 Metodología de la Investigación 43
2.3 Tipos de Investigación 43
2.3.1 Investigación Proyectiva 43
2.3.2 Investigación de campo 43
2.3.3 Investigación Descriptiva 44
2.3.4 La entrevista 44
2.4 Población y Muestra 44
2.4.1 Características de la Población 44
2.4.2 Delimitación de la Población 44
2.4.3 Tamaño de la Muestra 45
2.4.4 Instrumento y recolección de información 45
2.5 Procedimiento para la recolección de información 45
2.5.1 Aplicación de instrumento 45
2.5.2 Análisis de la Encuesta 45
2.5.3 Análisis de la Entrevista 52
2.6 Resultados de la Investigación 55
2.6.1 Análisis de la Investigación 55
2.6.2 Metodología de Desarrollo 56
2.6.3 Proceso Preliminar 56
2.6.3 Proceso Preliminar SCRUM 56
2.6.3 Proceso Preliminar ADDOEI 56
Capítulo III
PROPUESTA
Nº Descripción Pág.
3.1 Descripción de la solución: 57
3.1.1 Fase de Requerimientos 59
3.1.2 Personal Involucrado 59
3.1.3 Scrum Master 59
3.1.4 Scrum Team 59
3.2 Características de los usuarios del sistema 59
3.3 Requerimientos funcionales 60
3.4 Requerimientos no funcionales 61
3.5 Roles 62
3.6 Fase de Análisis y Diseño de la aplicación 62
3.7 Diseño 64
3.7.1 Modelo Entidad Relación 64
3.7.2 Diagrama de clases UML 65
3.7.3 Diccionario de Datos de la Base de Datos 66
3.7.4 Diagrama de casos de uso 68
3.7.5 Diagrama de secuencia 69
3.8 Fase de Implementación y Prueba 72
3.9 Cronograma de actividades 77
3.9.1 Cronograma de actividades en Diagrama de Gantt 78
Conclusiones 81
Recomendaciones 82
Anexos 83
Bibliografía 89
ÍNDICE DE GRÁFICOS
N.º Descripción Pág.
1 Porcentaje de personas que utilizan internet 6
2 Razones de uso de internet por área 7
3 Maquina tabuladora de Hollerith 10
4 Edgar Fram Codd contribuyó a la teoría de bases de datos 11
5 Representación gráfica de un modelo jerárquico 14
6 Modelo de base de datos en red 15
7 Modelo de base de datos relacional 16
8 Modelo de base de datos orientada a objetos 17
9 Modelo de base de datos entidad-relación 18
10 Web services soap – rest 26
11 Funcionamiento de servicios REST 30
12 Funcionamiento de servicios SOAP 31
13 Educación en línea 39
14 Educación móvil 40
15 Educación virtual 41
16 Tipos de software educativos 42
17 Identificación del género del estudiante 46
18 Identificación de edad del estudiante 47
19 Cuenta con un dispositivo móvil (Smartphone o tablet) 48
20 Complejidad de aprendizaje en fundamentos de programación 49
21 Utilizaría aplicación movil educativa de realidad aumentada 50
22 Está de acuerdo con que una aplicación móvil educativa 51
23 Modelo Conceptual de la solución 58
24 Arquitectura Rest planteada para la aplicación 58
25 Modelo Entidad Relación 64
26 Diagrama de clases UML 65
27 Diagrama de caso de uso estudiante 68
28 Diagrama de caso de uso docente 69
29 Diagrama de secuencia inicio de sesión 69
30 Diagrama de Secuencia registrarse 70
31 Diagrama de secuencia evaluación 70
32 Diagrama de secuencia preguntas 71
33 Diagrama de secuencia puntuación 71
34 Opción Submenú de ARPRO 72
35 Submenú de evaluación 73
36 Registro de Usuario 73
37 Iniciar Sesión 74
38 Escena evaluación 74
39 Submenú docente 75
40 Ingreso Preguntas Docente 75
41 Puntuaciones de usuarios 76
ÍNDICE DE TABLAS
N.º Descripción Pág.
1 Comparación de gestores de bases de datos. 21
2 Comparación de bases de datos Código Abierto/Propietario 23
3 Comparación de bases de datos Relacional/ No Relacional 24
4 Comparación de bases de datos Centralizada/Distribuida 24
5 Comparaciones de bases de datos libre y Propietario 25
6 Comparación de bases de datos Código Abierto/Propietario 32
7 Características de software educativo 42
8 Identificación del género del estudiante 46
9 Edad promedio de los estudiantes encuestados 47
10 Cuentan con un dispositivo móvil los encuestados 48
11 Se complica el aprendizaje en fundamentos de programación 49
12 Utilizaría aplicación movil educativa de realidad aumentada 50
13 Está de acuerdo con una aplicación móvil educativa 51
14 Resultados de entrevistas a Docentes 55
15 Integración de las metodologías para el desarrollo del proyecto 56
17 Características de los usuarios del sistema 59
18 Requerimientos funcionales del sistema 60
19 Requerimientos no funcionales del sistema 61
20 Lista de actividades en desarrollo del sistema 62
ÍNDICE DE ANEXOS
N.º Descripción Pág.
1 Encuestas 84
2 Entrevistas 85
3 Pantalla de servicio web para alojamiento de Mysql 86
4 Pantalla de servicio web para alojamiento de archivos 86
5 Conexión de datos archivos php 87
6 Conexión de datos Unity3D 87
7 Manejo de Funciones Unity3D 88
xiv
AUTOR: MARIA JOSE CORAL QUINTO
TITULO: DISEÑO E IMPLEMENTACIÓN DE BASE DE DATOS
MEDIANTE EL USO DE WEB SERVICES CON
INTEGRACIÓN DE UNITY3D PARA APOYO DE
APLICACIONES LÚDICAS EN LA MATERIA DE
FUNDAMENTOS DE PROGRAMACIÓN.
DIRECTOR: ING. SIST. VILLOTA OYARVIDE WELLINGTON
REMIGIO, MSC.
RESUMEN
Se realizó el presente proyecto con el objetivo de diseñar e implementar de
un modelo de base de datos que permita el almacenamiento y análisis de datos de
una aplicación lúdica de evaluación desarrollada en Unity3D. Como alternativa se
utiliza hosting gratuito de base de datos MySQL, el cual servirá para gestionar el
acceso a datos por medio de funciones PHP, situadas en un alojamiento web para
su posterior consumo en el motor de Unity3D donde se trabajó la lógica de la
aplicación, logrando interoperabilidad entre la aplicación y la base de datos
mediante el uso de servicios web. El presente trabajo de titulación proporciona a los
estudiantes de la carrera de licenciatura en sistemas de información una alternativa
de evaluar el conocimiento que obtienen tras utilizar aplicaciones de contenidos
virtuales de programación como ayuda en la etapa de aprendizaje, realizando test
de preguntas para obtener un puntaje respectivo. Además, permitirá agregar nuevas
preguntas por parte del docente a la base de datos, según considere necesario para
el aprendizaje del estudiante.
Palabras Claves: Diseñar, implementar, análisis, lúdica, alojamiento,
interoperabilidad.
María José Coral Quinto. Ing. Sist. Villota Oyarvide Wellington Remigio, MSc.
C.C. 0942119280 Director del trabajo
xv
AUTHOR: CORAL QUINTO MARÍA JOSÉ
SUBJECT: DESIGN AND IMPLEMENTATION OF DATABASE
THROUGH THE USE OF WEB SERVICES WITH UNITY3D
INTEGRATION TO SUPPORT THE PLAYFUL
APPLICATIONS IN THE SUBJECT OF BASIS
PROGRAMMING.
DIRECTOR: SYST. ENG. VILLOTA OYARVIDE WELLINGTON
REMIGIO, MSC.
ABSTRACT
This project was made with the main objective of designing and
implementing a database model that allows the storage and analysis of data from an
playful application of evaluation, this app was developed in Unity3D. As an
alternative, a free hosting of MySQL database is used, which will serve to manage
the data access through PHP functions, located in a web hosting for later
consumption in the Unity3D engine where the logic of the application was worked,
achieving interoperability between the application and the database through the use
of web services.The present degree work provides the students of the bachelor's
degree in information systems with an alternative to evaluate the knowledge they
obtain after using applications of virtual content of programming as an aid in the
learning stage, making a test of questions to obtain a respective score. Furthermore,
it will allow new questions to be added by the teacher to the database, when it is
necessary for the learning of the stundent´s.
KEY WORDS: Design, implement, analysis, playful, hosting, interoperability.
María José Coral Quinto. Syst.Eng. Villota Oyarvide Wellington Remigio, MSc.
I. D: 0942119280 Director of work
PRÓLOGO
En el presente trabajo de titulación: Diseño e implementación de base de
datos mediante el uso de web services con integración de Unity3D para apoyo de
aplicaciones lúdicas educativas en la materia de fundamentos de programación, se
estudió y analizó la implementación de varias metodologías de desarrollo la primera
Scrum, usada para desarrollo de manera ágil del software, la segunda AODDEI
(Análisis, Obtención, Diseño, Desarrollo, Evaluación e Implantación) por el
desarrollo de la parte pedagógica
Este trabajo de titulación está dividido en 4 partes: Introducción, Marco Teórico,
Metodología y como última parte Propuesta.
En la parte introductoria se presenta el tema y se define la problemática, los
objetivos y el alcance del mismo.
En el Marco Teórico, se investigan, analizan y comparan varias herramientas a
utilizar, delimitando cuál será la que se adapta de mejor manera para implementar
el diseño del sistema propuesto.
La parte metodológica, se utilizan las técnicas a disposición de la metodología de
investigación de tipo cualitativas y cuantitativa. Para el desarrollo de la solución se
utilizan las metodologías de desarrollo escogida, en este caso Scrum y AODDEI.
En la última parte de la Propuesta, se realiza la implementación de la base de
datos dentro de la aplicación lúdica educativa, complementando con las
conclusiones y recomendaciones del estudio realizado.
INTRODUCCIÓN
La tecnología avanza cada día a pasos gigantescos una prueba que lo
demuestra es la necesidad de estar conectados a internet actualmente, tanto es la
dependencia de este servicio en la vida de los seres humanos que, en los hogares,
entes educativos y entidades públicas y privadas se lo administra como si de un
servicio básico se tratará.
En la actualidad el intercambio de datos entre aplicaciones es un proceso
normal, cada vez es más fácil poder transferir información de un lugar a otro con
tan solo un clic.
El uso de servicios web permite a través de protocolos y estándares
necesarios para la normalización de la comunicación, el intercambio de datos entre
distintas aplicaciones de software, las mismas que pueden estar creadas bajo
diferentes lenguajes de programación y funcionando sobre cualquier plataforma,
esta tecnología nos muestra el conocido termino de interoperabilidad que consiste
en que dos o más sistemas pueden intercambiar información y utilizar la
información intercambiada.
Desarrollar un correcto aprendizaje en lógica de programación a los
estudiantes de las materias de fundamentos de programación de la carrera de
licenciatura en sistemas de información de la Universidad de Guayaquil Facultad
de Ingeniería Industrial no les resultada del todo fácil, no obstante, este aprendizaje
es parte de su diario vivir, la lógica está en cada cosa y acción que se realiza.
La lógica de programación es primordial para un correcto desarrollo de
software, al ser la base de conocimientos y la manera en que se puede asimilar o
comprender dicho desarrollo, esto conlleva a utilizar metodologías de enseñanzas
apropiadas que desarrollen la capacidad intelectual del estudiante.
Introducción 3
El presente trabajo de titulación consiste en diseñar e implementar una base
de datos con el dbms MySQL que se conectará por medio de un servicio web con
una aplicación creada bajo la plataforma de Unity3D, la misma que trabaja con el
lenguaje de programación C#.
El intercambio de datos se realiza por medio de programación en archivos
php de intermediario para él envió de información a la base de datos desde la
aplicación de unity3D y viceversa, para lo cual se envía la información
transformada en formatos JSON para que logre ser leída por la aplicación; dentro
de unity3D lograda la comunicación con la base de datos se realizará una evaluación
en forma de actividades lúdicas para evaluar el aprendizaje de los estudiantes en la
materia de fundamentos de programación, con respecto al contenido revisado
dentro de la aplicación.
La evaluación se realiza con la información de las preguntas y respuestas
que se encuentran en la base de datos. Tras la realización de la evaluación por parte
del estudiante se procede al envió de puntuación obtenida en la base de datos para
posteriores uso o análisis de los datos.
El proyecto dentro del ámbito educativo facilitará el proceso de enseñanza-
aprendizaje, la finalidad de este proyecto es la realización de evaluación para los
estudiantes de la materia de fundamentos de programación de primer semestre de
la carrera de licenciatura en sistemas de información en la Universidad de
Guayaquil, Facultad de Ingeniería Industrial, para evaluar el aprendizaje que
obtienen los estudiantes a través de la enseñanza por medio de la aplicación
educativa desarrollada con tecnología de realidad aumentada.
Determinando cuanto ayuda en el proceso de enseñanza dicha aplicación
observando la puntuación obtenida por el estudiante al momento de rendir la
evaluación, se destaca que los resultados de puntuación de los estudiantes serán
almacenados para que puedan ser visualizados dentro de una escena de la
aplicación.
Introducción 4
Objetivo de la Investigación
La educación en el principio de la evolución y desarrollo de la sociedad, su
objetivo es trasmitir y difundir conocimientos de generación en generación, el
educar es prepararse para ejercer un rol en la sociedad, es incalculable la cantidad
de información que pueden ser transferidas y el nivel de aprendizaje que se obtiene
en el proceso de enseñanza.
Motivo por lo cual se escoge un área específica en ciencia y tecnología de
sistemas de información para ser tratada y profundizar en el tema sobre el desarrollo
de lógica de programación, métodos de aprendizaje visuales y su correcta
comprensión.
Conforme pasan los años se crean nuevas tecnologías, así como las ya existentes
se perfeccionan, en el ámbito de los sistemas de información las bases de datos son
unas de las tecnologías que con el pasar del tiempo se han convertido en un área
muy importante, ya que todo gira entorno a lo que a información se refiere puesto
que este recurso es vital para el desarrollo y crecimiento de conocimiento así como
en el ámbito empresarial el manejo de los negocios.
Las bases de datos permiten guarda la información de manera digital
actualmente el almacenamiento en la web de la información permite obtener la
información de forma permanente y oportuna con solo tener acceso a internet.
El investigador Boeing Tom Caudell define en el año de 1990 la realidad
aumentada como: “La superposición de elementos virtuales sobre una visión de la
realidad física, de manera que aporten información adicional a dicha realidad”
(Herrera, 2017)
Diseñar e implementar una base de datos, obteniendo integración con el
programa de Unity3D por medio de un servicio web, lo cual será una solución
eficiente con lo que se logrará comprobar la interoperabilidad entre aplicaciones,
Introducción 5
esto permitirá la obtención y manejo de la información almacenada en la base de
datos con lo cual se podrá desarrollar una opción de evaluación dentro de una
aplicación móvil de realidad aumentada para la materia de fundamentos de
programación, que permitirá almacenar las puntuaciones que obtengas los
estudiantes, las opciones que está integración ofrece permitirán:
● Comprobar la compatibilidad y funcionalidad de Unity3D con bases de
datos externas
● Crear interoperabilidad entre aplicaciones
● Mantener y utilizar la información de la base de datos.
- Delimitación Física de la Investigación
El presente proyecto será realizado para la carrera de Licenciatura en
Sistemas de Información de la Facultad Ingeniería Industrial de la
institución Universidad de Guayaquil.
- Delimitación Espacio – Tiempo
En la Universidad de Guayaquil, Facultad de Ingeniería Industrial en el área
de la carrera de Sistemas de Información. El factor tiempo, se determinó la
segunda semana del mes de noviembre 2017, hasta inicios del mes de agosto
del 2018.
- Recursos Disponibles para la Investigación
Para llevar a cabo el desarrollo del proyecto se realizó investigación sobre
métodos de educación y las tecnologías actuales también se revisó e
investigo acerca metodologías de desarrollo en aplicaciones móviles, en el
desarrollo del proyecto se usarán los siguientes programas: MySQL para
creación de la base de datos, Unity 3D para la creación de una escena en la
aplicación, como hardware un dispositivo móvil con sistema operativo
Android para las pruebas de ejecución.
Introducción 6
Justificación
Las TIC´s en Ecuador se utilizan como una herramienta para el aprendizaje
didáctico e interactivo con los estudiantes.
Anteriormente se utilizaba las metodologías de enseñanza-aprendizaje
tradicionales para la adquisición de conocimientos, pero vivimos en una sociedad
en la cual el uso de tecnologías se ha vuelto importante en el mundo social, laboral
y académico de las personas, cada vez aparecen nuevas tecnologías y por lo tanto
se requiere el correcto manejo y conocimientos de las mismas.
El INEC (Instituto Nacional de Estadísticas y Censos), detalla en el año 2016
que 8 de cada 10 jóvenes entre 16 y 24 años usaron internet en 2016 considerando
que sería el 83.3% de la población a la fecha. Ver Gráfico 1:
Gráfico N° 1
Porcentaje de personas que utilizan internet
Elaboración: Investigación directa.
Fuente. Sitio Web: http://www.ecuadorencifras.gob.ec/documentos/web- inec/EstadisticasSociales/TIC/2016/170125.Presentacion_Tics_2016.pdf
Del mismo modo se conoció las razones del uso de internet en la actualidad,
definiendo que solo el 23.2% de la población utiliza el internet para educación y
aprendizaje, a nivel nacional, el 31,5% de la población utilizó internet como medio
Introducción 7
de comunicación en general y que 38,0% de las personas usó Internet como fuente
de información. Ver Gráfico 2:
Gráfico N° 2
Razones de uso de internet por área
Elaboración: Investigación directa
Fuente. Sitio Web: http://www.ecuadorencifras.gob.ec/documentos/web- inec/Estadisticas_Sociales/TIC/2016/170125.Presentacion_Tics_2016.pdf
Este proyecto se realizó con el objetivo de demostrar la interoperabilidad
entre aplicaciones distintas, realizando la conexión de una base de datos mediante
un servicio web a una aplicación que maneja un almacenamiento de datos local por
cache, con una base de datos externa con la finalidad de poder acceder a los datos
almacenados, y así poder crear dentro de una aplicación de realidad aumentada, una
escena de evaluación, permitiendo que los estudiantes puedan ser evaluados
directamente desde una aplicación educativa, otorgándoles el derecho de aprender
de manera fácil, innovadora y con métodos de ayudas prácticas. Haciendo uso de
Introducción 8
los tics en la educación, el resultado del mismo comprobar si el uso aplicaciones
móviles educativas con tecnologías de la realidad aumentada para la materia de
fundamentos de programación beneficia a los estudiantes y sirve como medio de
aprendizaje, comprendiendo los grandes beneficios y ventajas que puede ofrecer la
tecnología de realidad aumentada en el ámbito educativo.
El presente proyecto busca diseñar e implementar una base de datos permitiendo
una integración con una aplicación que utiliza la tecnología de realidad aumentada
desarrollada en el programa de Unity3D.
Puesto que dicho programa trabaja con un almacenamiento en formatos interno
de datos y no admite una integración con motores de base de datos externos, para
su efecto se creará una conexión mediante el uso de un servicio web dentro del cual
se alojaran los datos para su respetivo consumo en la aplicación, una vez obtenida
la interoperabilidad, se diseñara una escena dentro de la aplicación educativa que
contendrá la realización de evaluación por parte del estudiante.
Mediante la observación de los resultados o puntuación que el estudiante
obtenga posterior a la evaluación completada, se podrá visualizar y evaluar por
parte del docente el aprendizaje que deja la utilización de esta aplicación y definir
si es de ayuda en el proceso de enseñanza.
Se espera que el desarrollo de este proyecto sirva de ayuda en el proceso de
enseñanza a los estudiantes y docentes de la Institución Educativa.
Los beneficiarios indirectos serán la sociedad en general ya que dado el caso en
que los estudiantes respondan favorablemente, podrán ser parte de una mejor
enseñanza de calidad, manteniéndose a la vanguardia en nuevas tecnologías e
innovadoras herramientas de ayuda metodológica de enseñanza aprendizaje que les
permitirá desenvolverse con bases sólidas de conocimiento en su vida académica,
profesional y en el mundo laboral.
Introducción 9
Objetivo General
Diseñar e implementar una base de datos MySQL, que sirva como repositorio
digital de los datos del módulo de evaluación de estudiante de una aplicación móvil
educativa de realidad aumentada, a fin de poder consultar la información dentro del
sistema y permitir almacenar nuevo contenido a la base de datos de forma online
mediante un servicio web.
Objetivos Específicos
Analizar y comparar dos motores de base datos, a fin de utilizar el más
conveniente para un óptimo manejo de datos.
Analizar y comparar los servicios web Soap y Rest, con la finalidad de
seleccionar el servicio más óptimo para el intercambio de datos de la
aplicación.
Crear dentro de un web hosting una base datos MySQL para almacenamiento
de información de la aplicación.
Diseñar y crear escenas de registro e inicio de sesión de usuario en Unity3D,
para registrar los datos de usuario en la base de datos.
Diseñar y crear escenas de evaluación, ingreso de preguntas y muestra de
puntuaciones en Unity3D, con la finalidad de obtener la información
almacenada en la base de datos.
Obtener resultados de la evaluación en la base de datos para verificar la
efectividad del uso de realidad aumentada como herramienta de ayuda para la
enseñanza-aprendizaje.
CAPITULO I
MARCO TEÓRICO
1.1 Historia de Bases de Datos.
La necesidad de almacenar información nace con las industrias y la cantidad
de información que manipulan, los primeros sistemas de bases de datos tuvieron
sus inicios en el año de 1884 cuando Herman Hollerith nacido en Buffalo, Nueva
York, el 29 de febrero de 1860. Aporto con su invento de maquina tabuladora la
automatización de la información, la que fue usada para agilitar los datos del censo
en el año 1890 en los Estados Unidos el cual demoro un periodo de 6 semanas,
actividad que con anterioridad en el censo realizado en el año 1880 tardo 7 años en
devolver la información total del censo. (Rafael Camps Paré, 2015)
Gráfico N° 3
Maquina tabuladora de Hollerith
Elaboración: Investigación directa Fuente. Sitio Web: http://histinf.blogs.upv.es/2013/01/04/historia-de-las-bases-de-datos/
Marco teórico 11
El almacenamiento de los datos comenzó a realizarse de manera relacional desde
1970, cuando Edgar Frank Codd escribió un artículo en los laboratorios de IBM
titulado “Un modelo relacional de datos para grandes bancos de datos compartidos”,
se intentaba explicar cómo funcionaban los modelos de bases de datos en la fecha y
propuso el primer modelo relacional, describió los problemas de los modelos
anteriores es el momento donde comienza el auge de los sistemas relacionales,
aunque no fue sino hasta 1980 que la compañía Oracle lo popularizo con el lenguaje
de consulta estructurado SQL, estas bases de datos administran y almacenan los
datos en formas de tablas para poder relacionar entre sí. Dicha relación consiste en
que los registros de una tabla mantengan datos en común con registros de otra tabla.
Gráfico N° 4
Edgar Fram Codd contribuyó a la teoría de bases de datos relacionales
Elaboración: Investigación directa
Fuente. Sitio Web: http://histinf.blogs.upv.es/2013/01/04/historia-de-las-bases-de-datos/
En los años 90, se comenzó a investigar y crear las bases de datos orientadas
en objetos. Las que son eficaz para ejecutar datos complejos, bajo este diseño de
bases fueron diseñadas las herramientas de Excel y Access.
Marco teórico 12
Existen tres grandes compañías que lideran el mercado de las bases de datos
actualmente estas son; IBM, Oracle y Microsoft. (Ramos, 2016).
Por su parte, en el campo de internet, la compañía que genera gran cantidad
de información es Google.
1.2 Descripción de Bases de Datos
Se considera que una base de datos es un conjunto datos agrupados de forma
estructurada en diferentes campos y tipos de datos, que se encuentran almacenados
en un repositorio, con la finalidad de ser utilizados y procesados convirtiéndose en
información. Las bases de datos se componen de la siguiente manera:
Tabla. - se define como tabla a un objeto que almacena datos agrupados en filas y
columnas. Los datos almacenados en la tabla deben hacer referencia a temas
relacionados con la base de dato, ejemplo base de datos alumno, tabla materia,
grupo, semestre, etc.
Consulta. - las consultas filtran la información de la base de datos y muestran los
datos almacenados que se desea consultar.
Formularios. - proveen formatos para crear, modificar o consultar información,
por parte del usuario, proporciona instrucciones y controles para el usuario.
Informes. - presentación de registros almacenas, con formatos personalizados por
el usuario, son el resultado de las ejecuciones de las consultas
1.3 Descomposición de diseño de una base de datos
1.3.1 Diseño Conceptual
El diseño conceptual es la descripción del contenido de información que se
encuentran en la base de datos, se utiliza para la abstracción de datos y devolver
una descripción entendible.
Marco teórico 13
1.3.2 Diseño lógico
El diseño lógico es un lenguaje que describe la estructura de la base de datos
para que puedan ser entendibles y procesados por los sistemas de gestión de base
de datos.
1.3.3 Diseño físico
El diseño físico es la descripción de la implementación, define la estructura de
almacenamiento real de los datos, este diseño va a depender del sistema de gestión
de base de datos que se utilice.
1.4 El modelo
Mantiene la información en metadatos, permitiendo la modificación de los datos
disminuyendo los problemas de pérdidas de datos en las aplicaciones ya
desarrolladas, proporciona mecanismos de consultas independientes de los sistemas
de gestión de bases de datos.
1.5 Modelos de datos
Los modelos de bases de datos son herramientas que describen la relación de los
datos y las restricciones de consistencia, muestran la estructura lógica de la base,
como son relacionadas y las limitaciones para almacenar y acceder a los datos. Los
tipos de gestores de base de datos más comúnmente utilizados son:
Modelo jerárquico
Modelo en red
Modelo relacional
Modelo orientado a objetos
Modelo entidad-relación
1.5.1 Modelo jerárquico
Este modelo de base de datos almacena en forma de estructura jerárquica la
información, para comprenderlo mejor es decir los datos se organizan en forma de
Marco teórico 14
árbol, el nodo inicial de este árbol se lo denomina raíz se compone de un nodo padre
que contiene varios nodos hijos, pero un segmento hijo no puede tener más de un
padre. Este modelo tiene una desventaja en el manejo de redundancia de datos por
lo general se utilizan en aplicaciones con abundancia de datos.
Gráfico N° 5
Representación gráfica de un modelo jerárquico
Elaboración: Investigación directa
Fuente. Sitio Web: https://www.aiu.edu/cursos/base de datos/pdfleccion2/lecciC3B3n2.pdf
1.5.2 Modelo En Red
Los modelos de red están formados por bases de datos en colecciones de registro,
las cuales se conectan por enlaces, un nodo puede tener varios padres esto mejora
eficientemente la redundancia de datos, pero mantiene cierto grado de complejidad
para usuarios finales.
El modelo de red permite a cada registro tener múltiples entidades y atributos
que forman una estructura de enrejado, las bases de datos en red son una mejora del
modelo jerárquico, porque se permite una conexión ente nodos padres y nodos hijos.
Marco teórico 15
Ejemplo diferentes vendedores distribuyen diferentes productos en
diferentes ciudades. Un producto puede ser distribuido por más de un vendedor y
más de vendedor puede estar en cualquier ciudad.
Gráfico N° 6
Modelo de base de datos en red
Elaboración: Investigación directa Fuente. Sitio Web: http://www.dataprix.com/262-bases-datos-red
1.5.3 Modelo relacional
El modelo relacional es uno de los más utilizados para administrar y modelar
datos. Se basa en el uso de relaciones lógicas, se crean tablas compuestas por
registros que son almacenados en filas y columnas, lo que resulta de fácil
comprensión para el usuario, y los datos son obtenidos mediante consultas que
permiten la administración de los datos, el lenguaje más utilizado es SQL un
estándar implementado por los SGDB, para el diseño de un modelo relacional se
utiliza la normalización de datos
Este modelo es utilizado actualmente porque las tablas utilizadas en la
representación de los datos y las relaciones son bidimensionales lo que significa
que los datos están simultáneamente en una fila y en una columna, ofrece mayor
Marco teórico 16
flexibilidad ya que los datos se almacenan en tablas diferentes, pero relacionadas
entre sí por un campo clave en común.
Ejemplo una tabla de clientes y una tabla pedidos puede crear una relación
por medio del campo código.
Gráfico N° 7
Modelo de base de datos relacional
Elaboración: Investigación directa Fuente. Sitio Web: http://www.dataprix.com/263-bases-datos-relacional
1.5.4 Modelo orientado a objetos
El modelo orientado a objeto es reciente y almacena en la base de datos los
objetos es decir los estados y comportamientos.
Este modelo maneja la encapsulación de datos lo que impide el acceso
incorrecto a datos, se utiliza herencia propiedad que permite añadir atributos o
Marco teórico 17
comportamientos de clases diferentes y polimorfismo propiedad que consiste en
conseguir que un objeto de una clase se comporte como una subclase cualquiera.
Los objetos estructurados en las bases de datos orientadas a objetos se
agrupan en clases, el conjunto de las clases se estructura en subclases y superclases
Gráfico N° 8
Modelo de base de datos orientada a objetos
Elaboración: Investigación directa Fuente. Sitio Web: http://www.dataprix.com/264-bases-datos-orientadas-objetos-bdoo
1.5.5 Modelo entidad-relación
Este modelo representa a las entidades que son objetos existentes con diferentes
características. Las características que tienen las entidades en las bases de datos se
las conoce como atributos; pueden ser nombre, dirección, edad, etc. estos atributos
se pueden asociar con otras entidades y formar una relación. Ejemplo la entidad
alumno puede relacionarse por medio del atributo pertenece con la entidad clase. Y
su explicación de relación es que uno o muchos alumnos del curso x pertenecen a
una o muchas clases.
Marco teórico 18
Gráfico N° 9
Modelo de base de datos entidad-relación
Elaboración: Investigación directa
Fuente. Sitio Web: https:/wikia.com/wiki/File/Modelo-entidad-relacion
1.6 Sistemas gestores de base de datos
Los sistemas Gestores de Base de Datos conocidos por sus siglas en ingles
SGBD, son conjuntos de programas que realizan la administración y manejo de la
información que se almacena dentro de las bases de datos, se caracterizan por;
monitorear los accesos de datos, mantener la integridad, proveer seguridad y
privacidad en la manipulación de los mismos.
Es la interfaz que el usuario utiliza para gestionar la base de datos, donde puede
almacenar, modificar, acceder y deshacer la información contenida dentro de la
misma.
Los sistemas de gestión de base de datos se componen de:
Gestores de bases de datos
Diccionarios de datos
Administradores de bases de datos
Lenguajes de bases de datos
1.7 Funciones de un Sistema Gestor de Base de Datos (SGBD)
Marco teórico 19
Los sistemas gestores de bases de datos realizan funciones para la ejecución de
las operaciones sobre la base de datos, con el fin de proporcionar de modo seguro
y eficiente a los usuarios la utilización de los datos, las funciones pueden agruparse
de la siguiente manera:
Definición de los datos: el sistema de gestor de base de datos define los datos
desde las fuentes.
Manipulación de los datos: el sistema gestor de base de datos, da respuestas a
los usuarios en sus peticiones de extracción, modificación, eliminación y otras
gestiones.
Seguridad e integridad de los datos: el sistema gestor de base de datos deberá
garantizar la seguridad de los datos, prevenir ataques e impedir y vigilar el acceso
de usuarios no autorizados.
Recuperación y restauración de los datos: el sistema de gestor de base de datos
ejecutará un plan de contingencia en caso de fallo, para obtener la recuperación y
1.8 Sistemas Gestores de Bases de Datos más Usados
1.8.1 MySQL
El sistema de gestión de base de datos mysql es uno de los sistemas más
usados en aplicaciones de software libre, es relacional, multihilo y multiusuario,
una de sus ventajas es la velocidad de realización de operaciones.
1.8.2 Microsoft SQL Server
El sistema de gestión de base de datos sql server maneja un lenguaje transact-
sql, permite disponer de grandes cantidades de datos de manera sincronizada a
varios usuarios, una de sus ventajas es el modo de trabajar como cliente-servidor
Marco teórico 20
donde permite que los datos e información se alojen en el servidor y los clientes
de la red acceden a la información.
1.8.3 Oracle
El sistema de gestión de base de datos de Oracle es considerado robusto y
completo soportar transacciones, brindar estabilidad, permitir escalabilidad y ser
multiplataforma es decir puede funcionar los diferentes entornos web.
1.8.4 Microsoft Access
Es un sistema de gestión de base de datos creado para uso de pequeñas
organizaciones, permite crear tablas de datos indexadas, modificar tablas de datos,
creación y consultas de datos.
1.8.5 PostgreSQL
El sistema de gestión de base de dato es de código abierto, es escalable y
confiable, ofrece concurrencia de datos. 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
que le ha valido una sólida reputación de fiabilidad, robustez de las características
y rendimiento.
1.8.6 DB2
El sistema de gestión de base de datos, utiliza estándar XML como motor,
agilita el tiempo de respuestas en consultas, tablas de resumen y replicadas, está
dirigido a grandes empresas con gran afluencia de almacenamiento y
procesamiento de datos.
1.8.7 Bases de datos NOSQL
El termino de base de datos NOSQL se dio en el año 1999 por Racks Pace,
quien intento referirse a la cantidad de datos no relacionados y distribuidos en las
redes sociales, los buscadores y la web. Las bases de datos NOSQL son sistemas
Marco teórico 21
de almacenamiento de información que no tiene una estructura de dato relacional
en forma de tablas, este sistema nos permite almacenar información.
1.9 Comparación entre sistemas gestores de base de datos
Tabla N° 1
Comparación de gestores de bases de datos.
DBMS Características Ventajas Desventajas Opinión
DB2 Propiedad de
IBM.
Permite
integración
nativa con
XML.
Es relacional.
Similitudes de
arquitectura con
Oracle.
Potente SQL.
Multiplataforma
elimina tareas
rutinarias,
ahorro de
recursos de
hardware
Versión gratuita
de prueba
llamada DB2
Express-C
Escalable
Estable
No es tan
robusto como
Oracle
Puede ser caro
Es un DBMS
Que optimiza
el sistema,
configuracion
es
automáticas y
gestión de
valores.
MySQL Propietaria y
publica
Portabilidad.
Escrita en
leguaje de
programación C
y C++
Servidor
separado para
uso de entorno
Código abierto
Rapidez para
realizar
operaciones
Fácil de
aprender y
utilizar
multiplataforma
Código abierto
Fácil
configuración
Poca
documentació
n
El soporte
para
disparadores
es muy básico
Incompatibili
dad con
algunas
MySQL es
uno de los
mejores
DBMS
Eficiente
Código libre y
gratuito.
Tiene algunas
versiones de
pago
Marco teórico 22
de red cliente/
servidor
conversiones
de datos
Oracle Propietaria
Portable
Compatible
Alto
rendimiento
DBMS popular
Soporte técnico
en línea
Gestiona
múltiples bases
de datos
Pago de
licencia
Poca
información
de
documentació
n
Licencia de
pago, que
ofrece como
beneficio
fiabilidad y
soluciones en
soporte.
PostgreS
QL
Potente y
robusta
Permite
herencia entre
tablas
Incorpora
estructuras de
arrays
Ampliamente
popular
Instalación
finita
Ofrece
estabilidad
Soporta una
gran capacidad
de
almacenamiento
Retraso de
inserciones y
modificacione
s
Soporte en
línea
Compatibilida
d de tipos de
datos variada.
SQLite DBMS
relacional
público
Incluidos en
algunos
lenguajes de
programación
por defectos
Es
multiplataforma
Soporte
incluido en
algunos
lenguajes de
programación
como módulos
para SQLite
Capacidad de
almacenamien
to limitada de
2 terabytes
Variación de
tipos de datos
por versiones
se asigna por
de datos.
DBMS usado
en
aplicaciones
como ficheros
de datos como
por ejemplo
Android,.
Elaboración: Investigación directa
Fuente: http://desarrollowebydesarrolloweb.blogspot.com/2015/02/tabla-comparativa-de-los-sistemas.html
Marco teórico 23
1.10 Comparación entre MySQL y SQLite
Tabla N° 2
Comparación de bases de datos Código Abierto/Propietario
MySQL SQLite
MySQL es un servidor de datos de
gran escala, usando en la mayoría de
sitios web y aplicaciones en línea
actuales, permite acceso de
información sobre base de datos en
internet, admite procesos de backups
SQLite no es recomendable para sitios
con demasiada concurrencia de dato,
pero se convierte en buena alternativa
para sitios web actuales donde su
tráfico sea medio-bajo, no admite
procesos de backups
Permite concurrencia de conexión, se
admite realizar múltiples consultas y
modificaciones al mismo tiempo.
No permite concurrencia de conexión
es mono-usuario. No se puede
reutilizar un dato si está siendo
utilizado por otro usuario.
Es un gestor de base de datos, y cada
tabla está en un fichero diferente, así
como vistas y otros objetos.
Fichero de datos organizados
adecuadamente
Variedad de tipos de datos definidos
por usuario.
Tipos de datos general no definido.
Posibilidad de gestionar usuarios con
diferentes niveles de acceso.
La seguridad se determina por permiso
a los ficheros de datos establecido por
Unix/Linux.
Elaboración: Investigación directa
Fuente: Sitio Web: https://ajbalmon.wordpress.com/2013/12/15/mysql-vs-sqlite/
Marco teórico 24
1.11 Comparaciones de bases de datos Relacional y No Relacional
Tabla N° 3
Comparación de bases de datos Relacional/ No Relacional
Base de Datos Relacional Base de Datos No Relacional
Baja Escalabilidad Alta Escalabilidad
Bajo Rendimiento Alto Rendimiento
Alta Fiabilidad Baja Fiabilidad
Alta Integridad y compatibilidad de
datos
Baja Integridad y compatibilidad de
datos
Utiliza propiedades ACID Utiliza propiedades Base
Estandarización de datos Falta de estandarización de datos
Costos de Implementación altos Costos de Implementación moderados
Alta Seguridad Baja Seguridad
Lento procesamiento de datos Veloz procesamiento de datos
Elaboración: Investigación directa
Fuente: https://www.coursehero.com/file/26749267/bbpdf/
1.12 Comparaciones de bases de datos Centralizadas y bases de datos
Distribuidas
Tabla N° 4
Comparación de bases de datos Centralizada/Distribuida
Base de Datos Centralizadas Base de Datos Distribuidas
Control centralizado en un solo
sistema
Control jerárquico un sistema global y
varios subsistemas locales
Independencia de los datos Transparencia en la distribución
Una sola copia de datos Copias múltiples de datos
Reducción de problemas de
redundancia
Mayor posibilidad de redundancia
Sistemas seguros Mayor probabilidad de fallos
Elaboración: Investigación directa
Fuente: https://es.slideshare.net/EduardoSimonHernandez/base-de-datos-distribuidas-vs-centralizadas
Marco teórico 25
1.13 Comparaciones de bases de datos OpenSource y bases de datos
Propietario
Tabla N° 5
Comparaciones de bases de datos OpenSource y bases de datos Propietario
Base de datos de código abierto Base de datos Propietario
Bajo o inexistente costo de
adquisición y uso
Alto costo de adquisición y uso
Se encuentra asistencia de ayuda en
comunidades o por asistencia de
contrato
Ayuda solo de empresas autorizadas o
por asistencia de contrato
Velocidad en tiempo de respuesta Rapidez de respuesta por optimización
de datos
Funcionalidad dispone de algunos
entornos y herramientas de
programación
Funcionalidad el entorno de
programación intuitivo.
Portabilidad se ejecuta en la mayoría
de sistemas operativos
Se ejecuta en la mayoría de sistemas
operativos, principalmente en RedHat.
Facilidad de uso y administración Posee herramientas de manejo y
control de procesos vigilancia y
monitoreo.
Soporta la mayoría de tipos de datos Soporta todos los tipos de datos
Elaboración: Investigación directa
Fuente: Sitio Web: http://es.calameo.com/read/000699430293e64d0f2c5
1.14 Servicio Web
El World Wide Web Consortium (W3C) define a un servicio web como un
sistema de software designado para dar soporte a la interacción de máquina a
máquina interoperativamente a través de una red. (IBM, 2014)
Marco teórico 26
Los servicios web ofrecen la posibilidad de interoperar en la web para que
aplicaciones logren intercambiar datos entre ellas por medio de conexiones a
servicios. (Alicante, 2014)
La creciente popularidad de la red, dio lugar a una enorme cantidad de
información en el lado del servidor eh hizo que creciera la infraestructura de redes
para que estuviera disponible la información para todo el mundo al mismo tiempo.
Sin embargo, la insatisfacción de los usuarios también creció debido a la
arquitectura de ir de una página a otra, por lo que se diseñó la web 2.0
La web 2.0 es un estilo de diseño web donde la página se mantiene quieta y la
nueva información se va recuperando en el fondo, tal como conocemos actualmente
en facebook, Gmail y Outlook.
Gráfico N° 10
Web services soap – rest
Elaboración: Investigación directa Fuente. Sitio Web: https://programarfacil.com/podcast/59-que-son-los-servicios-web/
1.15 Qué es un Servicio Web
Mas conocidos como web services, tecnología que usa una colección de
protocolos y estándares que proporcionan el intercambio de datos de una aplicación
a otra distinta indiferentemente del lenguaje de programación que ambas manejen,
Marco teórico 27
estos servicios pueden ser llamados por internet desde cualquier sitio, siendo
independiente a cualquier plataforma y desarrollo usado. (Sandoval, 2016)
Cuando el navegador realiza una petición acerca de una página web, recibe html
y otros contenidos relacionados con la respuesta, pero si solo se solicitan datos se
utiliza JavaScript u otro tipo de código del lado del cliente para procesar la respuesta
en ese caso se ha utilizado un servicio web.
Las comunicaciones de los servicios web modernos se manejan por http, es el
protocolo de trasferencia de hipertexto, sin embargo, el formato del mensaje que se
está enviando y se está recibiendo puede diferir mucho.
1.16 Estándares de Servicio Web
Cada día es más habitual el uso de servicios web. Nos facilitan el intercambio
de datos entre aplicaciones implementando un conjunto de protocolos y estándares
que normalizan esta comunicación. Este tipo de tecnología permitirá por tanto que
software realizado en diferentes lenguajes de programación, y funcionando en
distintas plataformas, puedan intercambiar datos y hacer uso de ellos, usando
estándares de interoperabilidad. (Gorman, 2014)
1.16.1 Ventajas de los servicios web
Aportan interoperabilidad entre aplicaciones de software
independientemente de sus propiedades o de las plataformas sobre las que
se instalen.
Los servicios Web fomentan los estándares y protocolos basados en texto,
que hacen más fácil acceder a su contenido y entender su funcionamiento.
Permiten que servicios y software de diferentes compañías ubicadas en
diferentes lugares geográficos puedan ser combinados fácilmente para
proveer servicios integrados.
Reducen la complejidad por medio del encapsulamiento os solicitantes y los
proveedores del servicio se preocupan por las interfaces necesarias para
interactuar. Como resultado, un solicitante de servicio no sabe cómo fue
implementado el servicio por parte del proveedor
Marco teórico 28
1.16.2 Desventajas de los servicios web
Para realizar transacciones no pueden compararse en su grado de desarrollo
con los estándares abiertos de computación
distribuida como CORBA (Common Object Request Broker Architecture).
Su rendimiento es bajo si se compara con otros modelos de computación
distribuida, tales como Java Remote Method
Invocation (RMI), CORBA etc.
Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en
firewall cuyas reglas tratan de bloquear o auditar la comunicación entre
programas a ambos lados de la barrera.
1.17 Tipos Servicios Web
1.17.1 SOAP
SOAP ( Simple Object Access Protocol) se define como un protocolo estándar,
que utiliza lenguaje XML para intercomunicarse y posibilita la comunicación de
diferentes procesos por mensajes xml, que son transportados por un protocolo de
transporte. Puede asociarse a protocolos existentes como HTTP (Hypertext Transfer
Protocol), FTP (File Transfer Protocol), o SMTP (Simple Mail Transfer Protocol).
(Alicante, 2014)
1.17.2 XML
El Extensible Markup Language, es un meta-lenguaje (lenguaje usado para
describir a otros lenguajes) que nos permite definir lenguajes de marcado adaptados
o enfocados a usos concretos. Los archivos de este tipo tendrán una extensión
.xml y un tipo de MIME (estándar para el intercambio de todo tipo de archivos a
través de internet) application/xml, text/xml. (Romero, 2015)
1.17.3 WSDL
Web Services Description Language. Se trata de un formato XML para describir
servicios web. Se basa en XML que es la interactuación con los servicios por medio
de protocolos y estándares de mensajería. (Romero, 2015)
Marco teórico 29
1.17.4 JSON
Se utiliza para el intercambio de datos, es un formato de dato liviano conocido
por sus siglas como JavaScript Object Notation, son subconjuntos de notaciones
que no requieren el uso de un formato XML porque son objetos de JavaScript. Estos
archivos tendrán una extensión .json y un tipo de MIME application/json.. (Romero,
2015)
1.18 REST
Acrónimo de Representational State Transfer, es un estilo de arquitectura
software que define un conjunto de principios, por los cuales se diseñan servicios
web haciendo foco en los recursos del sistema, además de cómo se acceden a dichos
recursos y cómo se transfieren por el protocolo de transporte HTTP hacia clientes
escritos en diversos lenguajes. (Romero, 2015)
1.18.1 ¿Qué es REST?
Transferencia de estado representacional, el termino rest fue acuñado en una
tesis doctoral de Roy Fielding en el año 2000 sobre la web. Es uno de los principales
autores de las especificaciones del protocolo http, este término se basa en las
operaciones de protocolo de la misma donde se afirma que la web ha disfrutado de
escalabilidad de los servicios rest por los resultados y aceptación de diseños
anteriormente realizados (Oviedo, 2015)
Ni el cliente ni el servidor requieren reconocer ningún protocolo de
comunicación entre los mensajes, a esto se le denomina protocolo cliente- servidor
sin estado, cada que se realiza una petición lo único necesario a tener en
consideración es el domino que no es más que la (ip) para la comunicación.
Una característica principal para identificar los recursos de información en un
sistema rest, es que manejan individualmente una URL de contenido definido.
El uso de hipermedios, tanto como para información de la aplicación como para
las transacciones de estado de la aplicación es decir del protocolo http la
Marco teórico 30
representación de este estado en un sistema rest es típicamente vía HTML o XML,
el uso de hipermedios es por XML por medio de párrafos una imagen etc.
(Cartagena, 2014)
Los sistemas que están basados en sistemas rest con frecuencia utilizan api
Restful, que significa que realizan las cuatro operaciones básicas que son:
GET: Obtiene un recurso del servidor.
PUT: Actualiza o cambia el estado de un recurso del servidor.
POST: Creación de un recurso en el servidor.
DELETE: Elimina un recurso del servidor.
El funcionamiento de la arquitectura de software basándose en el
protocolo http, es una técnica de arquitectura de software para sistemas
hipermedias distribuidos en internet
Gráfico N° 11
Funcionamiento de servicios REST
Elaboración: Investigación directa Fuente. Sitio Web: https://www.oscarblancarteblog.com/2017/03/06/soap-vs-rest-2/
1.19 ¿Qué es SOAP?
Soap es conocido como formato de mensaje XML usados para interactuar con
servicios web. Se conforma de tres partes fundamentales que son.
Marco teórico 31
Contenedor, este declara la existencia y procesamiento de un mensaje.
Reglas, conjunto de normas de codificación e instancias de tipos de
datos.
Convención, se usa para identificar llamadas a procedimientos y gestión
de respuestas.
SOAP para enviar y recibir mensajes admite formatos de procedimientos
enviados por medio de sitios web, crean la búsqueda del dato solicitado y la
renderización por medio de parámetros de consultas previos definidos. Los
resultados pueden devolverse en formatos XML. (Cartagena, 2014)
Es un protocolo escrito en XML para el intercambio de información entre
aplicaciones. Es un formato para enviar mensajes, diseñado especialmente para
servir de comunicación en Internet, pudiendo extender los HTTP headers.
Es una forma de definir qué información se envía y cómo mediante XML.
Básicamente es un protocolo para acceder a un Web Service.
Gráfico N° 12
Funcionamiento de servicios SOAP
Elaboración: Investigación directa Fuente. Sitio Web: https://www.oscarblancarteblog.com/2017/03/06/soap-vs-rest-2/
Marco teórico 32
1.20 Principales Diferencia entre REST y SOAP
Tabla N° 6
Comparación de bases de datos Código Abierto/Propietario
Elaboración: Investigación directa
Fuente: Sitio Web: http://users.dsic.upv.es/~rnavarro/NewWeb/docs/RestVsWebServices.pdf
Marco teórico 33
1.21 Realidad Aumentada en la actualidad en el ámbito educativo
La realidad aumentada actualmente es una tecnología que permite tener una
percepción virtual de la realidad física en tiempo real, que genera ilustraciones y
gráficos en 3D o 2D dando al usuario una experiencia de interacción como si de
algo real se tratara.
Con la presencia predominante de los teléfonos inteligentes, en la vida de las
personas se crea una necesidad de consumo, la conexión a internet, actualmente
estar conectados a internet no es una tarea difícil para los usuarios ya que su acceso
no es limitado al contrario se puede obtener de diversas formas incluso de manera
gratuita tan solo conectándose a una red wifi abierta al público. Esta facilidad de
acceso al servicio de internet crea una gran ventaja en el desarrollo de aplicaciones
en RA.
La realidad aumentada orientada a la educación es favorable para los usuarios,
se ha implementado ya en museos, exhibiciones, parques temáticos, etc. Como
método de información de lugares, obras, direcciones, descripciones, etc. Se han
desarrollado diversas aplicaciones en RA para mejorar el aprendizaje de niños y
promover el conocimiento de la medicina.
1.22 Unity 3D
Unity 3D es una herramienta que nos permite crear y diseñar modelos en 3D
para diversas plataformas, podremos importar nuestros modelos 3D, texturas,
sonidos, etc. Se puede desarrollar videojuegos y aplicaciones lúdicas mediante un
editor de escenas y un modo de desarrollo para escritura de código en C# o
JavaScript (AROCA, 2013)
1.22.1 Ventajas de Unity3D
● Multiplataforma.
● Fácil de usar.
● Tienda de complementos para los diseños en 3D.
● Utiliza dos lenguajes simples y sencillos que son JavaScript y C#.
Marco teórico 34
1.23 Lenguajes de programación con los que trabaja Unity3D
Para el desarrollo del presente proyecto basado en realidad aumentada se
requiere utilizar dos lenguajes de programación que son:
● C# o C Sharp
● JavaScript
1.23.1 C# o C Sharp
C# es un lenguaje de programación orientado a objetos desarrollado por
Microsoft, su sintaxis es sencilla y fácil de aprender, permite desarrollar
aplicaciones rápidamente y mantener la expresividad y elegancia de los lenguajes
de estilo de C. (Microsoft, microsoft, 2017)
Ventajas
● Lenguaje simple y sencillo de utilizar.
● Fácil desarrollo y aprendizaje para programadores con conocimientos en C,
C++ y Java.
● Código mucho más limpio y propenso a errores.
● Rendimiento más óptimo.
1.23.2 JavaScript
Es un lenguaje de programación interpretado es decir no necesita ser
compilado, fue desarrollado por Netscape, a partir del lenguaje Java, el cual tiene
una sintaxis similar, se utiliza principalmente en los navegadores web y para la
creación de páginas web. (Redalyc.org, 2015)
Ventajas
● Rapidez al ejecutar funciones
● Sencillez al aprender
● Soporta navegadores más populares: Chrome, Mozilla, Internet Explore,
entre otros.
● Es multiplataforma y escalable
● Es un potente lenguaje de programación usado en la actualidad
● Las mayoría de las aplicaciones web están basadas en JavaScript
Marco teórico 35
1.24 Alojamiento Web
Un web hosting o alojamiento web es un servicio que proporciona a los
usuarios de internet un sistema donde puedan almacenar información, sea esta del
contenido tipo imagen, video, archivo, etc. Una definición simple sobre alojamiento
web es un espacio de internet para subir cualquier tipo de información. El
alojamiento web actualmente es usado mayormente por aplicaciones con
concurrencia de usuarios media permiten al usuario acceder a información en
tiempo real y realizan un aporten en la renderización de datos desde la web.
La información se aloja en servidores con infraestructura robusta que permite
la seguridad de la información alojada y que este que te disponible para los usuarios
que la necesiten en las condiciones que el propietario de la información lo decida.
Pero también existen servidores compartidos donde varios miles de usuarios tienen
acceso a un mismo servidor de alojamiento y comparten el espacio de
almacenamiento, estos últimos son recomendados para usuarios que necesitan
espacios para concurrencia media al servicio. Hay una gran variedad de sitios y
empresas que brindan servicios de alojamiento web gratuito, cada una de ellas
tienen sus particularidades en cuanto al tipo de servicio brindado y las condiciones
del mismo un alojamiento web nos ofrece: (Poveda, 2015).
Espacio web. - Cantidad de espacio de disco duro limitado disponible para
almacenar todos los archivos de una página web (.html, .jpeg, .mpeg, .mp3, etc.)
Para el resto de información es suficiente con 100 o 200 Mb.
Bases de datos. - Están disponibles en servicios de pago y hosting gratuitos.
Utilizadas para servicios de registro de usuarios, foros, tiendas, etc. Su uso requiere
conocimientos avanzados. La más fácil y extendida es MySQL.
Soporte PHP. - Permite colgar páginas o archivos con funcionalidades añadidas
basadas en el lenguaje de programación PHP. Utilizado para crear páginas
dinámicas para interacción de usuario.
Marco teórico 36
1.25 Tipo de hosting
1.25.1 Alojamiento compartido (shared hosting)
Un espacio hosting (shared) es un servicio que aloja varios sitios en un mismo
servidor. Es una alternativa para pequeños y medianos cliente, es un servicio
económico ya que comparte un servidor con cientos y miles de usuarios. Las cuentas
de hosting comparten memoria y procesador su diferencia esta en la cantidad de
espacio usado de transferencia mensual. En resumen, las desventajas son:
disminución de los recursos del servidor, de velocidad, de desempeño, de seguridad
y de estabilidad.
1.25.2 Alojamiento gratuito
El alojamiento gratuito es extremadamente limitado cuando se lo compara
con el alojamiento de pago. Estos servicios generalmente agregan publicidad en los
sitios y tienen un espacio y tráfico limitado. La empresa que provee el servicio,
brinda un panel de control para administraciones de cuentas.
1.25.3 Alojamiento de imágenes
Este tipo de hospedaje se ofrece para guardar imágenes en internet, la mayoría
de estos servicios son gratuitos y las páginas se valen de la publicidad colocadas en
su página al subir la imagen.
1.25.4 Alojamiento revendedor (reseller)
Este servicio de alojamiento está diseñado para grandes usuarios o personas
que venden el servicio de Hospedaje a otras personas. Estos paquetes cuentan con
gran cantidad de espacio y de dominios disponibles para cada cuenta.
1.25.5 Servidores virtuales (VPS, Virtual Private Server)
Mediante el uso de una máquina virtual La empresa ofrece el control de un
ordenador aparentemente no compartido. Así se pueden administrar varios
Marco teórico 37
dominios de forma fácil y económica, además de elegir los programas que se
ejecutan en el servidor.
1.25.6 Servidores dedicados
El término servidor dedicado se refiere a una forma avanzada de alojamiento
web en la cual el cliente alquila o compra un ordenador completo, y por tanto tiene
el control completo y la responsabilidad de administrarlo.
1.26 Transferencia de Datos y Ancho de Banda
1.26.1 Transferencia de datos
Se refiere a la cantidad de datos que navegan a través de una conexión cada que
desde un navegador se invoca la carga de una url. Por medio del ancho de banda
disponible empieza la transferencia de datos. A más de devolver el contenido de un
sitio web, también permite transferencias de servicios de FTP, el uso de email y
otros protocolos de comunicación.
1.26.2 Ancho de banda
Un ancho de banda en su definición se conoce como el caudal máximo de datos
que se puede enviar a través de conexión a internet. Un ejemplo de ancho de banda
en la conexión de hogares suele ser de 10Mbits, quiere decir que se podrá transferir
solo esa cantidad máxima de datos por segundo. En el caso de los servidores
hosteados en datacenters suele permitir la conectividad de 100Mbits o 1Gbps
también esta será la velocidad máxima de alcance.
1.26.3 La velocidad de transferencia de datos
Una conexión de red informática se mide normalmente en unidades de bits por
segundo (bps), kilobits por segundo (kbps), megabits por segundo (mbps), gigabit
por segundo (Gbps) o terabit por segundo (PDD).
1 kilobits por segundo (Kbps) = 1000 bits por segundo
Marco teórico 38
1 megabit por segundo (Mbps) = 1000 Kbps o un millón de bits por segundo.
1 gigabit por segundo (Gbps) = 1,000 Mbps o un millón kbits por segundo.
1 terabit por segundo (Tbps) = 1,000 Gbps o un millón de megabits por segundo.
1.27 La Educación Actual
(EVA) Entornos virtuales de aprendizajes en la actualidad son una búsqueda
constante para obtener mayores conocimientos en el ámbito educativo universitario,
mediante el uso de las Tecnologías de la información y la comunicación (TICs), se
ha manifestado un gran auge desde hace unos años. Las nuevas tecnologías además
ofrecen herramientas para comunicación síncrona y asíncrona. Los profesores
tienen a su alcance muchas herramientas de la llamada Web 2.0 que les permite
compartir conocimiento, tener a su alcance repositorios de objetos de aprendizaje
digital.
Es importante señalar sobre las TIC tal como lo expresa, (Avila, 2014), el uso
de las mismas en las diferentes universidades favorece en la globalización
educativa, lo que produce un fundamental cambio en lo que aprendizaje virtual se
refiere, debido a que impulsa la eliminación de limitaciones físicas, temporales y
espaciales. Lo que crea una reconceptualización que beneficie en el proceso
enseñanza aprendizaje, implica la utilización de todas las tecnologías posibles
existentes al alcance. (Avila, 2014).
La acción formativa debe orientarse en dos planos: la acción indirecta,
seleccionando, diseñando y produciendo materiales web que faciliten el
autoaprendizaje, y la acción de acompañamiento, guía, resolución de consultas y
ejercicios autoevaluativos para medir el desempeño del aprendizaje obtenido.
En los momentos actuales, las universidades tienen el reto de innovar o perecer.
Sin dudas el uso de las nuevas tecnologías debe ser un proceso innovador, en el cual
la universidad debe ocupar un lugar cimero. La sociedad exige personas
emprendedoras, profesionales capaces de crear proyectos que permitan el tránsito
Marco teórico 39
de la educación tradicional a la educación a multidisciplinaria e innovadora
haciendo total uso de las TICs (Avila, 2014).
1.28 Tipos de educación mediante el uso de las tecnologías de información y
comunicación
En el portal del Educomunicación del vicepresidente del grupo comunicar
(Salanova Sánchez Enrique Martínez, 2014), detalla que la tecnología en la
educación está marcando fuerte tendencia mediante herramientas multimedia. A
continuación, se menciona 3 tipos de educación modernas:
1.28.1 Educación en línea
La educación en línea (e-learning, online o en línea), utiliza como intermediario
de aprendizaje una red de comunicaciones para que fluya el proceso de brindar y
adquirir conocimientos a la persona se utiliza herramientas tecnológicas de la
información y la comunicación como por ejemplo el internet y una computadora.
La educación en línea permite a la persona no asistir físicamente al sitio de
estudio, evitar que invierta en libros físicos. La red internet ofrece una
comunicación de información entre varias redes del mundo y obtener el material de
aprendizaje de forma gratuita.
Gráfico N° 13
Educación en línea
Elaboración: Investigación directa Fuente. Sitio Web: https://www.oscarblancarteblog.com/2017/03/06/soap-vs-rest-2/
Marco teórico 40
1.28.2 Educación móvil
La educación móvil (m-learning o móvil learning), utiliza como intermediario
para el aprendizaje los dispositivos móviles inteligentes y una conexión a internet
por ejemplo tabletas, teléfonos inteligentes o smartphone y ordenadores portátiles
previamente con el uso de internet cada uno de ellos.
Los dispositivos móviles son de gran apoyo en la educación debido a la ayuda
que brindan a las personas de contribuir a la formación moderna. La educación
mediante dispositivos móviles inteligentes poco a poco va ganando terreno en el
ámbito educativo de la mano del buen uso de las Tics fomentando una
autoeducación y criterio propio del estudiante.
Gráfico N° 14
Educación móvil
Elaboración: Investigación directa
Fuente. Sitio Web: http://www.etnews.com/20160418000259
1.28.3 Educación virtual
La educación virtual se debe al crecimiento de las tecnologías de información y
comunicación, brindan al estudiante tener espacios flexibles para la educación sin
que el estudiante este en la obligación asistir a sus clases. Dentro de la educación
Marco teórico 41
virtual el estudiante es el más activo durante el proceso de aprendizaje que brinda
el docente, el éxito del aprendizaje virtual depende de esfuerzo que esté dispuesto
a dar el estudiante, en cambio el docente es el que provee las herramientas de
aprendizaje, actividades de seguimiento retroalimentación, brindar contenidos
multimedia agradable que permitan involucrar al lector y al autor.
Gráfico N° 15
Educación virtual
Elaboración: Investigación directa Fuente. Sitio Web: https://rgnn.org/es/2017/12/18/la-realidad-aumentada-impacta-la- educacion-convencional/
1.28.4 Software educativo
Software es un término que hace referencia a un programa informático. Estas
herramientas tecnológicas disponen de distintas aplicaciones que posibilitan la
ejecución de una variada gama de tareas en un ordenador o equipo informático.
Educativo por su parte, es aquello vinculado a la educación, hace referencia a
la instrucción, formación o enseñanza que se imparte. Se conoce como termino
de software educativos a los sistemas desarrollados con la finalidad de ser
utilizados en el ámbito de la educación y proveer así una herramienta para el
proceso de enseñanza aprendizaje de los usuarios, cuentan con una característica
Marco teórico 42
particular que es la facilidad de interacción entre el usuario y el sistema.
(Villanueva, 2017) entre la siguientes tabla N° 7.
Tabla N° 7
Características de software educativo
Elaboración: Investigación directa Fuente sitio web: http://www.scielo.org.co/scielo.php?pid=S0121- 750X2015000100006&script=sci_abstract&tlng=es
1.29 Tipo de software educativo
Gráfico N° 16
Tipos de software educativos
Elaborado por: María José Coral
inmediata
Tipos de
aprendido.
actividades ludicas que integran actividades
Capítulo II
METODOLOGÍA
2.1 Universo
En el presente trabajo de titulación se utilizarán diversas metodologías, para
implementación del diseño de base de datos dentro de una aplicación educativa de
realidad aumentad.
Para obtener un impacto significativo del proyecto es necesario un estudio
investigativo que defina la carencia de conocimientos de los estudiantes en la
materia de fundamentos de programación en la carrera de Licenciatura en Sistema
de Información, así como la aceptación de los estudiantes y docentes a nuevas
tecnologías. Este estudio cubre el año 2018, el cual permitirá conseguir información
precisa para el desarrollo del proyecto.
2.2 Metodología de la Investigación
En la obtención de resultados del proyecto se utilizarán diversas
metodologías, con respecto a cada uno de los componentes que la integran.
2.3 Tipos de Investigación
2.3.1 Investigación Proyectiva
Permitirá mostrar de forma práctica la implementación de un diseño de una
base datos como forma de evaluación dentro de una aplicación creada con realidad
aumentada, a partir del análisis y el proceso de investigación para la conexión entre
diferentes aplicaciones.
2.3.2 Investigación de campo
La investigación de campo permite obtener información.
Metodología 44
Se puede realizar mejor manejo de los datos, se obtendrá la información de
la situación actual, mediante el levantamiento de información, donde se realizará
una serie de preguntas enfocadas a la aceptación del proyecto.
2.3.3 Investigación Descriptiva
Se considera las características se analiza la situación actual del proceso de
evaluación que es el objeto de estudio el cual se realiza en la facultad de ingeniería
industrial a los docentes y estudiantes de la carrera de licenciatura en sistemas de
información por lo que se usaran las herramientas de encuestas y entrevistas.
2.3.4 La entrevista
La entrevista se realizó a docentes de las materias de programación de la
carrera de licenciatura en sistemas de información, donde se le realizaron una serie
de preguntas enfocadas en el proceso de evaluación de los estudiantes.
2.4 Población y Muestra
2.4.1 Características de la Población
La Universidad de Guayaquil Facultad de Ingeniería Industrial es donde se
efectuará el trabajo de investigación, específicamente a los docentes y alumnos de
la materia de fundamentos de programación del primer semestre de la carrera
licenciatura en sistemas de información.
El campus se localiza en la ciudad de Guayaquil, Ubicación av. Las aguas y
Juan Tanca Marengo km 3 ½ frente de la institución tecnológica Espíritu Santo
2.4.2 Delimitación de la Población
La población estuvo constituida por 33 estudiantes de primer semestre de la
carrera de licenciatura en sistemas de información que tienen edad entre 18 y 25
años, 5 docentes de la materia de fundamentos de programación, de la Universidad
de Guayaquil Facultad de Ingeniería Industrial.
Metodología 45
2.4.3 Tamaño de la Muestra
La muestra se obtuvo de acuerdo al número de estudiantes que tienen edad
entre 18 y 25 años que constan en un periodo lectivo 2018 en nivel de estudio de
primer semestre de la carrera de licenciatura en sistemas de información, 5 docentes
de la materia. Las muestras se adquieren de forma aleatoria y voluntaria por parte
de estudiantes, y en el caso del docente se adquiere en forma de entrevista.
2.4.4 Instrumento y recolección de información
En inicio se diseña encuestas de tipo cuantitativo el cual fue aplicado para
estudiantes y entrevistas de tipo cualitativo para docentes.
La encuesta relacionada a los estudiantes se basa en determinar si utilizarían
una aplicación móvil educativa como apoyo educativo y si está de acuerdo con que
dicha aplicación evalué sus procesos de aprendizaje. Las entrevistas para docentes
van enfocadas en su opinión acerca de que se realicen evaluaciones digitales a
estudiantes y como estas ayudarían a su labor docente.
2.5 Procedimiento para la recolección de información
2.5.1 Aplicación de instrumento
Se lleva a cabo la repartición de las encuestas por vía correo electrónico a los
estudiantes de la carrera por parte del docente de la carrera. Previo se adjuntó un
mensaje a los estudiantes con todas las instrucciones para responder las preguntas.
2.5.2 Análisis de la Encuesta
En las preguntas cerradas, se observa la opción que escoge la persona y se da
categoría a las respuestas para tabular y luego presentar resultados.
La información que se obtuvo fue procesada y analizada en forma individual
por medio de la herramienta Google Forms, previa tabulación de datos en Google
Forms y visualización de resultados.
Metodología 46
Encuestas a los estudiantes de la carrera de Licenciatura
en Sistemas de Información en Universidad de Guayaquil
Facultad de Ingeniería Industrial
Gráfico N° 17
Identificación del género del estudiante
1. ¿Cuál es su género?
Elaborado por: María José Coral.
Tabla N° 8
Identificación del género del estudiante
GÉNEROS RESPUESTAS PORCENTAJE
Femenino 14 57,6%
Masculino 19 42,4%
TOTAL 33 100%
Elaborado por: María José Coral.
Análisis: El 57,6% de los estudiantes encuestados son de género masculino y el
42,4% son de género femenino.
Metodología 47
Gráfico N° 18
Identificación de edad del estudiante
Elaborado por: María José Coral.
Tabla N° 9
Edad promedio de los estudiantes encuestados
EDAD RESPUESTAS PORCENTAJE
18 a 25 años 33 100%
26 a 30 años 0 0%
31 a 35 años 0 0%
TOTAL 33 100%
Elaborado por: María José Coral.
Análisis: Mediante el gráfico podemos observar que el 100% de los estudiantes
encuestados tienen un rango de edad entre 18 a 25 años.
Metodología 48
Gráfico N° 19
Cuenta con un dispositivo móvil (Smartphone o tablet)
Elaborado por: María José Coral.
Tabla N° 10 Cuentan con un dispositivo móvil los encuestados
ALTERNATIVAS RESPUESTAS PORCENTAJE
SI 33 100%
NO 0 0%
TOTAL 33 100%
Elaborado por: María José Coral.
Análisis: Mediante el gráfico nos damos cuenta que el 100% de los estudiantes
encuestados cuentan con al menos un dispositivo móvil, con esto podemos definir
que la totalidad de encuestados tienen conocimiento y acceso a un teléfono
inteligentes.
Metodología 49
Gráfico N° 20
Se le complica el aprendizaje en fundamentos de programación
Elaborado por: María José Coral
.
Tabla N° 11
Se le complica el aprendizaje en fundamentos de programación
ALTERNATIVAS RESPUESTAS PORCENTAJE
MUCHO 7 21,2%
POCO 18 54,5%
NADA 8 24,2%
TOTAL 33 100%
Elaborado por: María José Coral.
Análisis: Mediante el gráfico nos damos cuenta que 21,2% de los
estudiantes encuestados tienen mucha dificultad de comprender los tópicos de
fundamentos de programación, el 54,5% tiene poca dificultad al momento de
aprender fundamentos de programación y el 24,2% de los estudiantes encuestados
no tiene dificultad de comprender los tópicos de fundamentos de programación.
Metodología 50
Gráfico N° 21
Utilizaría una aplicación en realidad aumentada para complementar su aprendizaje de fundamentos de programación
Elaborado por: María José Coral.
Tabla N° 12
Utilizaría una aplicación en realidad aumentada para complementar su aprendizaje de fundamentos de programación
ALTERNATIVAS RESPUESTAS PORCENTAJE
SI 32 97%
NO 1 3%
TOTAL 33 100%
Elaborado por: María José Coral.
Análisis: Observando el gráfico nos damos cuenta que el 97% de los
estudiantes encuestados usarían una aplicación de realidad aumentada para
complementar su aprendizaje en fundamentos de programación, mientras que un
3% considera que no usaría una aplicación para complementar su aprendizaje en
programación.
Metodología 51
Gráfico N° 22
Usted está de acuerdo con que una aplicación móvil educativa de realidad aumentada que trate sobre fundamentos de programación cuente con una opción de evaluaciones objetivas
Elaborado por: María José Coral.
Tabla N° 13 Usted está de acuerdo con que una aplicación móvil educativa de realidad aumentada que trate sobre fundamentos de
programación cuente con una opción de evaluaciones objetivas
ALTERNATIVAS RESPUESTAS PORCENTAJE
SI 30 90,9%
NO 3 9,1%
TOTAL 33 100%
Elaborado por: María José Coral.
Análisis: En el gráfico se puede observar que el 90,9% de los estudiantes
encuestados están de acuerdo con que una aplicación educativa de realidad
aumentada que trate de fundamentos de programación cuente con una opción de
evaluación, mientras que un 9,1% no está de acuerdo con que una aplicación
educativa cuente con la opción de evaluación.
Metodología 52
2.5.3 Análisis de la Entrevista
Se detalla el resumen de la entrevista, realizada a los docentes de la materia de
fundamentos de programación.
1. Resumen de Entrevista de Docentes de la carrera de Licenciatura en
Sistemas de Información en Universidad de Guayaquil Facultad de
Ingeniería Industrial Entrevista de opinión sobre evaluaciones digitales
para estudiantes
Metodología 53
1. Entrevista de opinión sobre como ayudaría en el aprendizaje de los
estudiantes una aplicación móvil educativa de fundamentos de
programación que enseñe y evalué su desempeño.
2. Entrevista de opinión sobre de la utilidad de una evaluación dentro de
una aplicación móvil educativa.
Metodología 54
3. Entrevista de opinión sobre la utilidad de bases de datos para registros de
notas de evaluaciones de estudiantes.
4. Entrevista de opinión sobre la importancia de los registros históricos de
notas de evaluaciones de estudiantes.
Metodología 55
Tabla N° 14 Resultados de entrevistas a Docentes
ALTERNATIVAS DE PREGUNTAS
RESPUESTAS POSITIVAS
RESPUESTAS NEGATIVAS
1 Todas Ninguna
2 Todas Ninguna
3 Todas Ninguna
4 Todas Ninguna
5 Todas Ninguna
Elaborado por: María José Coral.
2.6 Resultados de la Investigación
2.6.1 Análisis de la Investigación
La implementación del diseño de bases de datos servirá de apoyo para
complementar una aplicación lúdica educativa desarrollada con realidad aumentada
que trata temas de fundamentos de programación, dicho complemento permitirá el
desarrollo de una opción de evaluación, para ayudar en el proceso de aprendizaje
de los estudiantes de la carrera de licenciatura de sistemas de información de la
facultad de ingeniería industrial.
De acuerdo a pregunta 6. De la encuesta realizada a estudiantes de la carrera, el
análisis arrojo el 90,9% de los encuestados están de acuerdo con que una aplicación
de educativa de realidad aumentada sobre fundamentos de programación cuente con
una opción de evaluación.
Mientas que en las entrevistas realizadas a docentes se logró evidenciar el
respaldo y aceptación que tienen sobre el uso de aplicaciones educativas para
estudiantes que cuenten con sus respectivas etapas de evaluación, mismas que les
sirven de ayuda para corroborar el avance en el aprendizaje de los estudiantes.
Metodología 56
Referente a la encuesta en la verificación de análisis se obtiene una hipótesis
favorable, debido que durante la encuesta realizada se obtuvo los resultados
esperados definiendo que una opción de evaluación dentro de una aplicación
educativa con realidad aumentada es factible y aceptable.
2.6.2 Metodología de Desarrollo
Se analizó varias metodologías, para el presente proyecto las más adecuadas
para el presente proyecto se utilizarán las metodologías SCRUM y AODDEI.
2.6.3 Proceso Preliminar
Los procesos con el cual se desarrollará el presente proyecto se ejecutarán en
bloques temporales cortos y fijos mediante interacciones siguiendo las siguientes
fases:
Tabla N° 15
Integración de las metodologías para el desarrollo del
proyecto
Fase de Metodología SCRUM
AODDEI
Requerimientos Product backlog
Análisis y Diseño sprint planning
meeting
Análisis y obtención
de material
Implementación Sprint backlog Creación de preguntas
Prueba Spring review Evaluación e
implementación
Elaborado por: María José Coral.
Capítulo III
PROPUESTA
Propuesta de diseño e implementación de base de datos mediante el uso de
web services con integración de Unity3D para apoyo de aplicaciones lúdicas
educativas en la materia de fundamentos de programación
Objetivo:
Diseñar un modelo de base de datos e implementarlo mediante el uso de web
services para lograr integración a Unity3D y servir de apoyo en aplicación lúdica
educativas en la materia de fundamentos de programación.
3.1 Descripción de la solución:
El diseño de la base de datos se utilizará para implementarlo en la creación
de una aplicación como herramienta para evaluar el aprendizaje que obtienen los
usuarios de una aplicación de realidad aumenta tras percibir información
tridimensional digital, definiendo como ayudaría en el proceso de enseñanza
aprendizaje el uso de dicha aplicación, permitiendo al estudiante y docente obtener
la puntuación de su desempeño.
La aplicación móvil desarrollada en Android, será de uso para los
estudiantes poseerá dos módulos: uno de autentificación y registro de usuario, el
segundo la evaluación con contenidos 2D, para el desarrollo de los mismos se
establecerá una comunicación hacia los servicios web por medio de C Sharp con el
fin de obtener la información almacena en los recursos y devolver al estudiante las
preguntas y almacenar sus progresos en forma de puntajes obtenidos. Los servicios
web que alojan la base de datos MySQL realiza la conexión directa a través de
archivos php estos serán los encargados de consultar y almacenar la información
del sistema en general e interactuar con la base de datos.
Propuesta 58
Gráfico N° 23
Modelo Conceptual de la solución
Elaborado por: Maria José Coral.
La aplicación móvil destinada a docentes, su principal objetivo es servir como
fuente de información acerca del manejo de aplicaciones móvil por parte del
estudiante, puesto que le permitirá consultar la puntuación obtenida para
determinar el avance de conocimientos de la materia, la siguiente funcionalidad
será la ingresar contenidos en este caso en forma de preguntas para retroalimentar
la base de datos. Para que el docente pueda consultar la información de los
usuarios se realiza una conexión a la base de datos del sistema.
Gráfico N° 24
Arquitectura Rest planteada para la aplicación
Fuente. modificada por Maria José Coral
Propuesta 59
3.1.1 Fase de Requerimientos
3.1.2 Personal Involucrado
Responsable: Universidad de Guayaquil Facultad de Ingeniería Industrial carrera
de licenciatura en sistemas de información
Categoría profesional: Institución Educativa
Responsabilidades: Requerimientos
Información de contactos: www.ug.edu.ec
3.1.3 Scrum Master
Responsable: Wellington Villota
Categoría profesional: Licenciado
Responsabilidades: Tutor del Proyecto
Información de contactos: [email protected]
3.1.4 Scrum Team
Responsable: María José Coral Q
Categoría profesional: Estudiante
Responsabilidades: Documentación, diseño e implementación de base de datos.
Información de contactos: [email protected]
3.2 Características de los usuarios del sistema
Tabla 17
Características de los usuarios del sistema
TIPO DE USUARIO Docente
Formación Catedrático
Habilidades Impartición de clases de fundamentos de programación
Actividades Proyección de clases, toma de evaluación.
TIPO DE USUARIO Estudiante
Formación Aprendiz
Habilidades Estudiante
Actividades Recepción de clases impartidas, elaboración de
evaluaciones.
Elaborado por: Maria José Coral
Propuesta 60
3.3 Requerimientos funcionales
Se detalla los requerimientos funcionales de la aplicación, que estará conformada
por un módulo de evaluación, para la respectiva comprensión de la funcionalidad
de la aplicación se mencionan los siguientes requerimientos:
Tabla 18
Requerimientos funcionales del sistema
Requerimiento Funcional (RF)
Descripción del requerimiento
1. Requisito Funcional
Dentro de la aplicación móvil
educativa con realidad aumentada
para el apoyo de enseñanza-
aprendizaje de la materia de
fundamentos de programación de
sistemas de información estará
disponible la opción de
evaluación.
2. Requisito Funcional
La opción de evaluación constará
con un módulo para estudiantes el
mismo que le permitirá realizar
una evaluación objetiva de
preguntas referentes al contenido
revisado en los módulos anteriores
de la aplicación mencionada.
3. Requisito Funcional
La opción de evaluación constará
con un módulo para docente el
mismo que le permitirá ingresar
preguntas y alimentar la opción de
evaluación además de la
visualización de los puntajes de
Propuesta 61
estudiantes
cursos.
por sus respectivos
4. Requisito Funcional
La aplicación podrá ser utilizada
por estudiantes que se registren de
acuerdo al curso en el cual están
inscritos.
5. Requisito Funcional
La aplicación deberá mantener una
conexión permanente a internet
durante tiempo que dure el proceso
de evaluación.
6. Requisito Funcional
La aplicación intercambiará
información con la base de datos
en tiempo real.
Elaborado por: Maria José Coral
3.4 Requerimientos no funcionales
Tabla 19
Requerimientos no funcionales del sistema
Requerimiento no
Funcional (RF) Descripción del requerimiento
1. Requisito no
funcional
La aplicación deberá ser compatible con
las versiones de Android desde la 5.0 o
superior.
2. Requisito no
funcional
La aplicación se podrá descargar desde
la play store desde cualquier parte.
3. Requisito no
funcional
El ingreso al sistema por parte del
usuario docente debe ser mediante una
clave definida por defecto en la base de
datos.
Elaborado por: Maria José Coral
Propuesta 62
3.5 Roles
De acuerdo con la metodología aplicada se procedió a definir los roles de la
siguiente manera:
Product Owner: Universidad de Guayaquil Facultad de ingeniería Industrial
carrera de licenciatura en sistemas de información.
Scrum Master: Ing. Wellington Villota
Team: María José Coral Q.
3.6 Fase de Análisis y Diseño de la aplicación
Para el diseño e implementación de base de datos mediante el uso de web services
con integración de Unity3D para apoyo de aplicaciones lúdicas educativas en la
materia de fundamentos de programación, en primera instancia se realizó una
entrevista a los docentes de las materias de fundamentos de programación para
poder adquirir la aceptación y determinar la efectividad de la implementación del
diseño en una aplicación de evaluación para los estudiantes y dar ejecución al tema
de tesis poniendo en marcha el desarrollo del mismo. En la entrevista se enfatizó en
obtener la opinión de los docentes con respecto a porque es importante la obtención
de resultados de evaluaciones de estudiantes.
Tabla 20
Lista de actividades en desarrollo del sistema
TAREA
DURACIÒN
RESPONSABLE
PRIORIDAD
Análisis
del
sistema
Entrevistas
Docente
1 día
Maria Jose
Coral
Media
Encuestas
Estudiantes
1 día
Maria Jose
Coral
Media
Propuesta 63
Revisión de aplicación de realidad aumentada
10 días
Maria Jose
Coral
Media
Creación de escenas
para implementa
ción de bases de
datos
1 mes
Maria Jose
Coral
Media
Diseño
de Base
de
Datos
Diseño de
relaciones
1 día Maria Jose
Coral
Media
Archivos de
conexiones
10 días
Maria Jose
Coral
Media
Interoperabil
idad entre
aplicaciones
1 mes
Maria Jose
Coral
Alta
Docume
ntación
Documenta
ción
4 meses
Maria Jose
Coral
Media
Implem
entación
y
prueba
del
sistema
Sistema
3 días
Maria Jose
Coral
Media
Elaborado por: Maria José Coral
Al utilizar la metodología SCRUM se facilitó la planificación del sprint se
asignó el tiempo correspondiente a cada uno de los procesos permitiendo llevar un
cronograma establecido.
Propuesta 64
3.7 Diseño
3.7.1 Modelo Entidad Relación
Gráfico 1
Modelo Entidad Relación
Elaborado por: Maria José Coral
Propuesta 65
3.7.2 Diagrama de clases UML
Gráfico 2
Diagrama de clases UML
Elaborado por: Maria José Coral
Propuesta 68
Elaborado por: Maria José Coral
3.7.4 Diagrama de casos de uso
Gráfico 3
Diagrama de caso de uso estudiante
Elaborado por: Maria José Coral
Propuesta 69
Gráfico 4:
Diagrama de caso de uso docente
Elaborado por: Maria José Coral
3.7.5 Diagrama de secuencia
Gráfico 5
Diagrama de secuencia inicio de sesión
Elaborado por: Maria José Coral
Propuesta 70
Gráfico 6
Diagrama de Secuencia registrarse
Elaborado por: Maria José Coral
Gráfico 7
Diagrama de secuencia evaluación
Elaborado por: Maria José Coral
Propuesta 71
Gráfico 8
Diagrama de secuencia preguntas
Elaborado por: Maria José Coral
Gráfico 9
Diagrama de secuencia puntuación
Elaborado por: Maria José Coral
Propuesta 72
3.8 Fase de Implementación y Prueba
Dentro del diseño de la aplicación se hace referencia a que cogió los datos
de la tesis del compañero Ricardo Noboa Remache, dado que la opción de
evaluación está incluida su tesis de diseño de aplicación móvil con realidad
aumentada tal como lo detalla en el siguiente párrafo a partir de la continuación del
sistema con el módulo de evaluación.
Botón inicio: En el botón inicio se encuentra con 4 botones opciones:
contenido, practica, evaluación, información y cerrar. El botón contenido hace
énfasis a los capítulos del libro de fundamentos de programación que se creó en este
proyecto, el botón permite que el estudiante practique lo presentado en el libro más
la aplicación y el botón evaluación lo realizó la compañera Ma. José. Coral Quinto
debido que realizó conexiones a las bases de datos por medio de servicios. (Noboa,
2018)
Gráfico 104
Opción Submenú de ARPRO
Fuente. Elaboración de autor Ricardo Noboa
Botón Evaluación: el botón de evaluación, tendrá un submenú con dos opciones
registro de usuario e inicio de sesión las mismas que servirán para la
identificación del usuario previo al inicio del sistema.
Propuesta 73
Gráfico 35
Submenú de evaluación
Elaborado por: Maria José Coral
Botón Registro de usuario: registrar usuario, contiene menú de opciones para el
registro de curso, género y jornada específicas. El botón de la parte superior
izquierda devuelve al usuario al menú de inicio.
Gráfico 36
Registro de Usuario
Elaborado por: Maria José Coral
Botón Iniciar de Sesión: el botón de inicio de sesión, define el usuario y las
escenas que se mostraran si se registró como estudiante, y si su registro fue como
docente deberá confirmar un código de acceso, el botón en la parte superior
izquierda devuelve al menú inicial.
Propuesta 74
Gráfico 11
Iniciar Sesión
Elaborado por: Maria José Coral
Ingreso Evaluación: al iniciar sesión como estudiante automáticamente se
direcciona a la pantalla de evaluación la misma que contendrá preguntas referentes
a los temas revisados en los otros dos botones del aplicativo como son contenido y
práctica, la escena tiene el nombre de usuario logueado, sus respectivos puntos de
aciertos de preguntas contestadas correctamente, un botón de guardar puntuación
que tiene asignada la función salir de la evaluación.
Gráfico 12
Escena evaluación
Elaborado por: Maria José Coral
Propuesta 75
Ingreso Menú Docente: si se inicia sesión como docente se dirige a un
cuadro de submenú que constara de dos opciones: visualización de puntuación para
ver las puntuaciones que han obtenido los alumnos por su respectivo curso y
jornada. Y la opción ingresar preguntas para el ingreso de preguntas a la base de
datos el botón de la parte superior izquierda devuelve al menú inicial.
Gráfico 13
Submenú docente
Elaborado por: Maria José Coral
Ingreso Pregunta: en esta opción se ingresa preguntas correspondientes al
contenido de la aplicación por parte del docente, misma que se mostraran
aleatoriamente en la evaluación de los estudiantes el botón en la parte superior
izquierda devuelve al usuario al menú inicial.
Gráfico 14
Ingreso Preguntas Docente
Elaborado por: Maria José Coral
Propuesta 76
Ingreso visualizar puntuación: En esta escena se muestra a los docentes
las puntuaciones actualizadas de estudiantes por semestres, grupo y jornada que
elija previamente, el botón en la parte superior derecha carga los datos desde la
base y muestra al docente los usuarios con sus puntuaciones actuales, cada vez
que un estudiante ingrese y obtenga una nueva puntuación esta se actualizara,
el botón la parte superior izquierda devuelve al usuario al menú inicial.
Gráfico 15
Puntuaciones de usuarios
Elaborado por: Maria José Coral
Propuesta 81
3.10 Conclusiones
El gestor de bases datos MySQL se utilizó para el óptimo manejo de los datos
de la aplicación, por ser un sistema multiusuario permitió consultas y
modificaciones en tiempo real sin presentar inconvenientes en la concurrencia de
conexión.
Los servicios web utilizados en este trabajo de titulación fueron Rest, la
utilización de este servicio en la aplicación permitió de forma sencilla utilizar
formato de texto JSON, que fue la forma de comunicación de los datos con el
programa C#.
Al usar la base de base de datos MySQL dentro de un alojamiento web se
redujo el tiempo de configuración e instalación de base de datos en un servidor local
y permitió que los usuarios de aplicaciones web, accesen a la información en todo
lugar y en todo momento.
Las escenas de unity3D permitieron el intercambio de datos que se enviara y
recibiera la información por medio de la interfaz de usuario, el intercambio de datos
que se encuentra dentro de la base de datos.
Se logró obtener los resultados de la evaluación en la base datos y mostrar el
progreso de aprendizaje por medio de las muestras de puntuaciones obtenidas
respectivamente, lo que permitió conocer el desempeño adquirido tras el uso de
estas herramientas de realidad aumentada como ayuda en el proceso de enseñanza
aprendizaje.
Propuesta 82
3.11 Recomendaciones
Se recomienda que los docentes incentiven a los alumnos a usar dentro del
aula de clases los dispositivos móviles con el fin de interactuar conjuntamente con
ellos en las aplicaciones educativas digitales para que logren ampliar sus
conocimientos.
Se recomienda que el docente realice la mayoría de evaluaciones de forma
digital, innovando en la parte tecnológica y permitiendo al estudiante una forma
diferente y dinámica de realizar las pruebas de conocimientos, a más de ser un
aporte en la disminución del uso de hojas de papel.
Culminada la fase de pruebas y funcionamiento se recomienda realizar
mejoras en el diseño de escenas, para obtener una mejor apreciación y aceptación
del aplicativo por parte de los usuarios del mismo.
Se recomienda un estudio profundo sobre la utilización de servicios web para
integrar aplicaciones escritas en diferentes lenguajes de programación o que se
ejecuten en plataformas diferentes.
Se recomienda aprovechar los recursos tecnológicos con los que se cuenta en la
actualidad, realizando las mayorías de evaluaciones en línea, permitiendo el acceso,
envió y recepción de los datos de forma automática desde bases de datos alojada en
la web.
Anexos 86
Anexo 3 Pantalla de servicio web para alojamiento de Mysql
Anexo 4 Pantalla de servicio web para alojamiento de archivos
89
Bibliografía
Alicante, u. d. (26 de 06 de 2014). Introducción a los Servicios Web. Obtenido de http://www.jtech.ua.es/j2ee/publico/servc-web-2012-13/sesion01-
apuntes.html
AROCA, Á. (15 de marzo de 2013). Unity 3D. Obtenido de
https://www.genbetadev.com/herramientas/unity-3d-desarrollo-de-
videojuegos-para-ios-y-android-gratis-hasta-el-8-de-abril
Avila, S. R. (07 de 2014). Estrategia Curricular para la formación de la
competencia de emprendimiento en negocio de redes universitarias.
Obtenido de http://www.redalyc.org/pdf/368/36828247011.pdf
Cartagena, U. P. (05 de 2014). DISTRIBUCIÓN DE UN ENTORNO DE
MODELADO UTILIZANDO SERVICIOS WEB. Obtenido de
http://repositorio.upct.es/bitstream/handle/10317/4375/tfg242.pdf;jsessioni
d=635E07261C1ABC93BCF335A521B85769?sequence=1
Gonzalez. (1995). Comunicacion, desarrollo y personalidad. La Habana: Pueblo
y Educacion.
Gorman, M. M. ( de marzo de 2014). Sistemas de gestión de bases de datos.
Obtenido de https://www.elsevier.com/books/database-management- systems/gorman/978-0-7506-0135-1
Herrera, H. (20 de 01 de 2017). Camaleon. Obtenido de
https://es.calameo.com/books/0045536081d3d2cd0c9e8
IBM. (25 de 04 de 2014). IBM. Obtenido de
https://www.ibm.com/support/knowledgecenter/es/SSMKHH_9.0.0/com.i
bm.etools.mft.doc/ac55710_.htm
Lara, T. (02 de 2012). El papel de la Universidad en la construcción de su
identidad. Obtenido de
http://openaccess.uoc.edu/webapps/o2/bitstream/10609/3233/1/lara.pdf
Microsoft. (2017). microsoft. Obtenido de https://docs.microsoft.com/es-
es/dotnet/csharp/getting-started/introduction-to-the-csharp-language-and-
the-net-framework
Noboa, R. (2018).
Oviedo, U. d. (23 de 04 de 2015). REST – REpresentational State Transfer.
Obtenido de
http://di002.edv.uniovi.es/~cueva/asignaturas/doctorado/2006/trabajos/Pon
encia%20REST.pdf
Poveda, J. M. (21 de 4 de 2015). HostingAlojamientoWeb.pdf. Obtenido de
https://iessanvicente.com/colaboraciones/HostingAlojamientoWeb.pdf
Rafael Camps Paré, L. A. (05 de 2015). Bases de Datos (Vol. Tercera Edición).
Barcelona: Universidad Politécnica de Vilanova i la Geltrú. Recuperado el 2018, de OUC formacion de posgrado:
http://www.uoc.edu/masters/oficiales/img/913.pdf
Ramos, L. M. (2016). BASE DE DATOS II Universidad Remington. Obtenido de
BASE DE DATOS II Universidad Remington:
http://imagenes.uniremington.edu.co/moodle/Módulos de
aprendizaje/Base de Datos II/Modulo Base Datos II_2016.pdf
90
Redalyc.org. (2015). Realidad aumentada, una evolución de las aplicaciones de
los dispositivos móviles. Sistema de Información Científica(N. 41).
Obtenido de http://www.redalyc.org/html/368/36828247015/
Romero, J. (5 de 11 de 2015). Academia A. Servicios Web. Recuperado el 28 de
10 de 2017, de https://academiaandroid.com/servicios-web-arquitectura-
rest/
Salanova Sánchez Enrique Martínez. (03 de 2014). Educomunicación. Obtenido
de http://www.uhu.es/cine.educacion/didactica/0017ensenanza_online.htm
Sandoval, J. D. (15 de 12 de 2016). Universidad Nacional Autónoma de
Nicaragua. Obtenido de http://repositorio.unan.edu.ni/3546/1/47725.pdf
Villanueva, C. A. (12 de 12 de 2017). Universidad Nacional de la plata. Obtenido
de http://sedici.unlp.edu.ar/bitstream/handle/10915/4055/2_-
_El_software_educativo.pdf?sequence=6
http://laboratorios.fi.uba.ar/lie/Revista/Articulos/080815/A3mar2013.pdf
http://www.tesis.uchile.cl/tesis/uchile/2007/carrasco_vh/sources/carrasco_vh.pdf
http://repository.unad.edu.co/bitstream/10596/3492/1/73580163.pdf