COMPONENTE SOFTWARE PARA INTEGRACION DE...

107
COMPONENTE SOFTWARE PARA INTEGRACIÓN DE FUNCIONALIDADES PROPORCIONADAS POR PORTALES DE DIFUSIÓN DE VIDEO CON PLATAFORMAS DE GESTIÓN DE CONTENIDOS DE APRENDIZAJE Presentado por: Nicolás Hernando González Marroquín UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE SISTEMAS BOGOTÁ D.C. 2018

Transcript of COMPONENTE SOFTWARE PARA INTEGRACION DE...

Page 1: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

COMPONENTE SOFTWARE PARA INTEGRACIÓN DE FUNCIONALIDADES PROPORCIONADAS POR PORTALES DE DIFUSIÓN DE VIDEO CON PLATAFORMAS DE GESTIÓN DE CONTENIDOS DE APRENDIZAJE

Presentado por:

Nicolás Hernando González Marroquín

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA

PROYECTO CURRICULAR DE SISTEMAS BOGOTÁ D.C.

2018

Page 2: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

2

COMPONENTE SOFTWARE PARA INTEGRACION DE FUNCIONALIDADES PROPORCIONADAS POR PORTALES DE DIFUSION DE VIDEO CON PLATAFORMAS DE GESTION DE CONTENIDOS DE APRENDIZAJE

Presentado Por:

Nicolás Hernando González Marroquín cód. 20122020045

Proyecto de Monografía como requisito para obtener el título de ingeniero de sistemas

Julio Barón Velandia

Director

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA

PROYECTO CURRICULAR DE SISTEMAS BOGOTÁ D.C.

2018

Page 3: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

3

TABLA DE CONTENIDO

Pág.

INTRODUCCIÓN ................................................................................................... 12

1. PLANTEAMIENTO DEL PROBLEMA ............................................................. 13

1.1 DESCRIPCIÓN DEL PROBLEMA .............................................................. 13

1.2 FORMULACIÓN DEL PROBLEMA: ............................................................ 13

2. OBJETIVOS .................................................................................................... 14

2.1 OBJETIVO GENERAL ................................................................................ 14

2.2 OBJETIVOS ESPECÍFICOS ....................................................................... 14

3. ALCANCES Y LIMITACIONES ....................................................................... 15

3.1. ALCANCES ................................................................................................. 15

3.2. LIMITACIONES ........................................................................................... 15

4. JUSTIFICACIÓN ............................................................................................. 16

5. MARCO TEÓRICO ......................................................................................... 17

5.1. MARCO CONCEPTUAL ............................................................................. 17

5.1.1. Gestores de contenido de aprendizaje o plataformas E-Learning ........... 17 5.1.2. Plataformas de difusión de video en Web ............................................... 22 5.1.3. Desarrollo de Software por Componentes ............................................... 22 5.1.4. Beneficios del desarrollo de software basado en componentes .............. 23 5.1.5. Tipos de interacción en los sistemas basados en componentes ............. 24

5.1.6. Clasificación de los desarrollos de componentes .................................... 24 5.1.7. Roles dentro de un desarrollo de software basado por componentes ..... 25

5.1.8. Estrategia de prueba del software ........................................................... 25

5.2. MARCO REFERENCIAL ............................................................................. 26

Page 4: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

4

5.2.1. Las plataformas de gestión de aprendizaje más utilizadas ...................... 26 5.2.2. Las principales plataformas de difusión de video .................................... 29 5.2.3. Inserción de recursos de video en plataformas de gestión de contenidos de aprendizaje ....................................................................................................... 31

6. TÉCNICA METODOLÓGICA .......................................................................... 39

7. RECURSOS ................................................................................................... 41

7.1. XAMPP: ....................................................................................................... 41

7.2. Apache ........................................................................................................ 41

7.3. MySQL ........................................................................................................ 42

7.4. Tomcat ........................................................................................................ 42

7.5. Maven ......................................................................................................... 42

7.6. YouTube API ............................................................................................... 43

7.7. Eclipse ......................................................................................................... 43

7.8. Java Bridge ................................................................................................. 44

8. DESARROLLO DEL COMPONENTE SOFTWARE PARA INTEGRACION DE FUNCIONALIDADES DE DIFUSION DE VIDEO CON PLATAFORMAS DE GESTION DE CONTENIDOS DE APRENDIZAJE ................................................ 45

8.1. Diseño de la aplicación ............................................................................... 45 8.1.1. Diagrama de casos de uso ...................................................................... 45

8.1.2. Diagrama de clases ................................................................................. 46 8.1.3. Diagrama de componentes ...................................................................... 47 8.1.4. Diagrama de nodos ................................................................................. 48 8.1.5. Diagrama de despliegue .......................................................................... 49 8.1.6. Diagrama Entidad-Relación ..................................................................... 50

8.2. Creación de un nuevo curso en las plataformas de gestión de contenidos de aprendizaje ............................................................................................................ 51 8.2.1. Nuevo curso en Moodle ........................................................................... 51 8.2.2. Nuevo curso en Chamilo ......................................................................... 53

8.3. Creación del componente con funcionalidades de difusión de video. ......... 55

Page 5: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

5

8.3.1. Acceder a los servicios del API de YouTube ........................................... 56 8.3.2. Desarrollo del componente con funcionalidades de difusión de video .... 58 8.3.3. Instalación del puente entre JAVA y PHP ................................................ 60 8.3.4. Integración del componente en las plataformas de gestión de contenidos de aprendizaje ....................................................................................................... 62

8.4. Pruebas de software ................................................................................... 69 8.4.1. Pruebas de unidad .................................................................................. 69 8.4.2. Pruebas de integración ............................................................................ 71 8.4.3. Pruebas de validación ............................................................................. 74 8.4.4. Pruebas de sistema ................................................................................. 76

8.5. Vistas de la aplicación ................................................................................. 78

9. CONCLUSIONES ........................................................................................... 86

BIBLIOGRAFÍA ...................................................................................................... 88

REFERENCIAS BIBLIOGRÁFICAS ....................................................................... 89

ANEXO A: INSTALACIÓN DE XAMPP .................................................................. 91

ANEXO B: INSTALACIÓN DE MOODLE ............................................................... 95

ANEXO C: INSTALACIÓN DE CHAMILO ............................................................ 102

Page 6: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

6

LISTA DE TABLAS

TABLA 1. TABLA COMPARATIVA DE LOS SISTEMAS CBT CON OTROS SISTEMAS E-LEARNING. ..................................................................................... 19

TABLA 2. COMPARACIÓN DE FUNCIONALIDADES ENTRE PLATAFORMAS DE GESTIÓN DE CONTENIDO DE APRENDIZAJE. .................................................. 29

TABLA 3. COMPARACIÓN DE LAS CARACTERÍSTICAS ENTRE PLATAFORMAS DE DIFUSIÓN DE VIDEO EN WEB. .......................................... 30

TABLA 4. TABLA DE ROLES PARA MOODLE Y CHAMILO. ............................... 45

TABLA 5. DISEÑO PRUEBA DE UNIDAD PARA EL COMPONENTE JAVA. ....... 70

TABLA 6. DISEÑO PRUEBA DE INTEGRACIÓN. ................................................ 72

TABLA 7. DISEÑO PRUEBA DE VALIDACIÓN.................................................... 75

Page 7: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

7

LISTA DE FIGURAS

FIGURA 1. MODELO GRAFICO DE LAS PRUEBAS DE SOFTWARE. ................ 26

FIGURA 2. BARRA DE HERRAMIENTAS PARA LA CREACIÓN DE UNA NUEVA LECCIÓN. .............................................................................................................. 31

FIGURA 3. DESPLIEGUE DEL CÓDIGO FUENTE DE HTML EN CHAMILO. ...... 32

FIGURA 4. MODIFICACIÓN DEL CÓDIGO HTML PARA INSERTAR UN VIDEO. ............................................................................................................................... 33

FIGURA 5. VISTA DE LA LECCIÓN CREADA EN CHAMILO CON RECURSO DE VIDEO. ................................................................................................................... 33

FIGURA 6. PLANTILLA DE CREACIÓN DE UNA ACTIVIDAD CON VIDEO EN BLACKBOARD. ..................................................................................................... 34

FIGURA 7. VENTANA PARA BÚSQUEDAS DE VIDEOS DE YOUTUBE EN BLACKBOARD. ..................................................................................................... 35

FIGURA 8. RESULTADOS BÚSQUEDA DE VIDEOS DE YOUTUBE DESDE BLACKBOARD. ..................................................................................................... 35

FIGURA 9. RESULTADO DE UN RECURSO CON VIDEO DE YOUTUBE EN BLACKBOARD. ..................................................................................................... 36

FIGURA 10. RECURSOS DE LA PLATAFORMA DE MOODLE. .......................... 36

FIGURA 11. VISTA DEL RECURSO DE LABEL DE MOODLE ............................. 37

FIGURA 12. SECCIÓN DE INSERCIÓN DE VIDEO EN LABEL ........................... 37

FIGURA 13. VISTA DE UN VIDEO PUBLICADO EN MOODLE. ........................... 38

FIGURA 14. DIAGRAMA DE CASOS DE USO. .................................................... 46

FIGURA 15. DIAGRAMA DE CLASES. ................................................................. 47

Page 8: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

8

FIGURA 16. DIAGRAMA DE COMPONENTES. ................................................... 48

FIGURA 17. DIAGRAMA DE NODOS. .................................................................. 49

FIGURA 18. DIAGRAMA DE DESPLIEGUE.......................................................... 50

FIGURA 19. DIAGRAMA ENTIDAD-RELACIÓN ................................................... 51

FIGURA 20. VISTA DE LA CONFIGURACIÓN DE LOS CURSOS DE MOODLE. 52

FIGURA 21. VENTANA CON LAS CATEGORÍAS Y CURSOS DE MOODLE ...... 52

FIGURA 22. FORMULARIO CON LOS DATOS DE UN NUEVO CURSO. ........... 53

FIGURA 23. OPCIONES PARA CREAR UN NUEVO CURSO EN CHAMILO. ..... 54

FIGURA 24. INFORMACIÓN PARA CREAR UN NUEVO CURSO EN CHAMILO. ............................................................................................................................... 55

FIGURA 25. CREACIÓN DE UN NUEVO PROYECTO DESDE LA “GOOGLE DEVELOPERS CONSOLE” ................................................................................... 56

FIGURA 26. SERVICIOS DEL API DE YOUTUBE. ............................................... 56

FIGURA 27. SERVICIOS DEL API “FREEBASE API” ........................................... 57

FIGURA 28. OBTENCIÓN DE LAS CREDENCIALES DE ACCESO A LOS SERVICIOS DE GOOGLE. .................................................................................... 57

FIGURA 29. INSTALACIÓN DE JAVABRIDGE EN TOMCAT. .............................. 61

FIGURA 30. INSTALACIÓN EXITOSA DE UNA HERRAMIENTA EXTERNA EN MOODLE. .............................................................................................................. 64

FIGURA 31. INSTALACIÓN EXITOSA DE UNA HERRAMIENTA EXTERNA EN CHAMILO............................................................................................................... 66

FIGURA 32. ESTRUCTURA DE LA TABLA “INFORMACIÓN” ............................. 69

Page 9: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

9

FIGURA 33. ESTRUCTURA DE LA TABLA “PLATAFORMAS” ............................ 69

FIGURA 34. RESULTADO OBTENIDO DE LA PRUEBA DE UNIDAD DEL COMPONENTE JAVA. .......................................................................................... 71

FIGURA 35. RESULTADO OBTENIDO DE LA PRUEBA DE INTEGRACIÓN. ..... 73

FIGURA 36. RESULTADOS OBTENIDOS POR BÚSQUEDA DESDE CHAMILO. ............................................................................................................................... 77

FIGURA 37. RESULTADOS OBTENIDOS POR BÚSQUEDA DESDE YOUTUBE. ............................................................................................................................... 77

FIGURA 38. ICONO DE LA HERRAMIENTA EN UN CURSO DE MOODLE. ....... 78

FIGURA 39. VISTA DE LA HERRAMIENTA PARA USUARIOS CON PERMISOS DE EDICIÓN EN MOODLE.................................................................................... 79

FIGURA 40. VISTA DE LA HERRAMIENTA PARA USUARIOS SIN PERMISOS DE EDICIÓN EN MOODLE.................................................................................... 79

FIGURA 41. ICONO DE LA HERRAMIENTA EN UN CURSO DE CHAMILO. ...... 80

FIGURA 42. VISTA DE LA HERRAMIENTA PARA USUARIOS CON PERMISOS DE EDICIÓN EN CHAMILO. .................................................................................. 80

FIGURA 43. VISTA DE LA HERRAMIENTA PARA USUARIOS SIN PERMISOS DE EDICIÓN EN CHAMILO. .................................................................................. 81

FIGURA 44. VISTA DE LA APLICACIÓN PARA BUSCAR VIDEOS. .................... 82

FIGURA 45. VISTA DE LA APLICACIÓN DESPUÉS DE REALIZAR UNA BÚSQUEDA. .......................................................................................................... 82

FIGURA 46. VISTA DE LA APLICACIÓN DESPUÉS DE ALMACENAR UNA REFERENCIA. ....................................................................................................... 83

Page 10: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

10

FIGURA 47. VISTA DE LA APLICACIÓN PARA VISUALIZAR REFERENCIAS ALMACENADAS. ................................................................................................... 84

FIGURA 48. VISTA DE LA APLICACIÓN PARA VISUALIZAR TODAS LAS REFERENCIAS ALMACENADAS. ........................................................................ 84

FIGURA 49. VISTA DE LA APLICACIÓN DESPUÉS DE ELIMINAR UNA REFERENCIA. ....................................................................................................... 85

FIGURA 50. VISTA DE LA APLICACIÓN PARA VISUALIZAR REFERENCIAS SIN PERMISOS DE EDICIÓN. ..................................................................................... 85

FIGURA 51. MENÚ PRINCIPAL DE LA INSTALACIÓN DE XAMPP. ................... 91

FIGURA 52. SERVICIOS QUE SE INSTALARAN EN XAMPP. ............................ 92

FIGURA 53. SELECCIÓN DE LA CARPETA DE INSTALACIÓN DE XAMPP. ..... 93

FIGURA 54. PROCESO DE INSTALACIÓN DE XAMPP. ..................................... 93

FIGURA 55. VISTA DEL PANEL DE CONTROL DE XAMPP................................ 94

FIGURA 56. INICIO DE LOS SERVICIOS DE APACHE Y MYSQL EN XAMPP. .. 95

FIGURA 57. VISTA DE LA VENTANA LOCALHOST DESDE EL NAVEGADOR GOOGLE CHROME. ............................................................................................. 96

FIGURA 58. CREACIÓN DE LA BASE DE DATOS DE MOODLE. ....................... 97

FIGURA 59. VISTA DEL INICIO DE LA INSTALACIÓN DE MOODLE. ................. 97

FIGURA 60. SELECCIÓN DE LOS DIRECTORIOS DE INSTALACIÓN DE MOODLE. .............................................................................................................. 98

FIGURA 61. SELECCIÓN DEL GESTOR DE BASE DE DATOS PARA MOODLE. ............................................................................................................................... 98

FIGURA 62. VISTA DE LOS AJUSTES DE LA BASE DE DATOS. ....................... 99

Page 11: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

11

FIGURA 63. LISTA DEL ESTADO DE LOS COMPONENTES DE MOODLE. ...... 99

FIGURA 64. FORMULARIO CON LOS DATOS DEL ADMINISTRADOR DE LA PLATAFORMA. .................................................................................................... 100

FIGURA 65. VENTANA DE INICIO DE SESIÓN PARA MOODLE. ..................... 101

FIGURA 66. VENTANA DE INICIO PARA LA INSTALACIÓN DE CHAMILO...... 102

FIGURA 67. SELECCIÓN DEL IDIOMA DE INSTALACIÓN DE CHAMILO. ....... 103

FIGURA 68. VISTA DE LOS REQUERIMIENTOS SOLICITADOS POR CHAMILO. ............................................................................................................................. 103

FIGURA 69. TÉRMINOS DE LA LICENCIA DE LA PLATAFORMA CHAMILO. .. 104

FIGURA 70. CONFIGURACIÓN DE LA BASE DE DATOS DE CHAMILO. ......... 105

FIGURA 71. DATOS DEL ADMINISTRADOR DE LA PLATAFORMA. ................ 105

FIGURA 72. DATOS DE LA PLATAFORMA DE CHAMILO. ............................... 106

FIGURA 73. VENTANA DE INICIO DE SESIÓN PARA CHAMILO. .................... 107

Page 12: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

12

INTRODUCCIÓN Generalmente en una plataforma de gestión de contenidos de aprendizaje cuando se requiere incorporar recursos de video, estos se agregan mediante enlaces de texto que al ser activados despliegan una nueva ventana fuera del entorno de aprendizaje, por lo tanto, un profesor o integrante de la comunidad educativa no puede describir las características del recurso para que pueda ser utilizado por otros integrantes. Este documento propone el desarrollo de un componente de software integrable a plataformas de gestión de contenidos de aprendizaje que permita incorporar funcionalidades de difusión de video para localizar gráficamente videos e incorporar su acceso sin tener que abandonar el entorno de aprendizaje. Como punto de partida se propone establecer las plataformas de gestión de aprendizaje o E-Learning más utilizadas en la actualidad que cumplan con una serie de características que permitan la implementación de un componente como el anteriormente descrito, se consideran aspectos como las restricciones de interacción con las plataformas ya que por lo general este tipo de herramientas de gestión de contenido de aprendizaje ejecutan comandos basados en texto, cualquier modificación realizada sobre sus elementos debe seguir una serie de pasos propuestos por los administradores de la plataforma, lo cual implica una curva de aprendizaje fuerte para estudiantes y docentes no expertos en informática. Para la obtención se propone una técnica metodológica basada en el modelo iterativo e incremental complementado con el diseño y desarrollo de software basado por componentes. Para verificación de funcionalidades se propone un método de implementación que permita la interacción adecuada entre la plataforma de gestión de contenido de aprendizaje y el componente con las funcionalidades de difusión de video, la ventaja principal de esta herramienta consiste en facilitar la obtención de material de enseñanza sin tener que abandonar la plataforma E-Learning, lo que proporciona una mejora considerable en los tiempos de búsqueda y almacenamiento de información; ya que el componente integrado en la plataforma permitirá realizar todo este proceso sin recurrir a una herramienta externa.

Page 13: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

13

1. PLANTEAMIENTO DEL PROBLEMA

1.1 DESCRIPCIÓN DEL PROBLEMA

Por lo general las plataformas de gestión de contenido de aprendizaje con elementos de funcionalidad de video se limitan a registrar texto como hipervínculos de otras plataformas de difusión de video en Web como YouTube o DailyMotion para ser direccionados a la plataforma de origen o cuando más ser visualizados desde el mismo entorno; esta forma de compartir videos carece de funcionalidades para realizar descripciones que permitan asociar videos de acuerdo a una temática, clasificar su nivel de complejidad, enfoque pedagógico o el perfil de usuario a quien está dirigido. En lo que a compartir material de video dentro de plataformas de gestión de contenidos de aprendizaje se refiere, solo se busca seleccionar los videos que se pueden considerar beneficiosos en la enseñanza y compartir el enlace de origen del video mediante foros u otro tipo de herramientas disponibles en la plataforma; una vez compartido el material, la comunidad puede visualizar su contenido de dos maneras: si la plataforma lo permite pueden ver el video sin acceder a la página de origen, o al momento de ingresar al contenido, automáticamente se redirige al portal de origen del video; de lo anteriormente mencionado se puede decir que la metodología empleada para la búsqueda y distribución de contenido de video es muy limitada, ya que solo unas pocas herramientas permiten agregar una descripción muy breve del video para complementar el contenido, pero la mayoría de ocasiones se limitan a compartir únicamente el enlace de video. Esta falta de herramientas para búsqueda e integración de recursos de video expuestos en otras plataformas obligan a cada integrante de una comunidad educativa a realizar el proceso de búsqueda y referenciación de manera manual o con herramientas y plataformas externas, lo cual implica tiempo de aprendizaje adicional para cada una de las que utilice. Como los recursos incorporados carecen de descripción cada integrante de la comunidad educativa debe evaluar los recursos para poder incorporarlos en sus trabajos de aula.

1.2 FORMULACIÓN DEL PROBLEMA:

¿Cómo facilitar a cualquier tipo de usuario actividades de búsqueda y referenciación de recursos de video sin utilizar otras herramientas y plataformas externas al entorno de aprendizaje que ha venido utilizando?

Page 14: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

14

2. OBJETIVOS

2.1 OBJETIVO GENERAL

Desarrollar un componente que permita la integración en plataformas de gestión de contenidos de aprendizaje las funcionalidades de video proporcionadas por herramientas de difusión de video, aplicando desarrollo por componentes para que usuarios pertenecientes a una comunidad educativa tenga acceso a este tipo de recursos desde el entorno de aprendizaje.

2.2 OBJETIVOS ESPECÍFICOS

Determinar en qué plataformas de gestión de contenidos de aprendizaje es factible la integración de componentes de manera que puedan ser ampliadas las funcionalidades que ofrecen, evaluando modularidad, acoplamiento, especificaciones y estándares.

Diseñar funcionalidades que permitan la inclusión de recursos proporcionados por plataformas de difusión de video aplicando métodos de diseño y desarrollo por componentes, para que los usuarios puedan tener interacción con recursos de video sin necesidad de usar herramientas externas al entorno de aprendizaje.

Desarrollar un componente que integre funcionalidades de difusión de video, con las especificaciones requeridas por una plataforma de gestión de contenidos de aprendizaje para que los usuarios puedan utilizarlo sin salir del entorno de aprendizaje.

Establecer pruebas orientadas a la búsqueda y comparación de resultados, para la verificación de la adecuada interacción entre el entorno de la plataforma de gestión de contenidos de aprendizaje y el componente de difusión de video.

Page 15: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

15

3. ALCANCES Y LIMITACIONES

3.1. ALCANCES

La solución permitió la integración entre una plataforma de gestión de contenidos de aprendizaje con el componente con funcionalidades de difusión de videos utilizando protocolos de internet.

Se permite realizar un perfil del contenido que se desee almacenar con la finalidad de proporcionar información más específica sobre el contenido que se hallará en los videos, este perfil incluye calificación, el tipo de usuario al que está destinado y una breve descripción del video que se esté referenciando.

La funcionalidad de la aplicación permite búsquedas de videos por palabras claves y almacenamiento de la información de videos seleccionados por los usuarios.

3.2. LIMITACIONES

El componente no permite acceso a videos de canales privados.

Solo se puede acceder a la funcionalidad del componente si el profesor ha creado el recurso en el curso para que los estudiantes puedan acceder.

Se permite un máximo de 100 resultados por búsqueda por el consumo de recursos de red.

La implementación del proyecto será solo para un entorno de desarrollo.

Page 16: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

16

4. JUSTIFICACIÓN

El desarrollo de este proyecto proporcionó una serie de beneficios para los diferentes miembros de una comunidad académica que deseen implementar nuevas funcionalidades en los entornos de aprendizaje que estén utilizando actualmente. Los beneficios obtenidos con este desarrollo son los siguientes:

Al proporcionar una herramienta de fácil manejo para usuarios inexpertos esta puede ser utilizada en varios entornos de aprendizaje sin que el usuario tenga que realizar largos procesos de capacitación para poder utilizar las funcionalidades de búsqueda y referenciación de video.

Las funcionalidades de referenciación de recursos de video permite a los integrantes de una institución construir en forma colectiva un repositorio de referencia de recursos que pueden ser compartidos por todos los integrantes de manera que el tiempo invertido permita obtener un mayor número de recursos y de mayor pertinencia.

Esta herramienta ayuda a mejorar el tiempo que invierte un profesor en buscar material educativo de video ya que todo el proceso de búsqueda, referencia y recolección se realiza desde la propia plataforma, por lo tanto los integrantes no requieren invertir tiempo en el aprendizaje y configuración de herramientas externas.

Gracias a que el proyecto maneja el principio de desarrollo basado en componentes proporciona alta flexibilidad por lo que es posible su incorporación en diferentes tipos de plataformas de gestión de contenidos de aprendizaje.

Page 17: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

17

5. MARCO TEÓRICO En esta sección se mencionan los primeros conceptos básicos involucrados en el desarrollo del proyecto como los términos relacionados con las plataformas de gestión de contenidos de aprendizaje y las herramientas de difusión de video en web y por último se define la técnica de desarrollo de software por componentes.

5.1. MARCO CONCEPTUAL

5.1.1. Gestores de contenido de aprendizaje o plataformas E-Learning

Las plataformas E-Learning se refieren a todo espacio virtual creado para que una comunidad académica pueda tener acceso a diferentes herramientas de aprendizaje con las que pueden interactuar y aprender sobre una temática en específico, entre las definiciones más aceptadas esta: “El E-Learning proporciona la oportunidad de crear ambientes de aprendizaje centrados en el estudiante. Estos escenarios se caracterizan además por ser interactivos, eficientes, fácilmente accesibles y distribuidos.” De la descripción anterior proporcionada por (Boneu, 2007) se mencionan los siguientes aspectos: “diseño institucional, pedagógico, tecnológico, de la interfaz, evaluación, gerencia, soporte y ética de uso” (Boneu, 2007). Estas plataformas de aprendizaje son también conocidas como entornos virtuales de aprendizaje y enseñanza (VLE – Virtual Learning Environment) constituyen una parte importante en la formación actual de académicos en su mayoría en los niveles de estudios universitarios; las plataformas E-Learning se consideran una aplicación Web que permite la integración de un conjunto de herramientas para el aprendizaje en línea; su principal objetivo es la creación de un espacio de enseñanza y aprendizaje en Internet, donde es posible la interacción entre profesores y alumnos sin la necesidad de crear un espacio físico presencial (Fernández & Pampillón, 2009). Uno de los mayores aportes que han tenido estas plataformas en las metodologías de enseñanza es que pueden proporcionar diversos tipos de herramientas y componentes de software que pueden ser utilizados para proporcionar una mejor calidad en el aprendizaje de las personas; por ejemplo: la creación de repositorios de información útil y organizada por el profesor según se considere puedan generar un mayor aporte en la formación de los alumnos, la creación de actividades que permitan llevar control sobre el avance de los alumnos en el aprendizaje del curso ya sea con el diseño de cuestionarios o con un sistema para subir archivos, la ventaja de este tipo de componentes es que el tiempo de respuesta que se tiene

Page 18: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

18

suele ser muy corto, lo que puede agilizar mucho las actividades que apoyan el proceso de aprendizaje y evaluación de la comunidad académica. Escenarios del E-Learning Existen diferentes clasificaciones para las plataformas E-Learning dependiendo del enfoque de enseñanza que maneje la comunidad académica, se distinguen 3 tipos de escenarios según el autor (Boneu, 2007):

El CBT (Computer Based Training) o el CAI (Computer Assisted Instruction), es el aprendizaje que se realiza basado en computadoras o instrucciones asistidas por un computador.

El IBT (Internet Based Training) es una evolución de los sistemas de aprendizaje basados en computador, CBT. Los sistemas IBT hacen uso de Internet permitiendo que los contenidos puedan llegar a sus destinatarios a través de este medio.

El WBT (Web Based Training) consiste en el aprendizaje haciendo uso de la web, a través de la que se reciben los contenidos. En este último tipo se encuentra el campus virtual.

El modelo más popular en cuanto a los escenarios del E-Learning es el modelo CBT y a la actualidad sigue siendo el más utilizado por sus diferentes enfoques, por ejemplo: el modelo CBT tiene su modelo pedagógico centrado en el profesor a cargo del curso, busca la enseñanza de cursos completos y no por fragmentos u objetos de aprendizaje, la creación de todo su contenido de aprendizaje se genera desde cero y la distribución de su tiempo está dada en días, semanas y meses. En la tabla 1 se puede apreciar de mejor forma todas estas características de los sistemas CBT y su comparación con los sistemas E-Learning en general:

Page 19: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

19

Tabla 1. Tabla comparativa de los sistemas CBT con otros sistemas E-Learning.

Característica Sistema CBT Sistemas de E-Learning

Modelo pedagógico Centrado en el profesor Centrado en el alumno

Finalidad Distribuir Contenidos Distribuir contenidos y capturar conocimiento

Tipo de componente educativo

Curso completo Trozos de contenido u objetos de aprendizaje

Creación de contenido Desde Cero Reutilización de contenido

Tiempo requerido para el aprendizaje

Días, Semanas, meses Horas

Fuente: (Boneu, 2007) Características principales de un sistema E-Learning Para que una herramienta pueda considerarse una plataforma E-Learning debe cumplir con una serie de características que garanticen ser herramientas de utilidad en el proceso de aprendizaje de una comunidad académica. Las características o elementos que deben tener las plataformas E-Learning según el autor (Boneu, 2007) y una recopilación realizada por la Universidad de Salamanca (Salamanca, 2018):

Interactividad: Se refiere a la facilidad con la que los usuarios de la plataforma pueden interactuar con el contenido de la misma y permitir una navegación amigable tanto para usuarios expertos como para usuarios básicos.

Flexibilidad: Es una característica que debe existir para garantizar que la plataforma pueda implementarse en todo tipo de institución sin importar los planes de estudio que tenga un curso; si una plataforma E-Learning es flexible, se permitirá implementar en todo tipo de institución, ya sea académica o empresarial sin ningún problema.

Escalabilidad: La plataforma debe mantener su funcionalidad sin importar la cantidad de usuarios que estén inscritos.

Estandarización: Es la capacidad de utilizar cursos realizados por terceros y permitir integrarlos sin alterar su funcionalidad; de esta forma. Esta característica garantiza la durabilidad de los cursos evitando que éstos queden obsoletos.

Los sistemas de comunicación pueden ser síncronos o asíncronos. Es una característica básica de las plataformas E-Learning donde las funciones de componentes con comunicación síncrona son aquellos que generan

Page 20: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

20

comunicación entre usuarios en tiempo real; mientras que los sistemas asíncronos no generan comunicación en tiempo real, pero establecen un medio por el cual las aportaciones de los usuarios pueden quedar grabadas.

Internacionalización o arquitectura multi-idioma: Es una de las características más importantes de las plataformas E-Learning, debe tener soporte en múltiples idiomas para que pueda implementarse en cualquier lugar a nivel mundial y no se limite únicamente a ser aplicada a regiones específicas del planeta.

Las plataformas de E-Learning son el software de servidor que se ocupa principalmente de la gestión de usuarios, cursos y de la gestión de servicios de comunicación.

Los contenidos o “courseware” son el material de aprendizaje que se proporciona a los estudiantes. Los contenidos deben poderse incluir en varios formatos, según se requiera por la materia tratada o el tipo de actividad a realizar.

Con lo anteriormente mencionado se puede realizar una síntesis resaltando principalmente a los elementos de un sistema de gestión de contenidos de aprendizaje que giran en torno a la comunicación entre una comunidad académica y la capacidad de adaptarse a las condiciones académicas de una institución para implementarse sin importar la estructura de aprendizaje de la institución. Características adicionales de las plataformas E-Learning Estas características a diferencias de las anteriores, proporcionan capacidades adicionales a la plataforma E-Learning; las más destacadas dentro del diseño de las plataformas E-Learning son:

Código abierto: “Se habla de software «Open Source», cuando éste se distribuye con licencia para poder ver y modificar el código fuente base de la aplicación” (Boneu, 2007). Esta característica garantiza que la plataforma este abierta a cambios por parte de la comunidad de desarrolladores de contenido y garantiza que el material de enseñanza disponible este siempre actualizado evitando que la plataforma E-Learning quede obsoleta y a disposición de todo tipo de usuarios.

Tecnología empleada: La tecnología empleada como base de las plataformas E-Learning debe ser reconocida por su flexibilidad en cuanto a la parte de programación, los lenguajes de programación que se destacan en este orden son C, C++, PHP, Java, JavaScript, Perl, Python, entre otros como lenguajes principalmente aplicados en el “Open Source” (Los top 10 lenguajes de programación mas usados en el software libre, 2018).

Page 21: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

21

Amplia comunidad de usuarios y documentación: La cantidad de usuarios es proporcional a la popularidad de la plataforma, por lo tanto, garantiza un amplio volumen en la documentación de la misma garantizando información actualizada.

Herramientas de las plataformas E-Learning Ya establecidas las características básicas para que una plataforma pueda considerarse plataforma E-Learning o una plataforma de gestión de contenidos de aprendizaje, es momento de mencionar las herramientas más destacadas en estas plataformas, aquellas herramientas que se pueden encontrar por defecto en la plataforma y proporcionan actividades o recursos para ser usados por la comunidad. Algunas de las herramientas más utilizadas en las plataformas E-Learning según (García, 2018) son:

Los foros

E-Portafolio

Herramientas de comunicación síncrona y comunicación asíncrona como un chat o correo electrónico respectivamente

Servicios de presentación multimedia

Calendario

Noticias del lugar

Auditorias

Test y resultados automatizados

Librerías digitales y repositorios

Son las herramientas con mayor frecuencia encontradas en las plataformas de gestión de contenidos de aprendizaje por defecto ya que proporcionan los elementos básicos requeridos por un curso para la enseñanza con distintas herramientas.

Page 22: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

22

5.1.2. Plataformas de difusión de video en Web

Las plataformas de difusión de video en web son todas aquellas herramientas con las que se pueden difundir videos en la web; para que puedan ser compartidos y comentados por una comunidad. Algunas de las funcionalidades de las plataformas de difusión de video, son la de controlar y clasificar el contenido de los videos, almacenar numerosa variedad de videos para ser vistos por una comunidad, y permitir buscar videos por diversas categorías. Estas características son más relacionadas con una red social que permitan la visualización de videos más que con su edición y creación; ya que desde el enfoque de la enseñanza; según (Contreras Espinosa & Eguia G, 2009):

“Un entorno educativo virtual establece los elementos con los cuales el estudiante construye sus modelos mentales y pauta las condiciones necesarias para aprender por sí mismo. Debe contar con herramientas que permitan actividades en grupo, o que el alumno interactúe con otros usuarios y comparta sus conocimientos.”

Donde se desea resaltar la importancia de proporcionar múltiples herramientas de aprendizaje para una persona desde sus capacidades comunicativas con una comunidad activa y de interacción con un dispositivo para mejorar la posibilidad de asimilar conocimiento.

5.1.3. Desarrollo de Software por Componentes

En la actualidad los sistemas computacionales han ido evolucionando de tal forma que se están tornando más complejos, esto ha llevado a tener que recurrir muchas veces a la reutilización de software existente, de esto trata esta metodología de desarrollo por componentes, implementar software ya existente y reutilizarlo de forma completa o parcial para realizar diversos tipos de tareas el ensayo Desarrollo de Software basado en Componentes del autor (Terreros, 2018) Introduce esta metodología de la siguiente manera:

“Si hay algo que ha aprendido el ser humano desde tiempos muy antiguos es a reutilizar el conocimiento existente para sus cada vez más ambiciosas empresas. En efecto, al reutilizar trozos de experiencias, ideas y artefactos, no solo nos aseguramos de no cometer los mismos errores del pasado, sino que logramos construir cosas cada vez más grandes y maravillosas, con bases firmes y calidad incomparable.”

Page 23: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

23

La necesidad de utilizar código ya existente se debe a que los sistemas se tornan más complejos con el paso del tiempo y cada vez se requiere que sean desarrollados en el menor tiempo posible con altos estándares de calidad; debido a esto surge lo que se conoce hoy como el desarrollo de software por componentes, donde su objetivo principal consiste en la utilización de piezas de software creadas anteriormente para ser reutilizadas en un nuevo sistema y obtener nuevas funcionalidades. Esta metodología trabaja bajo la filosofía de “comprar, no construir” haciéndose un enfoque muy utilizado en la actualidad.

5.1.4. Beneficios del desarrollo de software basado en componentes

La metodología del desarrollo de software basado en componentes mencionadas por (Terreros, 2018) trae algunas ventajas al momento de desarrollar como:

Reutilización del software: Permite a un software ser implementado en otro sistema de software diferente.

Simplifica las pruebas: Permite que las pruebas puedan implementarse en los componentes de forma individual antes de probar el conjunto completo de componentes ensamblados.

Simplifica el mantenimiento del sistema: El débil acoplamiento entre los componentes permite a los desarrolladores actualizar un componente de forma individual sin afectar la funcionalidad de los otros componentes.

Mayor calidad: La característica de los componentes de ser construidos y mejorados de forma individual con el paso del tiempo garantiza que la calidad del conjunto sea superior de igual forma de manera progresiva.

Como se explicó anteriormente, la metodología del desarrollo por componentes tiene un principio de “comprar, no construir”, este principio proporciona unas ventajas adicionales como:

Ciclos de desarrollo más cortos: Ya que la metodología implementa piezas de software construidas previamente, se garantiza un menor tiempo de desarrollo de software.

Mejor ROI (Retorno de la inversión): El retorno sobre la inversión puede ser más favorable que desarrollando los componentes uno mismo por los estándares de calidad y ahorro de tiempo que permiten esta metodología.

Funcionalidad mejorada: Para usar un componente que contenga una pieza de funcionalidad, solo se necesita entender su naturaleza, más no sus detalles internos. Así, una funcionalidad que sería impráctica de implementar en la empresa, se vuelve ahora completamente asequible.

Page 24: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

24

5.1.5. Tipos de interacción en los sistemas basados en componentes

Cuando se desarrolla un software con esta metodología se deben diferenciar aquellas partes del software que serán los componentes y aquellas partes que serán el framework de la aplicación; una vez establecidas estas diferencias se pueden definir diversos tipos de interacción entre estos elementos, los cuales están definidos de la siguiente manera por los autores (Montilva C., Arapé, & Colmenares, 2003):

Componente-Componente (C-C): Como su nombre indica es la relación que se puede formar entre distintos componentes para generar una funcionalidad que pueda depender de dos elementos distintos.

Componente-Framework (C-F): Dicha interacción permite que el framework administre los recursos de los componentes.

Framework-Framework (F-F): Esta relación permite la composición de componentes desplegados en framewoks heterogéneos.

5.1.6. Clasificación de los desarrollos de componentes

Existen dos categorías para el desarrollo de software por componentes descritos por (SOMMERVILLE, 2011) y sintetizadas por (Montilva C., Arapé, & Colmenares, 2003) de la siguiente manera:

Desarrollo de componentes: Esta categoría se centra en el desarrollo de componentes para que puedan ser utilizados por otras aplicaciones en un futuro. Este enfoque también tiene como objetivo principal la creación de repositorios de componentes con funcionalidades únicas que puedan ser fácilmente incorporados con otros componentes o en la funcionalidad de un framework.

Desarrollo de software con reutilización de componentes: Es la categoría especializada en hacer uso de repositorios de componentes para la creación de software utilizando componentes ya existentes para crear aplicaciones completas a partir de software previamente desarrollado.

La diferencia principal entre estas dos categorías es que el desarrollo de componentes se especializa en el desarrollo de funciones que puedan ser utilizadas a futuro, mientras que el desarrollo por reutilización de componentes busca crear aplicaciones completas basándose en las funciones creadas por el enfoque de “desarrollo de componentes”.

Page 25: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

25

5.1.7. Roles dentro de un desarrollo de software basado por componentes

Para el desarrollo de software basado en componentes según (Bettin, 2003), los roles relevantes son: Especificador de interfaz, Especificador de componentes, Ensamblador de componentes y Proveedor de componentes:

El especificador de interfaz define reglas de alto nivel por qué tipos específicos de componentes interactuar, y él / ella es responsable del grado logrado de encapsulación.

El especificador de componentes define las operaciones que están expuestas por un componente, teniendo en cuenta las reglas y restricciones provistas por el Especificador de interfaz.

El proveedor de componentes diseña y entrega un componente que cumple con una determinada especificación del componente para los ensambladores de componentes que trabajan en el siguiente nivel superior capa arquitectónica.

El ensamblador de componentes implementa una solución mediante el ensamblaje de componentes dentro de una capa arquitectónica dada.

Cualquier metodología para el desarrollo basado por componentes necesita reconocer la importancia de los roles anteriormente nombrados, y debe garantizar que los usuarios de esta metodología se puedan comunicar entre sí. Pensar en estos roles facilita el diseño de componentes individuales y facilita su integración, además promueve el desarrollo de buenas arquitecturas de componentes con capas arquitectónicas que son explícitamente identificables en la base de código (Cheesman & Daniels , 2000).

5.1.8. Estrategia de prueba del software

Durante el ciclo de desarrollo de software se llega a un punto en el cual hay que realizar diversos tipos de pruebas para garantizar que el producto que se está desarrollando no tendrá ningún tipo de error al momento de realizar una entrega a un cliente. Existen diferentes tipos de pruebas aplicadas a diferentes enfoques del desarrollo y que se distribuyen en distintas fases del desarrollo, las principales pruebas aplicadas según (Ingeniería de Software Un enfoque práctico - Septima edicion, 2010) son:

Pruebas de Unidad: Buscan poner a prueba cada uno de los componentes de un proyecto por separado para determinar su correcto funcionamiento antes de comenzar con su integración.

Page 26: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

26

Pruebas de Integración: Son las pruebas que tienen su enfoque principalmente en el análisis del diseño y la construcción de la arquitectura del software.

Pruebas de Validación: Son las pruebas más comunes en cualquier tipo de desarrollo ya que buscan confrontar los requerimientos establecidos del proyecto con la funcionalidad del software que se construyó.

Pruebas de Sistema: Son las pruebas que se encargan de evaluar el software que se construyó y el sistema donde se encuentra operando como un todo.

Figura 1. Modelo grafico de las pruebas de software.

Fuente: (Ingeniería de Software Un enfoque práctico - Septima edicion, 2010)

5.2. MARCO REFERENCIAL

5.2.1. Las plataformas de gestión de aprendizaje más utilizadas

En la actualidad existen diversos tipos de sistemas de gestión de aprendizaje o plataformas E-Learning, las cuales se dividen en dos grupos principales, las plataformas de código abierto y aquellas que tienen una licencia paga; donde las primeras mencionadas son aquellas que se tiene libre acceso a su uso y la comunidad puede realizar modificaciones sobre su código fuente, mientras que las plataformas del segundo grupo mantienen su código fuente alejado de los usuarios y su uso es limitado, de un mes a un año por lo general. Las plataformas E-Learning más destacadas y utilizadas son:

Moodle: Es una plataforma E-Learning de código abierto con el mayor prestigio y el mayor uso a nivel mundial; su número de usuarios supera los 79 millones, más de 99.000 sitios registrados y con presencia en más de 230 países. (Pagina oficial de Moodle, 2018)

Page 27: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

27

Canvas LMS: Es otra plataforma de código abierto con la característica principal de ser funcional en un 100% en la nube, en otras palabras, no requiere de instalación en un servidor. Su versión Canvas Network se encuentra más enfocada en el sector empresarial. (Pagina oficial de CanvasLMS, 2018)

Chamilo LMS: La tercera de las plataformas E-Learning de código abierto donde se destaca su mayor uso en su aplicación en el campo empresarial, se encuentra presente en más del 80% de los países del mundo, comparte muchas similitudes con la plataforma de Moodle. (Pagina Oficial de Chamilo, 2018)

Sakai: Es una plataforma de código abierto que surge del proyecto Sakai, creado entre varias universidades americanas como la creación de una alternativa en el campo de las plataformas E-Learning; en la actualidad está presente en más de 100 universidades, algunas de ellas españolas como la Universidad Complutense de Madrid o la Politécnica de Valencia. (Pagina Oficial de Sakai, 2018)

LMS de Wordpress plugin, LearnPress: Surge como un complemento bajo la idea de aplicarse sobre páginas web desarrolladas en Wordpress para transformar la página web en plataforma E-Learning.

Blackboard LMS: Es una plataforma comercial que implementa el tipo de pago por licencia, es de las plataformas E-Learning más prestigiosas del mundo, se encuentra en múltiples universidades a nivel mundial y proporciona soporte para diversos niveles de educación como la educación primaria, tiene varios enfoques según su uso como Blackboard Learn, Blackboard Collaborate, Blackboard Connect, Blackboard Mobile y Blackboard Analytics. (Pagina Oficial de Blackboard, 2018)

eDucativa: Es una plataforma paga con modalidad de pago bajo solicitud de presupuesto, es muy utilizada en España no solo por escuelas o entidades universitarias, también es muy utilizada por empresas; se considera de entorno amigable y accesible para la mayoría de usuarios. (Pagina Oficial de eDucativa, 2018)

FirstClass: Plataforma E-Learning comercial que maneja el tipo de pago “pago por uso”, no requiere su instalación en ningún servidor ya que opera en su totalidad en la nube y es capaz de adaptarse a todo tipo de dispositivos. (Pagina Oficial de FirstClass, 2018)

Saba: Es una plataforma especializada en el seguimiento de los estudiantes, su uso comercial requiere de un tipo de pago donde hay que solicitar presupuesto, es una plataforma muy completa que permite mejorar los programas dictados con un seguimiento personal. (Pagina Oficial de Saba, 2018)

Page 28: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

28

NEO LMS: Es una plataforma E-Learning pensada para todo el mundo, es una plataforma de pago por uso, que no requiere de instalación en un servidor. (Pagina Oficial de NEO LMS, 2018)

Como una alternativa a las plataformas anteriormente mencionadas se destaca Google Classroom como una plataforma gratuita accesible para usuarios centros de formación, usuarios particulares que posean cuentas de Gmail u organizaciones sin ánimo de lucro (Comunica-web, 2018). (Pagina Oficial de Google Classroom, s.f.) En la tabla 2 se realiza la comparación entre las plataformas de gestión de contenidos de aprendizaje más sobresalientes donde se destacan principalmente sus características de instalación, capacidad de adaptación (flexibilidad) y capacidad de incorporación de software de terceros (estandarización); donde las plataformas que más destacaron fueron las plataforma de Moodle y Chamilo, ya que al tratarse de plataformas de código abierto con tecnología empleada de PHP, con un enfoque dirigido al entorno académico y un código fuente estable para cada una de sus versiones se hacen los candidatos ideales para implementar un módulo con funcionalidad de difusión de video en Web.

Page 29: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

29

Tabla 2. Comparación de funcionalidades entre plataformas de gestión de contenido de aprendizaje.

Plataformas Características

Sa

ka

i

Mo

od

le

Bla

ck

bo

ard

Ch

am

ilo

LM

S

Ca

nv

as

LM

S

Sa

ba

¿Es plataforma libre? SI SI NO SI SI NO

¿Su enfoque es empresarial?

NO NO NO NO NO SI

¿Su enfoque es académico?

SI SI SI SI SI NO

¿Presenta facilidad de configuración y personalización de plataforma?

SI SI SI SI SI SI

¿Permite emplear tecnología de terceros?

SI SI NO SI SI NO

¿Tiene un código fuente estable?

NO SI SI SI SI SI

¿Funciona en servidor? SI SI SI SI NO SI

¿Funciona en la nube? NO NO NO NO SI NO

Fuente: Elaboración propia

5.2.2. Las principales plataformas de difusión de video

Las plataformas de difusión de video en web más importantes en la actualidad según un artículo de (Mundo, 2017) son las siguientes:

Vimeo: Es una red social para subir, almacenar y compartir videos, tiene cerca de 300 millones de usuarios con múltiples formas de monetizar videos para todos aquellos creadores de contenido.

DailyMotion: Es una plataforma cuyo funcionamiento se definió más como un “agregador de contenido” permitiendo almacenar videos de hasta una hora de duración, fue la primera competencia de YouTube, aunque tiene un enfoque más centrado en la creación de cortometrajes semi-profesionales.

Maker Studios: Es un grupo de canales estadounidenses fundado en 2009 y que pertenece a Disney desde 2015 con una gran variedad de videos, tiene audiencias principalmente en Brasil, Reino Unido y Australia con más de 700 millones de vistas únicas.

Flickr: Aunque es una plataforma conocida principalmente por ser una plataforma de fotos, también tiene la posibilidad de publicar videos a los que denomina como “Long Photos” y que no pueden superar los 90 segundos al mes.

Page 30: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

30

Viddler: Es una plataforma para compartir contenido audiovisual cuya principal característica es el ofrecimiento de un servicio gratuito para usuarios y otro de pago para empresas.

Twitch: Es una plataforma para compartir videos con múltiples formas de monetizar videos ya que permite ganar dinero por suscriptores, donaciones y a través de patrocinadores.

YouTube: Es la plataforma de gestión de videos más popular a nivel mundial con la mayor cantidad de variedad en contenido ya que abarca temas desde entretenimiento hasta contenido educativo de gran calidad (Digital, 2016).

En la tabla 3 se realiza la comparación de las diferentes plataformas de difusión de video en Web que hay en el mundo, lo que permite definir a YouTube como la plataforma más popular en el enfoque de la educación ya que las otras plataformas aunque comparten aspectos similares en lo que a funcionalidad se refiere; el factor clave para determinar la plataforma más apropiada para aplicar en el campo de la educación es el enfoque de su contenido, ya que los enfoque que trabajan las otras plataformas es muy distante a lo que se desearía aplicar en una plataforma de gestión de contenidos de aprendizaje. Tabla 3. Comparación de las características entre plataformas de difusión de video en Web.

Plataformas Características V

ime

o

Dail

yM

oti

on

Ma

ke

r

Stu

dio

s

Fli

ck

r

Vid

dle

r

Tw

itc

h

Yo

uT

ub

e

¿Dispone de una API? SI SI NO SI SI SI SI

¿Tiene tecnología empleada?

SI SI NO SI SI SI SI

¿Sus videos se especializan en contenido con enfoques educativos?

NO NO NO NO NO NO SI

¿Permite hacer Streaming? (Transmisiones en directo)

NO NO NO NO NO SI SI

¿Permite compartir videos? SI SI SI NO SI SI SI

Fuente: Elaboración propia

Page 31: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

31

5.2.3. Inserción de recursos de video en plataformas de gestión de contenidos de aprendizaje

La inserción de recursos de video en diferentes plataformas de gestión de contenidos de aprendizaje puede variar y en ocasiones se cuenta con un manual o una guía para crear dichos recursos y poder integrarlos, en su mayoría se toma la iniciativa de proporcionar estas guías de creación de contenido por videos tutoriales que muestran el paso a paso a seguir en la creación de cualquier tipo de recurso dentro de una plataforma de gestión de contenidos de aprendizaje. La siguiente sección enseña cómo era antiguamente la inserción de elementos de video en 3 plataformas diferentes:

1. Chamilo

Esta plataforma de gestión de contenidos de aprendizaje tiene la forma de publicar elementos de video con un grado de dificultad avanzado ya que se involucra la inserción de código HTML para publicar videos. Se hizo uso de un video tutorial para apreciar cada uno de los pasos que se siguen para insertar un elemento de video dentro de un recurso proporcionado por (Zambrano, 2013). Lo primero que se realiza con esta plataforma una vez creada una nueva lección es acceder a la barra de herramientas de la plataforma y seleccionar el recurso de “fuente HTML”, como se muestra a continuación en la figura 2:

Figura 2. Barra de herramientas para la creación de una nueva lección.

Fuente: (Zambrano, 2013) Una vez seleccionada la opción, se desplegarán unas líneas de código HTML que representan el código fuente de la página actual que representa la vista básica del recurso de la siguiente forma en la figura 3:

Page 32: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

32

Figura 3. Despliegue del código fuente de HTML en Chamilo.

Fuente: (Zambrano, 2013) Esta sección requiere de un mínimo de conocimientos en lenguaje HTML por parte de la persona que está creando la lección; para insertar un recurso de video se debe desplazarse a las últimas líneas del código y haciendo uso de las etiquetas “<iframe></iframe>”, y seleccionar nuevamente la herramienta de fuente HTML. En la siguiente figura se puede apreciar un ejemplo de inserción de un video externo mediante las etiquetas “<iframe></iframe>” con un video obtenido de YouTube, obteniendo el siguiente resultado mostrado en la figura 4:

Page 33: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

33

Figura 4. Modificación del código HTML para insertar un video.

Fuente: (Zambrano, 2013) Una vez hecho lo anteriormente mencionado, el resultado final será la vista del recurso con el video insertado en la vista de la plataforma de gestión de contenidos de aprendizaje y cualquier configuración adicional realizada en el código HTML del recurso creado, la vista obtenida es la vista en la figura 5:

Figura 5. Vista de la lección creada en Chamilo con recurso de video.

Fuente: (Zambrano, 2013)

Page 34: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

34

2. Blackboard

Blackboard cuenta con un recurso de importación de videos integrada en el proceso de creación de lecciones o cursos, la guía utilizada para observar los pasos de inserción de contenido de video consiste en un video tutorial proporcionado por (Serna, 2013) con un ejemplo de búsqueda, inserción y visualización del resultado obtenido. La herramienta utilizada por Blackboard está conectada con la plataforma de difusión de videos en Web de YouTube; se requiere ingresar a la plantilla de creación de una actividad se selecciona la herramienta de “añadir herramienta combinada” seleccionando la herramienta “Video de YouTube”, como se muestra en la figura 6:

Figura 6. Plantilla de creación de una actividad con video en Blackboard.

Fuente: (Serna, 2013) Una vez dentro se desplegará la siguiente ventana con un menú de búsqueda por diferentes tipos de filtros como palabras clave o por canales específicos, esto se puede apreciar en la figura 7:

Page 35: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

35

Figura 7. Ventana para búsquedas de videos de YouTube en Blackboard.

Fuente: (Serna, 2013) Los resultados obtenidos por la búsqueda se muestran de forma descendente con una imagen miniatura del video, su título correspondiente y la descripción del video, permitiendo a los usuarios realizar una selección de un video en específico y realizar su respectivo almacenamiento con la opción de “enviar”, la vista de esta ventana se puede observar en la figura 8:

Figura 8. Resultados búsqueda de videos de YouTube desde Blackboard.

Fuente: (Serna, 2013)

Page 36: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

36

Por último se desplegara un formato de edición donde se puede ingresar una descripción personalizada por el usuario creador del recurso de la siguiente manera en la figura 9:

Figura 9. Resultado de un recurso con video de YouTube en Blackboard.

Fuente: (Serna, 2013)

3. Moodle:

Es una de las plataformas de gestión de contenidos de aprendizaje más populares en la actualidad cuenta con herramientas por defecto que permiten añadir videos para que puedan ser visualizados utilizando la herramienta “Label” la cual se puede ingresar a un curso desde el siguiente desplegable (Video de Moodle, 2018):

Figura 10. Recursos de la plataforma de Moodle.

Fuente: Basado en la versión de Moodle 3.4.

Page 37: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

37

Una vez ingresado el recurso de Label, se puede apreciar la siguiente ventana mostrada en la figura 11:

Figura 11. Vista del recurso de Label de Moodle

Fuente: (Video de Moodle, 2018) En la figura anterior se puede apreciar un recuadro donde se resalta la opción para insertar elementos de video a la herramienta; una vez seleccionada la opción se desplegará la siguiente ventana con diversas opciones para compartir videos en diferentes formatos. Las opciones de las que dispone esta herramienta son: la inserción de un link externo, la posibilidad de ingresar un video almacenado en el equipo y una opción para ingresar un audio simple, como se aprecia en la siguiente figura:

Figura 12. Sección de inserción de video en Label

Fuente: (Video de Moodle, 2018)

Page 38: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

38

Una vez determinado el formato con el que se desea ingresar un video se puede ingresar una descripción simple, obteniendo la siguiente visualización (figura 13):

Figura 13. Vista de un video publicado en Moodle.

Fuente: (Video de Moodle, 2018)

Page 39: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

39

6. TÉCNICA METODOLÓGICA La técnica metodológica para la realización de este proyecto está basada en el ciclo de vida iterativo e incremental y el desarrollo por componentes. La primera fase de este proyecto se compone de dos partes: la primera comprende el estudio de herramientas de gestión de contenidos de aprendizaje en ambiente web para determinar la forma en que trabajan funcionalidades de integración de video, la segunda comprende la profundización de aquellas herramientas de gestión de contenidos definidas mediante módulos y que permiten la incorporación de componentes como servicios, en relación a la difusión de video se busca identificar plataformas que cuenten con herramientas y servicios que puedan ser utilizados desde otras aplicaciones. Antes de dar inicio a la fase dos, se realiza una revisión de las funcionalidades de difusión de video en las plataformas seleccionadas, evaluando las características y especificaciones en especial: capacidad de integración de contenidos externos, estabilidad del código fuente de las versiones disponibles de la plataforma; con el fin de realizar los ajustes requeridos para determinar un perfil más detallado sobre las plataformas de gestión de contenidos de aprendizaje. La fase dos se compone por tres partes: en la primera se establecen entidades base que describen los recursos de video y se realiza una prueba de concepto con las herramientas que proporcionan mayor funcionalidad de manera que se puedan almacenar registros de información que contengan: nombre del video, duración del video, descripción y dirección de origen del video. La segunda parte consiste en el modelado de las interacciones que tiene la plataforma de gestión de contenidos de aprendizaje con los servicios de difusión de video, se estudian y modelan aspectos como: parámetros requeridos para realizar una búsqueda, el ordenamiento y distribución de los resultados obtenidos en una búsqueda, el grado de personalización que permite la plataforma sobre el contenido obtenido (calificación, descripción personal, entre otros) y el mecanismo de persistencia de información de una consulta o un contenido específico. En la tercera parte se realiza la configuración base del entorno de gestión de contenidos de aprendizaje y una primera prueba de funcionalidad que permita desde la plataforma de gestión de contenidos de aprendizaje ubicar un recurso de video ofrecido por un servicio externo. Terminado la fase dos y con lo observado en las pruebas de funcionalidad de la plataforma, se realizan los ajustes necesarios para garantizar el completo funcionamiento de la plataforma en lo que a recolección de material de video se refiere.

Page 40: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

40

La tercera fase se compone de dos partes: la primera comprende el desarrollo de un módulo de software que permita realizar búsquedas y capturar una entrada desde la plataforma de gestión de contenidos de aprendizaje y realizar una búsqueda en plataformas que proveen servicios de video y presentar los resultados en el entorno de gestión de contenidos, proporcionando acceso desde la misma plataforma. La segunda es la creación de un mecanismo de persistencia para todos los resultados de una búsqueda de video seleccionados por el usuario. El desarrollo de las partes que componen la fase tres se llevan a cabo de forma concurrente; ya que se requiere un diseño de una vista en la plataforma de gestión de aprendizaje coherente con los resultados obtenidos por el módulo de difusión de video, para que los elementos obtenidos por dicha plataforma, puedan ser almacenados mediante algún mecanismo de persistencia. Una vez finalizada la tercera fase se realizan las pruebas de unidad donde se analiza cada componente del desarrollo por separado y dependiendo de los resultados obtenidos, se realizan los ajustes correspondientes, ya sea: de elementos visuales de la plataforma de gestión de contenidos de aprendizaje, ajustes en la funcionalidad del módulo de difusión de video o de mecanismo para persistencia de la información. La fase cuatro corresponde a la integración del módulo con la plataforma de gestión de aprendizaje, se establecen las funcionalidades básicas de conexión entre componentes. Está conformada por seis partes: en la primera se realizan las pruebas de integración donde se verifica la adecuada interconexión entre la plataforma de gestión de contenidos de aprendizaje y el modulo con funcionalidad de difusión de video y la dependencia con la funcionalidad general de la plataforma sobre la que está funcionando. La segunda hace referencia a los ajustes que se requieran realizar según los resultados obtenidos por las pruebas realizadas en la primera parte, la tercera parte consiste en la aplicación de pruebas de validación realizando: búsquedas desde la plataforma de gestión de contenidos de aprendizaje, visualización de los resultados obtenidos por el módulo de software dentro del entorno de la misma plataforma y su correspondiente almacenamiento. En la cuarta parte se realizan ajustes dependiendo de los resultados obtenidos anteriormente. En la quinta parte se efectúan las pruebas de sistema donde se pone a prueba toda la funcionalidad de la plataforma de gestión de contenidos de aprendizaje desde la creación de un curso o elemento que permita la creación de una herramienta con las funcionalidades de video proporcionadas por el módulo de software. La sexta parte hace referencia a los ajustes finales para garantizar la funcionalidad exitosa de cada uno de los elementos involucrados.

Page 41: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

41

7. RECURSOS

7.1. XAMPP:

Es la herramienta principal para llevar acabo el desarrollo de este proyecto ya que proporciona las bases sobre las cuales se instalan cada uno de los componentes que conforman este proyecto.

“XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor Web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia GNU y actúa como un servidor Web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X” (XAMPP, 2018).

XAMPP es una plataforma cuenta con los servicios de Apache, MySQL, Filezilla, Mercury y Tomcat lo que hace de esta herramienta el candidato perfecto para trabajar herramientas con diferentes enfoques en el desarrollo web, permitiendo crear un espacio para la instalación de la plataforma E-Learning que se desee trabajar y los demás complementos que se requieran ya sea para crear el componente de gestión de video o permitir su conexión.

7.2. Apache

Apache se encuentra incluido en la configuración y proceso de instalación proporcionado por XAMPP lo que proporciona la configuración y entorno en el cual se basa la instalación de muchas plataformas E-Learning, como es el caso de la plataforma de gestión de aprendizaje Moodle.

“Apache HTTP Server Project es un esfuerzo de desarrollo de software colaborativo destinado a crear una implementación de código fuente robusta, comercial, funcional y de libre disponibilidad de un servidor HTTP (Web). El proyecto es administrado conjuntamente por un grupo de voluntarios ubicados en todo el mundo, que utilizan Internet y la Web para comunicar, planificar y desarrollar el servidor y su documentación relacionada.” (What is the Apache HTTP Server Project?, 2018).

Page 42: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

42

7.3. MySQL

En términos generales MySQL es un sistema de gestión y administración de bases de datos relacionales que se desarrolla bajo una licencia dual (Licencia pública general y Licencia comercial) por Oracle Coorporation. Estos sistemas de administración de bases de datos proporcionan estructuras que mantienen organizada la información que se desea almacenar, además de proporcionar sentencias de búsqueda, ordenamiento y control con una sintaxis accesible para múltiples lenguajes de programación, haciendo que MySQL sea muy utilizado en aplicaciones web y aplicaciones de escritorio.

“MySQL es la base de datos de código abierto más popular del mundo. Con su rendimiento, confiabilidad y facilidad de uso comprobados, MySQL se ha convertido en la principal opción de base de datos para aplicaciones basadas en la Web, utilizada por propiedades web de alto perfil como Facebook, Twitter, YouTube, y los cinco principales sitios web. Además, es una alternativa extremadamente popular como base de datos integrada, distribuida por miles de ISV y OEM” (About MySQL, 2018).

7.4. Tomcat

La herramienta de Tomcat al incluirse con el paquete de instalación de XAMPP proporciona mediante los múltiples servicios de comunicación los recursos requeridos para permitir la comunicación entre la estructura de la plataforma E-Learning y el componente con la funcionalidad de gestión de video; esto sin “acoplar” la funcionalidad del componente con la vista del módulo dentro de la plataforma E-Learning.

“El software Apache Tomcat® es una implementación de código abierto de las tecnologías Java Servlet, JavaServer Pages, Java Expression Language y Java WebSocket. Las especificaciones Java Servlet, JavaServer Pages, Java Expression Language y Java WebSocket se desarrollan bajo Java Community Process” (Apache Tomcat, 2018).

7.5. Maven

Maven es en su mayoría conocido por ser una herramienta de gestión y producción de proyectos de Java; algunas de las características que más destacan de esta herramienta son las relacionadas con la estandarización de la estructura de directorios y la capacidad de reutilización e integración que tienen sus proyectos.

Page 43: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

43

Ya que dentro del proyecto se propone la utilización de los protocolos de comunicación proporcionados por Tomcat que tiene un amplio apoyo para aplicaciones desarrolladas en Java, se propone de igual forma el uso de Maven por su organización de los proyectos y capacidad de gestión de los mismos garantizando que el componente generado sea lo más sólido posible en cuanto a su estructura.

“Apache Maven es una herramienta de gestión y comprensión de proyectos de software. Basándose en el concepto de un modelo de objeto de proyecto (POM), Maven puede gestionar la compilación, los informes y la documentación de un proyecto a partir de una pieza central de información” (What is Maven?, 2018).

7.6. YouTube API

Esta API es una aplicación desarrollada por Google que permite la conexión con los diferentes servicios que proveen; cuenta con múltiples funcionalidades y se pueden llamar con diversos lenguajes de programación; para acceder a los servicios de esta API, se requiere de una cuenta en Google para obtener unas claves de autorización y acceder a los servicios proporcionados desde una aplicación diferente.

Esta API de YouTube además de las búsquedas de videos también permiten realizar labores como publicar un boletín de un canal, agregar un video destacado, recuperar videos subidos por el usuario, crear una lista de reproducción búsquedas por palabras claves o por temas, agregar una suscripción a un canal, subir un video y actualizar un video.

Se propone el uso de esta API en específico por el amplio soporte que tiene para diversos lenguajes de programación y por la variedad de funcionalidades que se pueden obtener, desde búsquedas por distintas categorías hasta la creación de una lista de reproducción; el proyecto se centra en la búsqueda por palabra clave, pero es posible ampliar su funcionalidad gracias a la estructura diseñada por esta API.

7.7. Eclipse

Eclipse es una plataforma de software compuesto por un conjunto de herramientas de programación de código abierto multiplataforma para desarrollar diferentes aplicaciones de tipo “cliente enriquecido” que es el opuesto directo de las aplicaciones basadas en navegadores; la plataforma de Eclipse es utilizada en su mayoría para desarrollar entonos de desarrollo integrados (IDE).

Las características anteriormente mencionadas son las que hacen a esta plataforma la mejor para desarrollar proyectos basados en la herramienta de gestión Maven,

Page 44: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

44

por su compatibilidad y entorno de trabajo compatible con múltiples lenguajes de programación.

7.8. Java Bridge

La aplicación denominada Java Bridge proporciona una especie de comunicación entre dos lenguajes de programación que a primera vista no se relacionan en nada; proporcionando la posibilidad de crear aplicaciones con lógica en Java y que pueden ser ejecutadas desde aplicaciones realizadas en PHP.

“Un front-end de PHP está contenido en, o asociado con, un back-end de Java. La interfaz inicial invocada utiliza HTTP / XML para invocar procedimientos / métodos de Java de la ejecución de la parte final. Tanto el front-end como el back-end establecen una continuación que puede ser llamada en cualquier momento desde la otra continuación. Por ejemplo, los procedimientos del entorno PHP actual o de cualquier objeto PHP pueden ser llamados por Java, siempre que se establezca la conexión” (Java Bridge How it Works, 2018).

En el proyecto se proponen las plataformas de Moodle y Chamilo para interactuar con el componente de gestión de video para desarrollarlo en Java, por lo tanto, ya que tanto como Moodle y Chamilo están desarrollados en lenguaje PHP la herramienta Java Bridge funciona como puente entre estos dos elementos funcionando sobre la herramienta de Tomcat, haciendo de este el elemento principal para establecer la comunicación entre la vista de la plataforma E-Learning y el componente con funcionalidad de gestión de video. El motivo principal para implementar dos plataformas de gestión de contenidos de aprendizaje diferentes es demostrar la capacidad que tiene el componente de video de operar en cualquier plataforma sin interferir en las funcionalidades básicas de la plataforma de gestión de contenidos de aprendizaje, demostrando también la posibilidad de crear componentes que puedan ser integrados en múltiples plataformas.

Page 45: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

45

8. DESARROLLO DEL COMPONENTE SOFTWARE PARA INTEGRACION DE FUNCIONALIDADES DE DIFUSION

DE VIDEO CON PLATAFORMAS DE GESTION DE CONTENIDOS DE APRENDIZAJE

8.1. Diseño de la aplicación

Los diagramas de la aplicación se utilizan para mostrar el diseño, comportamiento, estructura e interacción de los diferentes componentes involucrados en el desarrollo de este proyecto. Los diagramas utilizados son: el diagrama de casos de uso, el diagrama de clases, el diagrama de componentes, el diagrama de nodos, el diagrama de despliegue y un diagrama con el modelo relacional del proyecto.

8.1.1. Diagrama de casos de uso

En este diagrama se distinguen dos actores principales, los cuales son: el primero es el “estudiante” que se refiere al perfil de los usuarios que están aprendiendo el contenido de un curso en una plataforma de gestión de contenidos de aprendizaje, y el segundo es el “profesor”, este actor representa todos los perfiles disponibles en las plataformas de gestión de aprendizaje que puedan realizar cambios sobre un curso o tengan permisos de edición de la plataforma. Para las plataformas de Moodle y Chamilo se pueden apreciar los roles estándar y su equivalente a los roles anteriormente mencionados en la tabla 4: Tabla 4. Tabla de roles para Moodle y Chamilo.

Roles Plataformas

Profesor Estudiante

Moodle

Administradores del sitio

Rol de Mánager (Gestor) Rol de creador de curso

Rol de profesor

Rol de profesor no-editor

Rol de estudiante

Rol de invitado

Rol de usuario autenticado

Chamilo

Administrador de la plataforma

Profesor principal

Profesores del curso

Tutor

Estudiante

Fuente: (Roles de Moodle, 2018) (Roles de Chamilo, 2018)

Page 46: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

46

Una vez definidos los roles que desempeñan los actores involucrados en el desarrollo, se pueden definir las funcionalidades a las que cada uno tiene acceso, el actor denominado “estudiante” solo puede acceder a las funcionalidades de selección de una referencia de video previamente almacenada y si lo desea puede visualizar toda su información asociada; por otra parte el actor “profesor” puede acceder a las funcionalidades de búsqueda de videos por palabras clave, selección de una referencia de video previamente almacenada, registro de una nueva referencia de video donde se crear un perfil con la información básica del video que se está referenciando para que pueda ser almacenado posteriormente, y por último, puede eliminar una referencia de video que ya se encuentra almacenada; en la figura 14 se puede apreciar lo anteriormente descrito:

Figura 14. Diagrama de casos de Uso.

Fuente: Elaboración propia. Enterprise Architect Trial Versión 14.0

8.1.2. Diagrama de clases

El diagrama de clases se enfoca principalmente en mostrar la estructura del componente JAVA que contiene las funcionalidades de búsqueda de videos con el API de YouTube, en este diagrama se muestran las relaciones existentes entre las diferentes clases que conforman este componente; la clase principal se denomina “BuscadorVideo”, su funcionalidad depende de los archivos “pom.xml” y “youtube.properties”, permite la creación de objetos llamados “Video” y su

Page 47: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

47

funcionalidad es utilizada por la clase “VentanaPrototipo” para llevar a cabo pruebas de búsqueda sin acceder a las plataformas de gestión de contenidos de aprendizaje.

Figura 15. Diagrama de clases.

Fuente: Elaboración propia. Enterprise Architect Trial Versión 14.0

8.1.3. Diagrama de componentes

En el diagrama de componentes se pueden identificar como primer componente el “NavegadorWeb”, el cual envía una solicitud de conexión al componente denominado ”PlataformaE-Learning” para ingresar a las plataformas de Moodle o Chamilo que se encuentran instaladas en el servidor web Apache, para ello el navegador web debe conectar con “ServidorWebApache” lo que permitirá acceder a “PlataformaE-Learning”. En este punto, “PlataformaE-Learning” se puede conectar con otros dos componentes, el primero de ellos es “SistemaGestionBasesDeDatosMySQL” el cual contiene los componentes relacionados con la base de datos en la que se pueden almacenar referencias de video encontradas, dentro de este componente se encuentra el componente denominado “RepositorioReferenciasVideos” para acceder a la base de datos específica encargada del almacenamiento de información de las referencias de video obtenidas mediante la conexión con los componentes “Información” y “Plataforma” que representan las tablas dentro de la base de datos que almacenan la información obtenida. El segundo componente es el encargado de las funcionalidades de búsqueda de videos, ya que las solicitudes enviadas desde “PlataformaE-Learning” deben efectuar el siguiente recorrido: primero enviar una solicitud de conexión a “ApacheTomcat”, esto permitirá ingresar a “JavaBridge” el

Page 48: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

48

cual contiene todas las funcionalidades del componente JAVA con las funciones de búsqueda; una vez establecida la conexión con “JavaBridge” se envía la solicitud al componente denominado “ComponenteJava” el cual con las parámetros de búsqueda obtenidos de “PlataformaE-Learning” envía una solicitud de acceso a los servicios de YouTube por medio de “YouTubeLibrary” el cual permite realizar una conexión mediante solicitudes HTTP con “YouTubeAPI” que representa el API que permite acceder a los servicios de Google y los resultados de YouTube, como se observa en la figura 16.

Figura 16. Diagrama de Componentes.

Fuente: Elaboración propia. Enterprise Architect Trial Versión 14.0

8.1.4. Diagrama de nodos

En figura 17 se pueden apreciar los nodos que componen este proyecto, donde el primer nodo que se aprecia es el correspondiente al “PC-Cliente” donde mediante una conexión Localhost es posible acceder al “ServidorWebApache” que a su vez va a permitir el acceso a la “PlataformaE-Learning” donde se encuentra instalada la aplicación con las funcionalidades de búsqueda de videos; el nodo “PlataformaE-Learning” permite acceder a los servicios de búsqueda de YouTube por medio del nodo “YouTubeAPI” lo que permite acceder a los servicios de “ServidorYouTube” mediante comandos HTTP para obtener una respuesta a una solicitud de búsqueda;

Page 49: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

49

y se puede acceder a un gestor de bases de datos para almacenar las referencias de material de video que un usuario considera valiosas para la enseñanza de un curso.

Figura 17. Diagrama de Nodos.

Fuente: Elaboración propia. Enterprise Architect Trial Versión 14.0

8.1.5. Diagrama de despliegue

El diagrama de despliegue contiene la conexión existente entre los diferentes elementos que componen el proyecto representado en tiempo de ejecución donde destacan los elementos “cliente”, “servidor”, “servidor bases de datos” y “servidor YouTube”, con “cliente” representando el navegador web con el que se accede a la plataforma de gestión de contenidos de aprendizaje, “servidor” conteniendo todas las funciones de la plataforma de gestión de contenidos de aprendizaje y el componente con funcionalidades de búsqueda, el “servidor de bases de datos” se encarga del almacenamiento de las referencias de video que un usuario seleccione y “servidor YouTube” como el encargado de generar las respuestas solicitadas por una búsqueda desde la plataforma de gestión de contenidos de aprendizaje. Lo anteriormente descrito se puede apreciar en la figura 18:

Page 50: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

50

Figura 18. Diagrama de Despliegue.

Fuente: Elaboración propia. Enterprise Architect Trial Versión 14.0

8.1.6. Diagrama Entidad-Relación

El diagrama Entidad-Relación enseña la estructura implementada en el desarrollo de la base de datos que contiene toda la información de las referencias de video que se deseen almacenar, este diagrama contiene dos tablas para el almacenamiento básico de las referencias almacenadas, la entidad “información” se refiere a las tablas con la información básica de la referencia de video almacenada, y la entidad “plataforma” contiene el nombre de todas las plataformas que han tenido acceso a esta herramienta; estas entidades se encuentran relacionadas de tal forma que una plataforma puede tener una o más referencias de video, mientras que una o varias referencias de video solo pueden tener asignada una sola plataforma. En la figura 19 se puede apreciar lo anteriormente descrito:

Page 51: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

51

Figura 19. Diagrama Entidad-Relación

Fuente: Elaboración propia. Enterprise Architect Trial Versión 14.0

8.2. Creación de un nuevo curso en las plataformas de gestión de contenidos de aprendizaje

La creación de un nuevo curso para una plataforma de gestión de contenidos de aprendizaje es la única forma para interactuar con las diferentes herramientas empleadas para la enseñanza, estas herramientas pueden ser las que están por defecto en la plataforma, o una herramienta desarrollada externamente a la plataforma para ser integrada posteriormente. Por esta razón la creación de un curso es fundamental para interactuar con las múltiples herramientas que se presentan para acceder a todo contenido relacionado con el aprendizaje.

8.2.1. Nuevo curso en Moodle

Para crear un curso nuevo en Moodle se debe iniciar sesión como administrador o con una cuenta de usuario con los permisos apropiados para crear un nuevo curso; una vez iniciada la nueva sesión con el perfil de usuario apropiado se debe acceder a la opción “Site administration” que se encuentra en la página principal una vez se inicie sesión; enseguida se debe acceder a la opción “Courses” donde se puede apreciar las diferentes configuraciones que se pueden realizar sobre los cursos en general, la visualización de las opciones de los cursos es la figura 20:

Page 52: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

52

Figura 20. Vista de la configuración de los cursos de Moodle.

Fuente: Plataforma Moodle versión 3.4.1. Para iniciar con la creación de nuevo curso se debe ingresar a la opción “Manage courses and categories”, en esta opción se visualizara una ventana con las diferentes categorías a las que puede pertenecer un curso, así mismo como la posibilidad de crear un nuevo curso dentro de cada una de las categorías actualmente disponibles; la instalación de la plataforma tiene por defecto una categoría denominada “Miscellaneous” y esta categoría cuenta con las opciones de crear un nuevo curso y visualización de la lista de los cursos que ya estén creados bajo esta categoría; para crear un nuevo curso se debe dar en la opción “Create new course” en la categoría deseada. La ventana anteriormente descrita se puede apreciar de la siguiente manera (figura 21):

Figura 21. Ventana con las categorías y cursos de Moodle

Fuente: Plataforma Moodle versión 3.4.1. Para crear un nuevo curso se requiere completar un formulario con una serie de datos correspondientes al curso que se quiere crear, algunos de los datos que se requieren son: nombre del curso, nombre abreviado del curso, la categoría a la cual

Page 53: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

53

pertenecerá el curso, las fechas de inicio y final del curso, un numero id del curso y una descripción del contenido que se encontrara dentro del curso. El formulario anteriormente descrito se completó de la siguiente forma como se muestra en la figura 22:

Figura 22. Formulario con los datos de un nuevo curso.

Fuente: Plataforma Moodle versión 3.4.1. Después de completar el formulario con los datos básicos del curso se pueden guardar los cambios realizados con la opción “Save and return” para crear un curso y regresar a la ventana mostrada en la figura 26, o se pueden guardar los cambios con la opción “Save and display” para crear un curso y visualizar la ventana del curso que se acaba de crear.

8.2.2. Nuevo curso en Chamilo

La creación de un nuevo curso en Chamilo requiere de iniciar sesión en la plataforma con un usuario con los permisos apropiados, para este caso se inicia con el perfil del administrador que tiene acceso a todas funcionalidades y opciones de configuración de la plataforma; una vez iniciada la sesión como el usuario administrador se puede apreciar que en la página principal hay una serie de pestañas que redirigen a diferentes opciones dentro de la plataforma, para crear un curso se debe ingresar en la pestaña “administración” donde se despliegan todas las opciones disponibles para un administrador en diferentes aspectos, desde la creación de un nuevo usuario hasta la administración de recursos de la plataforma; para la creación de un nuevo curso se ingresa en la sección “Cursos” dentro de la

Page 54: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

54

pestaña “Administración” y por último se selecciona la opción “Crear un curso”, la figura 23 muestra la ventana descrita anteriormente:

Figura 23. Opciones para crear un nuevo curso en Chamilo.

Fuente: Plataforma Chamilo versión 1.11.6. Una vez seleccionada la opción para crear un nuevo curso se va a generar un formulario que se debe completar con la información básica del curso, este formulario requiere únicamente de un título para el curso, los demás parámetros son opcionales limitados a generar el metadato del curso, el formulario se puede completar de la siguiente manera (figura 24):

Page 55: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

55

Figura 24. Información para crear un nuevo curso en Chamilo.

Fuente: Plataforma Chamilo versión 1.11.6. El curso creado no requiere de asignarse a una categoría ni de utilizar una plantilla ya que la configuración básica es suficiente para permitir la integración de componentes externos y su funcionamiento correcto, por último se pueden guardar los cambios realizados para crear el nuevo curso de nombre “ComponenteVideo”.

8.3. Creación del componente con funcionalidades de difusión de video.

Después de confirmar la creación exitosa de un nuevo curso para las plataformas de Chamilo y Moodle el siguiente paso consiste en el desarrollo del componente con funcionalidades de video. El componente de video que se desarrolla funciona gracias a una API proporcionada por Google para tener acceso a los servicios de búsqueda de YouTube, donde se permite obtener información como: el título del video, el id del video y el URL de la miniatura del mismo; esta API se puede emplear en múltiples lenguajes de programación como C#, PHP y JAVA. El componente con funcionalidades de difusión de video se desarrolla en JAVA bajo la estructura de MAVEN debido a la alta capacidad de reutilización de código.

Page 56: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

56

8.3.1. Acceder a los servicios del API de YouTube

Para obtener acceso a los servicios del API de YouTube se requiere de una cuenta de Google para registrar una aplicación en “Google Developers Console” que pueda enviar solicitudes de API; para registrar una nueva aplicación se debe crear un nuevo proyecto donde se solicitara el nombre del nuevo proyecto como se muestra a continuación en la figura 25:

Figura 25. Creación de un nuevo proyecto desde la “Google Developers Console”

Fuente: (Getting Started with the YouTube Data API, 2018) Después de crear un nuevo proyecto se debe acceder a la ventana servicios y buscar los servicios de “YouTube Data API V3” y “YouTube Analytics API“, como se muestra en la figura 26:

Figura 26. Servicios del API de YouTube.

Fuente: (Getting Started with the YouTube Data API, 2018)

Page 57: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

57

Una vez habilitados los servicios de YouTube adicionalmente se requiere de habilitar el API “Freebase API” para acceder al contenido almacenado en las bases de datos de YouTube como se muestra en la figura 27:

Figura 27. Servicios del API “Freebase API”

Fuente: (Getting Started with the YouTube Data API, 2018) Cuando los servicios anteriormente mencionados se encuentren habilitados se debe acceder a la sección de “credenciales” para obtener una clave que permite acceder a los servicios habilitados en el proyecto desde una aplicación externa; existen varios tipos de credenciales para acceder a los diferentes servicios, para este caso el tipo de credencial que se requiere utilizar es la “Clave de API”, tal y como se muestra en la figura 28:

Figura 28. Obtención de las credenciales de acceso a los servicios de Google.

Fuente: (Getting Started with the YouTube Data API, 2018)

Page 58: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

58

La clave obtenida debe aplicarse como parámetro dentro de la aplicación que quiera acceder a los servicios de YouTube ya que es lo que permite el ingreso desde un entorno de desarrollo externo.

8.3.2. Desarrollo del componente con funcionalidades de difusión de video

Este componente se desarrolla con la finalidad de ser integrado a las plataformas de Moodle y Chamilo mediante un conjunto de librerías que permiten establecer una conexión entre los lenguajes de programación de JAVA y PHP lo que hace posible acceder a las funcionalidades de búsqueda del componente desde la vista de cualquiera de las plataformas anteriormente mencionadas. El desarrollo de este componente se realiza en lenguaje de programación JAVA, y para cumplir con su funcionamiento se crean tres clases, un archivo de propiedades que hace posible la conexión del componente con los servicios proporcionados por YouTube y un archivo encargado de importar las librerías de YouTube y construir la estructura del proyecto. La primera de las clases que conforman el componente se llama “Video” que representa un objeto de video con las propiedades de título del video, un identificador único asignado por YouTube y el URL con la imagen de su respectiva miniatura; la segunda clase se llama “BuscadorVideo” que se encarga de realizar las solicitudes de las búsquedas y crear las listas que contienen los resultados obtenidos; y la tercera clase se denomina “VentanaPrototipo” esta clase se emplea para realizar pruebas desde fuera de la plataforma obteniendo resultados para diferentes casos de prueba. La clase “BuscadorVideo” para realizar las solicitudes a la API de YouTube requiere de una clave la cual se obtiene desde un archivo de propiedades denominado “youtube.properties” cuyo único contenido es una línea de código con la sentencia “youtube.apikey=” y la clave obtenida cuando se activaron las credenciales de acceso desde “Google Developers Console”. El último de los archivos involucrados en el desarrollo se denomina “pom.xml” el cual contiene información sobre las librerías requeridas por el proyecto, sobre todo aquellas que utilizan para acceder a las funciones del API de YouTube, también cumple con la función de generar metadatos de la aplicación como la versión de la aplicación, el nombre del proyecto o las dependencias que requiere para funcionar. El funcionamiento de la aplicación una vez esté integrada con las plataformas de gestión de contenidos de aprendizaje se resume de la siguiente manera con los

Page 59: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

59

usuarios iniciando la aplicación en el momento en que acceden a la herramienta desde algún curso, enseguida tendrán la opción de ingresar a buscar video donde se revisa el rol del usuario para acceder a esta opción, ya que solo aquellos usuarios con capacidad de editar el entorno de trabajo pueden ingresar a esta opción, también se puede visualizar el contenido que se encuentre almacenado; si el usuario desea ingresar para buscar un video tiene la opción de buscar, lo que desplegara los resultados obtenidos, seleccionar una opción desplegada para obtener mayor información sobre el material seleccionado y posteriormente almacenar una referencia del video seleccionado. Por otro lado si el usuario desea ver el contenido almacenado se pueden observar todos los videos almacenados, seleccionar los videos de interés para desplegar la información del mismo y si el perfil del usuario permite realizar modificaciones, es posible eliminar la referencia almacenada.

8.3.2.1. Estructura del código fuente del componente

Las clases empleadas en el desarrollo del componente son:

1. BuscadorVideo.java: Esta clase realiza la función principal de búsqueda y envió de solicitudes al API de YouTube, su función principal se denomina “BuscarVideo” que recibe dos parámetros los cuales son “nombreVideo” y “numVideos” que hacen referencia a la palabra clave para buscar videos y el número máximo de resultados que se desean obtener por la aplicación, en esta función se realiza la lectura del archivo “youtube.properties” para obtener la clave correspondiente que permitirá acceder a los servicios del API, una vez establecida la conexión se procede a enviar una solicitud de búsqueda con la palabra clave que ingresa el usuario y estableciendo también ciertos parámetros para realizar la búsqueda como el orden en que se obtienen los resultados (relevancia, fecha de publicación, entre otros) y los valores que se quieren obtener de los videos (título, id, imagen), una vez establecidos estos parámetros se realiza un análisis del número de resultados a imprimir, si el valor es inferior a 50 se realiza una búsqueda y creación de una lista que contiene los primeros 50 resultados obtenidos y ordenados por relevancia; si el número es superior a 50 se realiza una búsqueda de los primeros 50 resultados obtenidos se crea la lista con su contenido y se realiza un “cambio de página” como se haría en la interfaz de búsqueda de YouTube, para obtener la segunda parte de los resultados y añadirlos a la lista con los resultados previamente obtenidos, con las listas creadas se realizan dos funciones que permiten visualizar los resultados obtenidos desde la plataforma de gestión de contenidos de aprendizaje y permiten visualizar los resultados obtenidos desde la consola del entorno de desarrollo en Eclipse.

Page 60: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

60

2. Video.java: Esta clase es la representación del objeto “Video” con las propiedades de “id del video”, “título del video” y “miniatura del video”; con cada resultado obtenido por el método “BuscarVideo” de “BuscadorVideo” se crea un objeto de tipo video para posteriormente obtener y visualizar cada una de sus propiedades ya sea en la consola de Eclipse o en las plataformas de Moodle o Chamilo.

3. VentanaPrototipo.java: Esta clase permite realizar una simulación desde la consola de Eclipse permitiendo el ingreso de palabras clave y un número de resultados máximo para realizar una búsqueda, su funcionalidad radica en establecer un punto de control para modificaciones futuras sin acceder al código fuente de los archivos contenidos en las plataformas en las que se integre el componente.

8.3.2.2. Archivos adicionales

Para que el componente pueda funcionar apropiadamente requiere de los siguientes archivos:

1. Youtube.properties: Este archivo es solicitado por la clase “BuscadorVideo” ya que contiene la clave con la que se pueden acceder a los servicios de búsqueda de YouTube.

2. Pom.xml: Este archivo se crea por defecto en los proyectos que utilizan la estructura de MAVEN, contiene información de los metadatos de la aplicación y las dependencias que se requieran, para realizar las labores de búsqueda de YouTube se utilizó una estructura proporcionada por (Getting Started with the YouTube Data API, 2018) que incluye la información requerida para establecer la conexión con los servicios de YouTube.

8.3.3. Instalación del puente entre JAVA y PHP

Antes de dar inicio con el proceso de instalación del componente desarrollado en JAVA dentro de las plataformas de gestión de contenidos de aprendizaje se requiere de instalar la aplicación que permite llamar las funciones del componente desarrollado en JAVA con funciones desarrolladas en lenguaje de programación PHP. La aplicación requerida para establecer esta conexión se llama “JavaBridge”, para utilizarla se requiere descargar el archivo de la aplicación desde su lugar de descarga (Java Bridge How it Works, 2018) el archivo descargado se denomina “JavaBridge.war”, este archivo debe integrarse en Tomcat para que pueda funcionar el cual fue instalado con XAMPP. Para instalar esta aplicación se requiere acceder a la carpeta “Tomcat” dentro del directorio donde se instaló XAMPP, una vez dentro

Page 61: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

61

de la carpeta de Tomcat se debe dirigirse a la carpeta “webapps”, una vez dentro se debe copiar el archivo “JavaBridge.war” dentro de esta carpeta. Una vez confirmado que el archivo “JavaBridge.war” se copió dentro de la dirección anteriormente mencionada se deben iniciar los servicios de Tomcat desde el panel de control de XAMPP, esto garantiza que el archivo copiado desplegara su contenido creando una carpeta adicional en la misma ubicación; el resultado obtenido debe ser el mostrado en la figura 29, dando por terminado el proceso de instalación de la aplicación:

Figura 29. Instalación de JavaBridge en Tomcat.

Fuente: Elaboración propia En este punto se requiere que el componente desarrollado en JAVA ya se encuentre en formato “.jar”; para esto se deben seguir una serie de pasos desde el entorno de desarrollo de Eclipse los cuales requieren ejecutar la aplicación con la opción “run as…” disponible para los proyectos MAVEN, estos comandos se ejecutan en el siguiente orden: “clean” permite limpiar la carpeta del proyecto de cualquier versión anterior o archivos temporales, “compile” genera una carpeta denominada “target” donde se almacenan los archivos “.class” que ayudan a generar el ejecutable del proyecto, “test-compile” genera los archivos que permiten ejecutar pruebas a la estructura del proyecto garantizando que sea la apropiada para generar un archivo ejecutable, “test” genera una serie de pruebas por defecto de MAVEN que permiten determinar si el proyecto no presenta ningún error en su estructura o ejecución y por último, “install” este comando genera el archivo “.jar” dentro de la carpeta “target”. Después de generar el archivo “.jar”, se debe integrar en la aplicación “JavaBridge” para que las aplicaciones desarrolladas en php puedan acceder a sus funcionalidades, para ello se debe ubicar el ejecutable recién creado dentro de las

Page 62: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

62

carpeta “JavaBridge” en la carpeta de Tomcat; la carpeta de destino de la aplicación es “lib” que se encuentra dentro de la carpeta “WEB-INF”, una vez este el archivo “.jar” dentro de la ubicación anteriormente mencionada se deben iniciar los servicios de Tomcat desde el panel de control de XAMPP para garantizar que el archivo se ha integrado a la aplicación y pueda ser llamado desde cualquier aplicación con lenguaje de programación php.

8.3.4. Integración del componente en las plataformas de gestión de contenidos de aprendizaje

Con el componente funcional se puede iniciar con el proceso de integración en las plataformas de gestión de contenidos de aprendizaje de Moodle y Chamilo; ambas plataformas permiten instalar aplicaciones externas mediante la modalidad de “Plugins”, cada una manejando su propia estructura de archivos para instalar nuevas funcionalidades desarrolladas de forma externa a la plataforma.

8.3.4.1. Instalación de un componente en Moodle

La primera plataforma en la que se integra el componente con funcionalidades de difusión de video es Moodle, para instalar un nuevo componente en las herramientas de Moodle se debe localizar primero la carpeta donde se almacenan todos estos recursos, para ello se debe dirigir a la carpeta donde se instaló XAMPP, y localizar la ubicación de Moodle en “htdocs”, una vez dentro se debe ingresar a la carpeta denominada “mod”, ya que es en esta ubicación donde se almacenan todas las carpetas con la estructura de las diferentes herramientas disponibles en la plataforma para integrar en un curso. Para la instalación de una nueva herramienta en Moodle se requieren de diversos archivos que cumplen con las siguientes funcionalidades: acceder y registrar en la base de datos donde se almacena la plataforma la nueva herramienta, la configuración básica de la herramienta cuando se desee incorporarla en un nuevo curso, creación de la información básica de la plataforma para generar los metadatos con el nombre y la versión del mismo y creación de una vista de la herramienta una vez este incorporada dentro de un curso para ser utilizada. Los archivos básicos para la instalación de una nueva herramienta son:

1. Backup: Es una carpeta donde se almacenan todos los archivos que definen el comportamiento de la herramienta en caso se desee realizar una restauración de la plataforma definiendo la información que se desea almacenar para no instalar nuevamente esta herramienta dentro de la plataforma.

Page 63: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

63

2. DB: Es una carpeta que contiene los archivos de instalación de la herramienta para ser incorporada en la plataforma, un ejemplo es el archivo “install.xml” donde se incluyen las sentencias que asocian la información de la herramienta con las tablas de la base de datos de la plataforma, el archivo “upgrade.php” se asegura de que la herramienta se encuentre en la última versión disponible.

3. Lang: En esta carpeta se almacenan las diferentes traducciones de los componentes de la herramienta dentro de la plataforma en distintos idiomas.

4. Pix: En esta carpeta se almacenan los archivos de imagen requeridos por la herramienta y su icono al momento de integrarse en un curso.

5. Lib.php: Es el archivo que permite hacer un llamado a las librerías de la plataforma.

6. Mod_form.php: Este archivo genera un formulario que permite realizar las configuraciones básicas de la herramienta cuando se desea crear dentro de un curso, permite asignarle un nombre, el tipo de encabezado que tendrá y los botones de acción de los que dispondrá.

7. Index.php: Es el archivo que realizara el llamado a una instancia de la herramienta que se haya creado dentro del curso.

8. View.php: Este archivo contiene los elementos visuales y funcionalidades de la herramienta; este archivo se llama “Index.php” con los parámetros correspondientes a una instancia de la herramienta. Es el archivo que contiene la visualización de la herramienta desde la interfaz de la plataforma, permite acceder a las opciones que permiten buscar videos y de visualizar los videos que se encuentren almacenados, en este archivo también se realiza una revisión del perfil del usuario que accede a la aplicación para habilitar determinadas funcionalidades, por ejemplo las funciones de buscar video no estarán disponibles para todos los usuarios a no ser que tengan permisos para editar la herramienta.

9. Version.php: Contiene la información básica de la herramienta, nombre, versión, entre otros.

Los archivos anteriormente nombrados se pueden obtener de platillas proporcionadas por la documentación de Moodle (NEWMODULE Documentation, 2018). Una vez se encuentre instalada la nueva herramienta dentro de la plataforma se puede comenzar con el proceso de integración del componente desarrollado en JAVA, para ello se requiere del archivo “view.php”, la instalación de la aplicación “JavaBridge” y la creación de nuevos archivos para realizar las funciones de envió de datos al componente JAVA, visualización de resultados obtenidos y almacenamiento de información.

Page 64: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

64

Para garantizar que la herramienta integrada en Moodle pueda acceder a las funcionalidades del componente JAVA se requiere incluir un archivo denominado “Java.inc” en la carpeta del componente instalado en Moodle ya que se requiere de esta librería para generar una conexión con las diferentes funciones JAVA del componente con funcionalidades de difusión de video, este archivo “Java.inc” viene incluido en la instalación de la aplicación “JavaBridge”. Por último, se deben reiniciar los servicios de Apache en el panel de control de XAMPP, para volver a ingresar a la plataforma donde se puede apreciar un mensaje informando de nuevas aplicaciones que se desean instalar, si la herramienta que se desea instalar está bien configurada el siguiente paso es aceptar y continuar con la instalación, permitiendo a los usuarios su uso en los diferentes cursos creados en Moodle.

Figura 30. Instalación exitosa de una herramienta externa en Moodle.

Fuente: Elaboración propia.

8.3.4.2. Instalación de un componente en Chamilo

La instalación de nuevos recursos en la plataforma de Chamilo es similar al proceso utilizado en Moodle, ya que permite implementar nuevas funcionalidades mediante la integración de “plugins”. En el caso de Chamilo para integrar una nueva funcionalidad a la plataforma como un “plugin” se debe acceder a la carpeta raíz de la plataforma, esta se encuentra en la carpeta “htdocs” donde se encuentra instalado XAMPP, una vez dentro de la carpeta raíz de Chamilo se debe ingresar a la carpeta “plugin”, en esta carpeta se contienen todas las aplicaciones que se instalan como “plugins” dentro de las funcionalidades de Chamilo, para crear un nuevo “plugin” en

Page 65: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

65

la plataforma se debe crear una carpeta nueva con el nombre de la aplicación, en este caso se creó la carpeta “youtube”. Una vez creada la carpeta con el nombre de la nueva aplicación, se debe ingresar a esta nueva carpeta y crear una serie de archivos para instalar una nueva aplicación, estos archivos tienen la funcionalidad de crear la interfaz de la aplicación dentro de la plataforma y su respectiva instalación; los archivos anteriormente mencionados son:

1. Lang: Esta carpeta contiene los archivos con las interpretaciones en diferentes idiomas para los componentes de la aplicación dentro de la plataforma.

2. Pix: Contiene todos los elementos visuales como imágenes utilizadas por la aplicación para ser integrados en la plataforma.

3. YouTubePlugin.php: En este archivo se contienen las instrucciones de creación, instalación y desinstalación de la aplicación dentro de la plataforma, este archivo es llamado por diferentes funciones ubicadas en otros archivos.

4. Plugin.php: Este archivo contiene la información de la aplicación para construir los metadatos de la aplicación, realiza el llamado a “YoutubePlugin.php” para asignar los metadatos a la aplicación.

5. Config.php: Contiene la sentencia que hace referencia a las librerías de implementadas en la plataforma para la creación de “Plugins”.

6. Install.php: En este archivo se contiene la función que permite la instalación de la plataforma y su posterior almacenamiento en la base de datos de la plataforma, realiza un llamado a “YoutubePlugin.php” para integrar la aplicación en cada uno de los cursos que ya estén creados o que puedan crear.

7. Unistall.php: Es la función inversa a la descrita en “install.php” ya que remueve todo contenido relacionado a la aplicación de las funcionalidades de la plataforma, también realiza un llamado a “YoutubePlugin.php” para remover la aplicación de cada uno de los cursos contenidos en la plataforma.

8. Readme.md: Es un archivo opcional que contiene una breve descripción de la aplicación instalada, este párrafo se muestra a los usuarios en el menú de activación de “Plugins” que se encuentra incluido en Chamilo.

9. Start.php: Es el archivo que genera la vista de la herramienta dentro de los curso, en este archivo se realiza el reconocimiento del perfil del usuario que ingresa a la herramienta para habilitar determinadas funciones, ya algunas funciones solo estarán disponibles para usuarios con permisos de edición en los recursos de la plataforma. Al igual que en Moodle, este archivo permite acceder a las opciones de buscar videos y visualizar contenido almacenado, aplica las mismas restricciones que Moodle para habilitar las funciones de búsqueda de videos.

Page 66: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

66

Para finalizar la instalación se requiere reiniciar la plataforma para asegurar que los cambios realizados se almacenen en la plataforma. Ya que la herramienta implementada es un “plugin” se debe habilitar su funcionalidad para incorporarse en los cursos que se creen en la plataforma, para ello se debe dirigir a la pestaña “administración”, dirigirse a la sección “Plataforma” y seleccionar la opción “Plugins”, esto permitirá ingresar a una ventana que contiene un listado con todas las herramientas que se pueden habilitar en Chamilo, en este listado se debe buscar el nombre de la aplicación instalada, activar su casilla de selección y seleccionar la opción “Habilitar los plugins seleccionados”, ya que la aplicación no cuenta con configuraciones adicionales, se puede ingresar a un curso y observar que la aplicación se encuentra habilitada.

Figura 31. Instalación exitosa de una herramienta externa en Chamilo.

Fuente: Elaboración propia.

8.3.4.3. Archivos universales del componente

Los siguientes archivos son utilizados en todas las plataformas que deseen instalar este componente en sus funcionalidades ya que son independientes de la estructura que maneja cada plataforma, esto archivos son:

1. Buscar.php: Corresponde a la funcionalidad de búsqueda de videos, se accede a él mediante la opción correspondiente en “view.php” para el caso de Moodle y en “start.php” para el caso de Chamilo, este archivo permite ingresar a una nueva ventana con la interfaz de la aplicación, en la cual un usuario puede ingresar una palabra clave para realizar una búsqueda, también cuenta con la opción de ingresar la cantidad de resultados que desea que se desplieguen; en este archivo se realiza un envió de datos al componente desarrollado en JAVA del cual se genera una lista con los resultados obtenidos, para la visualización de los resultados se usa una barra horizontal que muestra las imágenes miniatura de los resultados obtenidos. Para que los usuarios puedan ver más información de los resultados

Page 67: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

67

obtenidos se debe seleccionar unas de las imágenes mostradas lo que permitirá ver su imagen a mayor escala y con la posibilidad de reproducir su nuevo contenido, también se muestra su título correspondiente y para el caso que un usuario encuentre interés en el material seleccionado se le permitirá crear una descripción sobre el contenido del video, una calificación del contenido y hacia qué tipo de usuarios está dirigido el contenido del video; esto con el fin de almacenar la referencia del video en una base de datos para que pueda ser visualizado después.

2. Visualizar.php: En este archivo se desarrolla la funcionalidad de visualización de videos almacenados, esta función al igual que en “buscar.php” se debe acceder desde “view.php” en Moodle y desde “start.php” para Chamilo. En este archivo se genera una nueva vista donde un usuario debe elegir una de tres opciones de visualización de los videos almacenados: la primera categoría es “curso” la que permite acceder únicamente a los videos almacenados por la misma herramienta en que se desea visualizar, la segunda categoría es “Plataforma”, esta opción permite visualizar todos los videos almacenados desde cualquier recurso siempre y cuando se hayan registrado en la misma plataforma y la tercera categoría es “todos” donde se permitirá ver todos los videos almacenados sin importar el curso o la plataforma en que se guardó. Después de seleccionar una de estas categorías se desplegara una barra horizontal con las imágenes correspondientes a las miniaturas de los videos almacenados; si se desea acceder a su información se debe seleccionar una de las miniaturas mostradas lo que permitirá visualizar toda su información asociada (título, vinculo de acceso, descripción, calificación, entre otros), en este archivo se incluyó una mecánica de reconocimiento del perfil de usuario que ingreso al recurso, ya que si el usuario que ingreso tiene permisos para cambiar el contenido de la plataforma, el usuario puede eliminar el video seleccionado, de lo contrario no se mostrara esta opción.

3. GuardarInfo.php: Este archivo recibe datos desde “buscar.php” sobre la información que desea almacenar de un video, realiza un llamado a la base de datos creada para almacenar todas las referencias solicitadas por los usuarios, en esta base de datos se almacenan datos como: un identificador único para cada video, el título del video, la dirección URL de la miniatura del video, la descripción del video, el identificador del módulo donde se generó él envió de información, el tipo de usuario recomendado para recibir el contenido, la calificación correspondiente y la plataforma de gestión de contenidos de aprendizaje desde donde se almaceno la información.

4. EliminarInfo.php: Es la función inversa a la de “guardarInfo.php” ya que en este archivo se hace una solicitud para eliminar la información de una referencia de video.

Page 68: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

68

8.3.4.4. Creación de la base de datos del componente

Para almacenar las referencias de videos obtenidas por el componente, se decide crear una base de datos universal para garantizar que la información obtenida se pueda encontrar en una ubicación específica a la cual se pueda acceder desde cualquier plataforma que cuente con el componente instalado. Esta base de datos se crea utilizando las herramientas proporcionadas por XAMPP, donde se requiere activar los servicios de Apache y MySQL desde su respectivo panel de control; desde un navegador web se requiere ingresar a la dirección “localhost” para posteriormente ingresar a la pestaña “phpMyAdmin” para ingresar a la interfaz de administración de las bases de datos existentes. La nueva base de datos se llamara “Videos” y se le asignara el valor de cotejamiento por defecto (utf8_general_ci). Esta base de datos contiene dos tablas, las cuales son: la tabla “plataforma” que se utiliza para generar un listado de todas las plataformas que tengan instalado el componente y la tabla “información” donde se almacena toda la información de una referencia de video, desde su id, hasta su calificación. La tabla “información” contiene nueve espacios, los cuales son: “id” que funciona como identificador único de la referencia dentro de la tabla, “url” se refiere a la dirección de origen del video, “titulo” es el nombre del video, “imagen” contiene la dirección url de la imagen miniatura utilizada en el video, “descripción” contiene un párrafo breve con una descripción del contenido del video proporcionada por el usuario que almaceno el video en la base de datos, “modulo” hace referencia al curso en que se realizó la función de almacenamiento, es utilizado para la visualización de referencias por cursos, “tipoU” es el tipo de usuario al que está destinado el contenido del video, “calificación” es la valoración dada al video por el usuario que almaceno la referencia en la base de datos, y finalmente, “plataforma” almacena el nombre de la plataforma desde donde se almaceno la referencia, se utiliza para la visualización de videos por plataforma. La figura 32 hace referencia a la estructura manejada en la tabla de “información” dentro la base de datos videos:

Page 69: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

69

Figura 32. Estructura de la tabla “información”

Fuente: Elaboración propia. Interfaz XAMPP 7.2.7 La figura 33 hace referencia a la estructura manejada en la tabla de “plataformas” dentro la base de datos videos:

Figura 33. Estructura de la tabla “plataformas”

Fuente: Elaboración propia. Interfaz XAMPP 7.2.7

8.4. Pruebas de software

Las pruebas de software empleadas en este proyecto se llevaron a cabo durante diferentes etapas del ciclo de desarrollo del proyecto; estas pruebas se diseñaron para verificar la correcta funcionalidad de los diferentes componentes del proyecto de forma individual y de forma conjunta, las pruebas diseñadas se dividen en las siguientes categorías: las pruebas de unidad se diseñan para verificar las funcionalidades de los componentes de forma individual, las pruebas de integración verifican que los componentes involucrados en el desarrollo puedan interactuar adecuadamente entre ellos sin afectar la funcionalidad individual, la pruebas de validación buscan verificar el cumplimiento de los requerimientos establecidos para llevar a cabo este desarrollo y por último, las pruebas de sistema establecen casos de prueba donde se pone a prueba todo el desarrollo y sus componentes como un todo.

8.4.1. Pruebas de unidad

Para este proyecto las pruebas de unidad se aplican para verificar las funcionalidades del componente desarrollado en JAVA para confirmar el correcto

Page 70: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

70

funcionamiento de las funcionalidades de búsqueda y conexión con el API de YouTube, para llevar a cabo esta prueba se realizan búsquedas desde la consola de Eclipse donde se ingresan palabras clave y un número máximo de resultados obtenidos, la implementación de esta prueba para este componente es posible gracias a la clase “VentanaPrototipo.java” ya que su funcionalidad se centra en crear las simulaciones de búsquedas y obtención de resultados sin utilizar una interfaz adicional permitiendo la creación de múltiples situaciones donde se realiza la búsqueda de diferentes palabras claves con distintos rangos en los resultados mostrados y verificación de las restricciones estimadas por la API y el proyecto. En la tabla 5 se especifican los tipos datos de entrada que permite recibir el componente JAVA y las posibles salidas que se pueden generar al momento de ejecutar una búsqueda, para llevar a cabo esta prueba se requieren de dos datos de entrada correspondientes a la palabra clave de la búsqueda a realizar (entrada 1) y al número máximo de resultados obtenidos por la búsqueda (entrada 2), para obtener una salida acorde a los datos de entrada, donde puede ser una listado con resultados de búsqueda con diferentes longitudes o un error indicando que las entradas especificadas no aplican para la búsqueda solicitada. Tabla 5. Diseño prueba de unidad para el componente JAVA.

Entrada 1 Entrada 2 Salida

Frase corta

Tipo de dato String

Numero entre 1 y 100

Tipo de dato Double

Lista de resultados de la búsqueda

Frase corta

Tipo de dato Double

Numero entre 1 y 100

Tipo de dato Double

Lista de resultados de la búsqueda

Frase corta

Tipo de dato String

Frase corta

Tipo de dato String

La Entrada 2 no reconoce el valor ingresado.

Frase corta

Tipo de dato String

Número mayor a 100

Tipo de dato Double > 100

La Entrada 2 supera el número máximo de resultados obtenidos.

Frase corta

Tipo de dato String

Número menor a 1

Tipo de dato Double < 1

Entrada 2 no acepta el cero o números negativos.

Fuente: Elaboración propia. De la tabla anterior se puede concluir que la entrada 1 acepta datos de cualquier tipo ya que los reconoce como una cadena de caracteres, mientras que la entrada 2 requiere de valores numéricos que se encuentren en un rango determinado para obtener un listado de longitud igual al valor de la entrada 2 con resultados relacionados con la entrada 1.

Page 71: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

71

En la figura 34 se puede apreciar el resultado obtenido por la consola de Eclipse para el componente desarrollado en JAVA donde se muestra un listado de resultados obtenidos con el título del video, el id correspondiente al url y la dirección que contiene la imagen de su miniatura correspondiente, para llevar a cabo esta prueba se ingresó la palabra clave “angular” con un máximo de 25 resultados obtenidos:

Figura 34. Resultado obtenido de la prueba de unidad del componente JAVA.

Fuente: Elaboración propia. De la figura anterior se puede decir que el resultado de la prueba fue exitoso ya que muestra los resultados de una búsqueda por palabra clave lo que garantiza el correcto funcionamiento del componente con el API de YouTube

8.4.2. Pruebas de integración

Este tipo de pruebas se llevan a cabo después de verificar la correcta funcionalidad del componente desarrollado en JAVA y las plataformas de gestión de contenidos de aprendizaje de Moodle y Chamilo como elementos individuales; ya que en este punto del desarrollo se debe realizar la integración del componente JAVA dentro de las respectivas plataformas de gestión de contenidos de aprendizaje, para ello se debe realizar la instalación de la aplicación JavaBridge; una vez se encuentre instalada la aplicación en cada una de las plataformas junto con las configuraciones necesarias para instalar una herramienta externa en Moodle y Chamilo se pueden realizar las pruebas de integración correspondientes.

Page 72: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

72

Las pruebas de integración realizadas son las mismas tanto para la plataforma de Moodle como para la plataforma de Chamilo, estas pruebas consisten en la verificación del envió de datos desde las plataformas de gestión de contenidos de aprendizaje mediante la aplicación de JavaBridge al componente desarrollado en JAVA para posteriormente obtener una respuesta del componente con las funcionalidades de búsqueda con la API de YouTube; la prueba se considera exitosa si se logra demostrar que él envió de datos y obtención de resultados entre los componentes anteriormente nombrados es estable y coherente (solicitud de búsqueda y resultados obtenidos). En la tabla 6 se muestran los posibles datos de entrada para establecer el diseño de la prueba de integración; se requieren de dos entradas al igual que el caso anterior, la entrada 1 corresponde a la palabra clave de la búsqueda, la entrada 2 corresponde a la longitud de la lista de resultados obtenidos y se requiere de un tercer elemento correspondiente a la configuración del componente JAVA dentro de la estructura de JavaBridge (conexión), este elemento se refiere a la ubicación del componente JAVA dentro del directorio de archivos de JavaBridge. Tabla 6. Diseño prueba de integración.

Entrada 1 Entrada 2 Conexión Salida

Frase corta

Tipo de dato String

Numero entre 1 y 100

Tipo de dato Double

Ubicación del componente, correcto.

Lista de resultados de la búsqueda

Frase corta

Tipo de dato Double

Numero entre 1 y 100

Tipo de dato Double

Ubicación del componente, correcto.

Lista de resultados de la búsqueda

Frase corta

Tipo de dato String

Frase corta

Tipo de dato String

Ubicación del componente, correcto.

La Entrada 2 no reconoce el valor ingresado.

Frase corta

Tipo de dato String

Número mayor a 100

Tipo de dato Double > 100

Ubicación del componente, correcto.

La Entrada 2 supera el número máximo de resultados obtenidos.

Frase corta

Tipo de dato String

Número menor a 1

Tipo de dato Double < 1

Ubicación del componente, correcto.

Entrada 2 no acepta el cero o números negativos.

Frase corta

Tipo de dato String

Numero entre 1 y 100

Tipo de dato Double

Ubicación del componente, incorrecto.

La conexión no es posible por no encontrar el componente que se requiere.

Fuente: Elaboración propia.

Page 73: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

73

De la tabla anterior se puede concluir que la aplicación de los datos correspondientes a entrada 1 y entrada 2 presentan comportamientos similares en la prueba de unidad; siendo el elemento conexión aquel que aporta una nueva posibilidad de salida, donde la ubicación del componente JAVA en la estructura de archivos de JavaBridge determina la estabilidad de la conexión entre las plataformas de gestión de contenidos de aprendizaje y el componente desarrollado en JAVA. Para la demostración de la correcta integración de los diferentes componentes del proyecto se realizó él envió de información desde una de las plataformas de gestión de contenidos de aprendizaje hasta el componente JAVA mediante la aplicación JavaBridge obteniendo como resultado el listado de los resultados obtenidos en la interfaz de apache tomcat garantizando que la integración de los componentes ha sido establecida con éxito; la búsqueda anteriormente mencionada se realiza con los mismos parámetros de las pruebas de unidad, la palabra clave “angular” con un máximo de 25 resultados, ver figura 35:

Figura 35. Resultado obtenido de la prueba de integración.

Fuente: Elaboración propia. Con la figura anterior se puede concluir que la conexión establecida entre el componente JAVA y las plataformas de gestión de contenidos de aprendizaje se llevó a cabo con éxito.

Page 74: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

74

8.4.3. Pruebas de validación

Las pruebas de validación como se indica anteriormente son las pruebas que verifican si los requerimientos propuestos por el proyecto se cumplen; para el desarrollo de esta prueba se debe tener el desarrollo de la aplicación en etapas finales ya que esta prueba verifica si el desarrollo está listo para implementar en un sistema funcional. Los requerimientos que debe verificar esta prueba son los siguientes: el número máximo de resultados obtenidos por una búsqueda no debe superar los 100 resultados, se debe permitir la creación de un perfil del material que un profesor desee referenciar (descripción, calificación y el tipo de usuario al que está dirigido), un profesor debe tener la capacidad de almacenar dicha referencia para ser visualizada posteriormente y se debe presentar una modalidad de visualización de las referencias almacenadas. Los aspectos anteriormente mencionados aplican para las plataformas de Moodle y Chamilo por igual. Ya determinados los requerimientos a verificar se debe realizar la prueba de validación con los siguientes aspectos: se debe ingresar una palabra clave y un número máximo de resultados obtenidos para realizar una búsqueda, se analiza que los resultados obtenidos se relacionen con la palabra clave ingresada y el número de resultados mostrados en la plataforma debe ser el mismo al ingresado por el usuario, una vez obtenidos el resultado se debe crear un perfil de contenido y almacenar dicha referencia, el paso anterior se realiza repetidas ocasiones con variaciones en la palabra clave ingresada, el número de resultados a visualizar y el perfil de contenido creado, y por último se debe visualizar las referencias almacenadas anteriormente para verificar que la referenciación del contenido se realizó de forma exitosa. Con lo descrito anteriormente el diseño de la prueba de validación requiere de ingresar una nueva variable al diseño de las anteriores pruebas; esta variable es la capacidad de almacenamiento de referencias, esta variable se denomina “almacenamiento”, donde pueden surgir dos casos referentes a la conexión con la base de datos, los cuales son: la conexión es correcta y se permite almacenar la referencia, o surgió un error en la conexión con la base de datos lo que imposibilita el almacenamiento con la base de datos. Otro aspecto a resaltar es la inserción de una nueva salida, donde salida 1 representa los resultados obtenidos por una búsqueda y la salida 2 se refiere al resultado obtenido tras el almacenamiento de una referencia de video; en la tabla 7 se puede apreciar lo anteriormente descrito:

Page 75: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

75

Tabla 7. Diseño prueba de validación.

Entrada 1 Entrada 2 Conexión Almacenamiento Salida 1 Salida 2

Frase corta

Tipo de dato String

Numero entre 1 y 100

Tipo de dato Double

Ubicación del componente, correcto.

Conexión establecida

Lista de resultados de la búsqueda

Referencia almacenada

Frase corta

Tipo de dato Double

Numero entre 1 y 100

Tipo de dato Double

Ubicación del componente, correcto.

Conexión establecida

Lista de resultados de la búsqueda

Referencia almacenada

Frase corta

Tipo de dato String

Frase corta

Tipo de dato String

Ubicación del componente, correcto.

Conexión establecida

La Entrada 2 no reconoce el valor ingresado.

No aplica.

Frase corta

Tipo de dato String

Número mayor a 100

Tipo de dato Double > 100

Ubicación del componente, correcto.

Conexión establecida

La Entrada 2 supera el número máximo de resultados obtenidos.

No aplica.

Frase corta

Tipo de dato String

Número menor a 1

Tipo de dato Double < 1

Ubicación del componente, correcto.

Conexión establecida

Entrada 2 no acepta el cero o números negativos.

No aplica.

Frase corta

Tipo de dato String

Numero entre 1 y 100

Tipo de dato Double

Ubicación del componente, incorrecto.

Conexión establecida

La conexión no es posible por no encontrar el componente que se requiere.

No aplica.

Frase corta

Tipo de dato String

Numero entre 1 y 100

Tipo de dato Double

Ubicación del componente, incorrecto.

Conexión fallida La conexión no es posible por no encontrar el componente que se requiere.

No aplica.

Frase corta

Tipo de dato String

Numero entre 1 y 100

Tipo de dato Double

Ubicación del componente, correcto.

Conexión fallida. Lista de resultados de la búsqueda

Error al almacenar la referencia.

Fuente: Elaboración propia.

Page 76: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

76

De la anterior tabla se puede concluir que la salida 2 para obtener un resultado requiere de obtener un resultado en la salida 1, ya que no es posible almacenar una nueva referencia de video sin obtener un resultado para almacenar; no se incluyeron aspectos como los tipos de datos para ingresar en la descripción, calificación o perfil de usuario recomendado ya que no influyen en el almacenamiento de la referencia por ser reconocidos como cadenas de texto. El éxito de esta prueba se determinar por las búsquedas realizadas, la coherencia de los resultados obtenidos y el almacenamiento apropiado de las referencias de material de video y su posterior visualización.

8.4.4. Pruebas de sistema

Son las últimas pruebas realizadas ya que verifican en comportamiento del desarrollo en un sistema funcional, en este caso la prueba se realiza desde la creación de un curso nuevo dentro de las plataformas de gestión de contenidos de aprendizaje de Moodle y Chamilo, la posterior creación de una herramienta dentro del curso con la herramienta desarrollada y el ingreso de diversas referencias en la herramienta para que los estudiantes puedan visualizarlas posteriormente; en esta prueba se verifica la diferenciación de perfiles de usuario que tiene la herramienta ya que solo se le es permitido a un profesor o un administrador de la plataforma la búsqueda y almacenamiento de referencias de video, mientras que un estudiante solo tiene permitido la visualización de las referencias almacenadas por la herramienta. En las pruebas de sistema se propone la realización de una búsqueda desde la vista de la aplicación de cualquiera de las plataformas de gestión de contenidos de aprendizaje y se comparan los resultados obtenidos desde la página de YouTube, esta búsqueda se efectúa con la palabra “Angular” para realizar la comparación de resultados y verificar la veracidad de los datos obtenidos. Ver figuras 36 y 37.

Page 77: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

77

Figura 36. Resultados obtenidos por búsqueda desde Chamilo.

Fuente: Elaboración Propia.

Figura 37. Resultados obtenidos por búsqueda desde YouTube.

Fuente: Página oficial de YouTube.

Page 78: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

78

Con las figuras anteriormente mostradas se pueden apreciar ligeras variaciones en los resultados obtenidos, por ejemplo en la figura 37 se puede apreciar la visualización de un lista de reproducciones creada por un usuario, mientras que en la figura 36 no se muestra dicho elemento, esto demuestra la limitación anteriormente mencionada en el componente donde la visualización de resultados se limita únicamente a los resultados de tipo video, omitiendo elementos como listas de reproducción creadas por otros usuarios o canales de otros usuarios de YouTube para obtener únicamente elementos de video en cada búsqueda realizada por la plataforma de gestión de contenidos de aprendizaje.

8.5. Vistas de la aplicación

Las vistas de esta aplicación para las funcionalidades de búsqueda y visualización de contenido almacenado son similares para toda plataforma que integre esta aplicación. Para la vista dentro de las plataformas de gestión de contenidos de aprendizaje las ventanas varían dependiendo de la plataforma en que se instalen ya que cada plataforma implementa su propio estilo para enseñar el contenido dentro de los cursos. La figura 38 corresponde a la visualización de la aplicación dentro de la plataforma de Moodle primero enseñando el icono de la herramienta dentro del curso:

Figura 38. Icono de la herramienta en un curso de Moodle.

Fuente: Moodle versión 3.4.1. La figura 39 corresponde a la aplicación para aquellos usuarios con capacidades de edición dentro de la plataforma de Moodle.

Page 79: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

79

Figura 39. Vista de la herramienta para usuarios con permisos de edición en Moodle.

Fuente: Moodle versión 3.4.1. Cuando un usuario no tiene los permisos de edición dentro de un curso, solo tendrá disponible la opción de visualización de contenido almacenado, como se muestra a continuación en la figura 40:

Figura 40. Vista de la herramienta para usuarios sin permisos de edición en Moodle.

Fuente: Moodle versión 3.4.1.

Page 80: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

80

En el caso de la plataforma de Chamilo, la vista de la herramienta dentro de un curso es la siguiente mostrada en la figura 41:

Figura 41. Icono de la herramienta en un curso de Chamilo.

Fuente: Chamilo versión 1.11.6. La vista de la herramienta dentro de la plataforma de Chamilo es similar a la mostrada por la plataforma de Moodle en cuanto a las opciones mostradas, la diferencia radica en el encabezado y menú de opciones del mismo, también comparte la característica de mostrar la totalidad de las opciones a todos los usuarios con permisos de edición dentro de la plataforma, en la figura 42 se muestra la vista de la herramienta para todos los usuarios con permisos de edición dentro de la plataforma:

Figura 42. Vista de la herramienta para usuarios con permisos de edición en Chamilo.

Fuente: Chamilo versión 1.11.6.

Page 81: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

81

Para los usuarios que no tengan estos permisos de edición sobre el contenido de la plataforma se muestra solo la opción de visualizar referencias almacenadas, como se muestra en la figura 43:

Figura 43. Vista de la herramienta para usuarios sin permisos de edición en Chamilo.

Fuente: Chamilo versión 1.11.6. Las siguientes vistas aplican para todas las plataformas que tengan integrada esta aplicación, si se ingresó a la opción de “Buscar Videos”, esta ventana se compone por tres secciones, la primera sección se compone por dos espacios de texto, el primero para ingresar la palabra clave para iniciar la búsqueda y el segundo permite ingresar el número de resultados máximos obtenidos en la búsqueda, y lo último de esta primera sección consiste en un botón de “Buscar” para iniciar una nueva búsqueda con los parámetros anteriormente ingresados. La segunda sección de esta ventana se compone por la muestra de resultados obtenidos de una búsqueda y la información básica de un video seleccionado, por último se tienen los criterios de calificación que puede tener un video si se desea almacenar esta referencia. La tercera sección de la ventana se conforma de dos botones, el primer botón permite guardar la referencia de video en una base de datos y el segundo botón permite regresar a la ventana principal de la herramienta en la plataforma de gestión de contenidos de aprendizaje; la ventana anteriormente descrita es la siguiente (figura 44):

Page 82: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

82

Figura 44. Vista de la aplicación para buscar videos.

Fuente: Elaboración Propia. La anterior ventana es la que se obtiene cuando no se ha realizado ninguna búsqueda en el momento; cuando se ingresen los valores de una búsqueda y se realice esta solicitud se desplegara en la segunda sección una barra horizontal con las miniaturas de los videos obtenidos como resultados a la búsqueda, la vista de la aplicación después de realizar una búsqueda y seleccionar un resultado es la siguiente (figura 45):

Figura 45. Vista de la aplicación después de realizar una búsqueda.

Fuente: Elaboración Propia.

Page 83: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

83

Si un usuario desea almacenar una nueva referencia de video puede ingresar una breve descripción del video seleccionado, seleccionar el tipo de usuario deseado para el contenido del video y una calificación del contenido a criterio del profesor; una vez diligenciada esta información se puede seleccionar el botón “Guardar” donde se puede observar si la referencia se almaceno de forma correcta si se despliega un mensaje de éxito al final de la ventana, como se muestra a continuación en la figura 46:

Figura 46. Vista de la aplicación después de almacenar una referencia.

Fuente: Elaboración Propia. Si desde la vista de la plataforma de gestión de contenidos de aprendizaje se seleccionó la opción de “Visualizar videos almacenados” la ventana que se obtiene se divide en tres secciones, la primera sección corresponde a la selección de la categoría de los videos que se quieren visualizar, se puede seleccionar ver todos los videos almacenados, ver los videos que se almacenaron solo en el curso actual o visualizar solo los videos almacenados en la plataforma actual, la sección dos corresponde a mostrar la información de la referencia del video y la sección tres corresponde a las opciones de eliminar la referencia si se cuentan con los permisos de edición de la plataforma y una opción de volver a la vista de la plataforma, la ventana anteriormente descrita se muestra a continuación en la figura 47:

Page 84: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

84

Figura 47. Vista de la aplicación para visualizar referencias almacenadas.

Fuente: Elaboración Propia. Después de seleccionar una categoría de videos almacenados para visualizar, se desplegara una barra horizontal con las miniaturas de los videos, donde un usuario puede seleccionar la miniatura de video que quiera visualizar su información, esta vista se actualiza de la siguiente manera (figura 48):

Figura 48. Vista de la aplicación para visualizar todas las referencias almacenadas.

Fuente: Elaboración Propia. Para eliminar una referencia almacenada se debe seleccionar dicho video, y seleccionar la opción de “Eliminar”, lo que permite eliminar dicho registro de la base de datos, para garantizar que el registro se eliminó de forma correcta se desplegara un mensaje solicitando refrescar la página, si la miniatura desaparece de la barra

Page 85: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

85

horizontal indicara que la referencia se eliminó de forma correcta, como se muestra a continuación en la figura 49:

Figura 49. Vista de la aplicación después de eliminar una referencia.

Fuente: Elaboración Propia. Si el usuario que ingreso a la plataforma no cuenta con los permisos de edición de la plataforma, esta ventana no tendrá disponible la opción de “Eliminar” solo podrá seleccionar una referencia y visualizar el video, como se muestra a continuación en la figura 50:

Figura 50. Vista de la aplicación para visualizar referencias sin permisos de edición.

Fuente: Elaboración Propia.

Page 86: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

86

9. CONCLUSIONES Para la obtención de las funcionalidades de búsqueda, referenciación, descripción de contenido y almacenamiento de referencias, se desarrolló un componente integrable a diversas plataformas de gestión de contenidos de aprendizaje, aplicando desarrollo de software por componentes, que permite desde el entorno de usuario acceder a recursos disponibles en servidores de difusión de video, haciendo que no se requieran grandes capacidades de almacenamiento ya que en la plataforma, únicamente se almacenan las referencias de los recursos y las descripciones que un docente considera adecuados para un curso.

Para integrar el componente desarrollado con funcionalidades de difusión de video dentro de una plataforma de gestión de contenidos de aprendizaje, se requiere de la creación y configuración de una serie de archivos ajustados de acuerdo a las características de cada plataforma; cuando las plataformas proporcionan facilidad de personalización y configuración del entorno haciendo posible la incorporación de tecnología de terceros como se observa en la evaluación presentada en la tabla 2 donde se detallan todas las especificaciones de las plataformas con potencial de incorporar componentes como el que se desarrolló para Moodle y Chamilo. La incorporación de las funcionalidades en otras plataformas no implica cambios en el componente, únicamente se requiere la generación de los archivos de configuración de acuerdo a las especificaciones de la plataforma donde se desea incluir. Las funcionalidades que permiten la inclusión de recursos proporcionados por plataformas de difusión de video están diseñadas de manera que permita realizar una búsqueda mediante él envió de cadenas de texto y una cantidad máxima de resultados recuperados que son enviados a un componente que se encarga de establecer la conexión con el servidor donde están los registros de resultados de YouTube que pueden ser visualizados desde el entorno de aprendizaje, permitiendo al usuario la selección de un video del listado obtenido y opciones para generar descripciones personalizadas, las cuales pueden ser almacenadas con su correspondiente URL, sin necesidad de recurrir a herramientas externas a la plataforma que utiliza el docente, las anteriores funcionalidades se incorporan de manera incremental siguiendo las especificaciones de diseño y desarrollo por componentes como se observa en la figura 16. Al proporcionar estos servicios desde la plataforma, se reducen los tiempos requeridos por el docente para aprendizaje de nuevas herramientas permitiendo evaluar un mayor número de recursos en la misma cantidad de tiempo, omitiendo contenidos adicionales como listas de reproducciones o canales de usuarios, permitiendo que la búsqueda se centre en material de video especifico a la búsqueda realizada, con la capacidad de obtener un número de resultados configurable por los usuarios y adicionalmente

Page 87: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

87

realizar descripciones sobre el contenido de aquellos que considera útiles para sus actividades de enseñanza. El diseño basado en desarrollo por componentes expuesto en la figura 16, permite apreciar un diseño donde el componente encargado de las funcionalidades de búsqueda se encuentra externo a la plataforma de gestión de contenidos de aprendizaje lo que permite realizar modificaciones en un componente sin alterar las funcionalidades del otro, esto garantiza un alto nivel de flexibilidad en la implementación del proyecto en cualquier plataforma de gestión de contenidos de aprendizaje con las características apropiadas como las expuestas en la tabla 2. Esta flexibilidad se puede apreciar de igual forma en el apartado 8.3.4. ”Integración del componente en las plataformas de gestión de contenidos de aprendizaje” donde se especifican los archivos denominados “archivos universales” que son incluidos en toda plataforma que quiera integrar este desarrollo, ya que realizan las funcionalidades de búsqueda y referenciación de material de video; con la finalidad de separar los archivos con las funciones anteriormente nombradas de los archivos de configuración específicos de cada plataforma para que no interfieran los unos con los otros, tal como se muestra en el apartado anteriormente nombrado. La distribución e implementación de los denominados “archivos universales” proporcionan una mayor facilidad de integración del componente dentro de cualquier plataforma ya que la instalación del componente dentro de cualquier plataforma de gestión de contenidos de aprendizaje requeriría únicamente de la creación de los archivos de instalación y configuración específicos de cada plataforma. Como una forma de evaluación de la aplicación, se diseñó una serie de pruebas para comprobar el correcto funcionamiento de los diferentes componentes que integran el desarrollo de forma individual y conjunta, esto se puede apreciar en el apartado 8.4. “Pruebas de software” donde se describen 4 tipos de pruebas, las cuales proporcionan una serie de resultados acordes con los parámetros de entrada a una búsqueda o las condiciones de interacción entre los diferentes componentes que integran el desarrollo; el diseño de estas pruebas permiten comprobar el correcto funcionamiento de la aplicación garantizando que los resultados obtenidos son similares a los obtenidos por una búsqueda realizada en YouTube. En el apartado de “Pruebas de sistema” se puede verificar el diseño de la prueba realizada que garantiza la coherencia entre los resultados obtenidos por la búsqueda desde el entorno de aprendizaje y la búsqueda desde la plataforma de YouTube; esta prueba también permite demostrar que los resultados obtenidos por el componente desarrollado se encuentran centrados en los videos, omitiendo elementos que puedan no ser beneficiosos para la enseñanza de un curso como listas de reproducción o canales de otros usuarios.

Page 88: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

88

Bibliografía About MySQL. (2018). Obtenido de https://www.mysql.com/about/ Apache Tomcat. (2018). Obtenido de http://tomcat.apache.org/ Araguz, N. (2017). Instalar y configurar Moodle. Obtenido de

https://www.youtube.com/watch?v=agdTOX0VtYw Castañeda Tapia, E. R., Marinez Flores, M. A., Zavala Lopez, I., Garcia Contreraz,

A. A., & Abrego Herrera, L. A. (2016). Instalación de Chamilo en localhost con XAMPP. Obtenido de https://www.youtube.com/watch?v=j7SGqtHNEK0

Comunica-web. (2018). Las 10 mejores plataformas E-Learning. Obtenido de Las 10 mejores plataformas E-Learning: http://www.comunica-web.com/verarticulo-plataformas-elearning_849.php#que-es-un-lms

Descarga de Chamilo. (2018). Obtenido de https://chamilo.org/es/descargar/ Descarga de Moodle. (2018). Obtenido de

https://download.moodle.org/releases/latest/ Digital, I. M. (27 de Septiembre de 2016). Que es Youtube, definición y noticias.

Obtenido de Que es Youtube, definición y noticias: https://www.youtube.com/watch?v=wjoAtSoSzxM

García, C. M. (2018). ¿Qué Herramientas utilizamos en e-Learning? Obtenido de http://formacion.educalab.es/pluginfile.php/43905/mod_imscp/content/9/qu_herramientas_utilizamos_en_elearning.html

Getting Started with the YouTube Data API. (2018). Obtenido de https://developers.google.com/youtube/v3/getting-started?hl=es-419

Ingeniería de Software Un enfoque práctico - Septima edicion. (2010). En R. S. Pressman, Ingeniería de Software Un enfoque práctico - Septima edicion. Mc Graw Hill.

Java Bridge How it Works. (2018). Obtenido de http://php-java-bridge.sourceforge.net/pjb/how_it_works.php

Los top 10 lenguajes de programación mas usados en el software libre. (9 de Septiembre de 2018). Obtenido de http://www.somoslibres.org/modules.php?name=News&file=article&sid=2879

Mundo, B. (10 de Abril de 2017). 6 plataformas alternativas a YouTube con las que puedes hacer dinero monetizando videos. Obtenido de BBC Mundo: http://www.bbc.com/mundo/noticias-39554119

NEWMODULE Documentation. (5 de 04 de 2018). Obtenido de https://docs.moodle.org/dev/NEWMODULE_Documentation

Pagina Oficial de Blackboard. (2018). Obtenido de http://es.blackboard.com/ Pagina oficial de CanvasLMS. (2018). Obtenido de https://www.canvaslms.com/ Pagina Oficial de Chamilo. (2018). Obtenido de https://chamilo.org/es/ Pagina Oficial de eDucativa. (2018). Obtenido de

http://www.educativa.com/campus/

Page 89: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

89

Pagina Oficial de FirstClass. (2018). Obtenido de https://www.opentext.com/what-we-do/products/specialty-technologies/firstclass

Pagina Oficial de Google Classroom. (s.f.). Obtenido de https://edu.google.com/intl/es-419/products/productivity-tools/classroom/

Pagina oficial de Moodle. (2018). Obtenido de https://moodle.org/ Pagina Oficial de NEO LMS. (2018). Obtenido de https://www.neolms.com/ Pagina Oficial de Saba. (2018). Obtenido de https://www.saba.com/us/ Pagina Oficial de Sakai. (2018). Obtenido de https://www.sakaiproject.org/ Pagina Oficial de XAMPP. (2018). Obtenido de

https://www.apachefriends.org/es/download.html Roles de Chamilo. (2018). Obtenido de

https://support.chamilo.org/projects/1/wiki/Roles Roles de Moodle. (2018). Obtenido de

https://docs.moodle.org/all/es/Roles_est%C3%A1ndar Serna, G. (2013). LMS SENA Blackboard Como Insertar Un Video. Obtenido de

https://www.youtube.com/watch?v=_1oWeorUKco SOMMERVILLE. (2011). INGENIERIA DE SOFTWARE 9 EDICION. ADDISO. Video de Moodle. (2018). Obtenido de https://docs.moodle.org/all/es/Video What is Maven? (2018). Obtenido de http://maven.apache.org/what-is-maven.html What is the Apache HTTP Server Project? (2018). Obtenido de

https://httpd.apache.org/ABOUT_APACHE.html XAMPP. (2018). Obtenido de https://www.ecured.cu/XAMPP Zambrano, L. (2013). como poner videos en chamilo. Obtenido de

https://www.youtube.com/watch?v=0TEU8ZvLUnA

REFERENCIAS BIBLIOGRÁFICAS Bettin, J. (2003). Best Practices for Component-Based Development and Model-

Driven Architecture. Boneu, J. M. (2007). Plataformas abierta de E-Learning para el Soporte de

contenidos educativos abiertos. Revista de la Universidad y Sociedad del Conocimiento, 13.

Cheesman , J., & Daniels , J. (2000). UML Components: A Simple Process for Specifying Component-Based Software 1st Edition.

Contreras Espinosa , R. S., & Eguia G, J. L. (2009). Gestion de Contenidos Educativos para el Aprendizaje del Diseño Mediante un CMS. apertura, 10.

Fernández, A., & Pampillón, C. (2009). Las plataformas E-Learning para la enseñanza y el aprendizaje universitario en Internet. 2. Montilva C., J. A., Arapé, N., & Colmenares, J. A. (2003). Desarrollo de Software

Basado en Componentes.

Page 90: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

90

Salamanca, U. d. (2018). INTRODUCCIÓN AL ELEARNING. Obtenido de http://antia.fis.usal.es/sharedir/TOL/introelearning/22_caractersticas_del_elearning.html

Terreros, J. C. (2018). Desarrollo de Software basado en Componentes. Obtenido de https://msdn.microsoft.com/es-co/library/bb972268.aspx

Page 91: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

91

ANEXO A: INSTALACIÓN DE XAMPP En esta sección se explica cada uno de los pasos que se realizan para la instalación de las plataformas de gestión de contenidos de aprendizaje de Moodle y Chamilo con su respectiva configuración para permitir la creación de un curso. La instalación de XAMPP y Moodle se realizan con la guía del autor (Araguz, 2017), mientras que la instalación y configuración de Chamilo se realizan con la guía de los autores (Castañeda Tapia, Marinez Flores, Zavala Lopez, Garcia Contreraz, & Abrego Herrera, 2016) La instalación de las plataformas de gestión de contenidos de aprendizaje y el correcto funcionamiento del componente con funcionalidades de difusión de video solicitan de la instalación de los múltiples servicios proporcionados por XAMPP como Apache, MySQL y Tomcat. La instalación de XAMPP consiste en una serie de pasos después de descargar su respectivo instalador de la página oficial (Pagina Oficial de XAMPP, 2018), una vez descargado el archivo apropiado a la arquitectura del equipo en el que se desea instalar se procede a ejecutar el archivo descargado obteniendo la siguiente vista (figura 51):

Figura 51. Menú principal de la instalación de XAMPP.

Fuente: Instalación de XAMPP versión 7.2.3 Para iniciar con el proceso de instalación se presiona en la opción “Next” lo que desplegara la vista con los servicios de XAMPP que se instalaran, para el desarrollo de este proyecto se requieren los siguientes servicios: Apache, MySQL, Tomcat, el lenguaje de programación PHP y cualquier opción que venga por defecto seleccionada en el segmento “Program Languages”; a continuación se debe

Page 92: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

92

seleccionar la opción “Next” para continuar con el respectivo proceso de instalación; en la figura 52 permite apreciar lo anteriormente descrito:

Figura 52. Servicios que se instalaran en XAMPP.

Fuente: Instalación de XAMPP versión 7.2.3 La ventana que se despliega una vez se seleccionen los servicios que se instalaran en XAMPP, es la ventana para ubicar la carpeta en donde se instalaran todos los servicios de esta plataforma, por defecto se crea una carpeta llamada “xampp” en el disco local C para el caso de Windows; una vez terminada la selección de la carpeta donde se desee instalar XAMPP se debe seleccionar la opción “Next” para continuar con el siguiente paso. En la figura 53 se puede apreciar la ubicación por defecto de la carpeta de instalación:

Page 93: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

93

Figura 53. Selección de la carpeta de instalación de XAMPP.

Fuente: Instalación de XAMPP versión 7.2.3 Para los siguientes despliegues de ventanas se debe seleccionar la opción “Next” hasta dar inicio al proceso de instalación ya que se desplegaran mensajes de confirmación acerca de la configuración de XAMPP, el proceso de instalación de instalación finalizará una vez se complete la barra de progreso que puede observar en la figura 54:

Figura 54. Proceso de instalación de XAMPP.

Fuente: Instalación de XAMPP versión 7.2.3 Una vez finalizado el proceso de instalación se permitirá ver en panel de control de XAMPP donde se pueden activar los servicios que se instalaron y así poder interactuar con ellos, como se muestra en la figura 55:

Page 94: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

94

Figura 55. Vista del panel de control de XAMPP.

Fuente: Instalación de XAMPP versión 7.2.3

Page 95: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

95

ANEXO B: INSTALACIÓN DE MOODLE Una vez se encuentra XAMPP instalado y funcional con los servicios de Apache y MySQL se puede iniciar con el proceso de instalación de la primera plataforma de gestión de contenidos de aprendizaje, Moodle, para ello se debe obtener su código fuente desde la página de descargas de Moodle (Descarga de Moodle, 2018) con una versión compatible a los servicios de instalados de XAMPP, para el caso de Windows se descarga el archivo con extensión “.Zip”. Para dar inicio al proceso de instalación de Moodle se requiere iniciar los servicios de Apache y MySQL que se instalaron previamente con XAMPP, estos servicios se pueden activar desde el panel de control de XAMPP como se indica en la figura 56:

Figura 56. Inicio de los servicios de Apache y MySQL en XAMPP.

Fuente: Instalación de XAMPP versión 7.2.3 Una vez los servicios anteriormente mencionados se estén ejecutando, se debe ingresar a un navegador web como Mozilla Firefox o Google Chrome e ingresar a la dirección localhost lo que desplegara la siguiente ventana (figura 57):

Page 96: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

96

Figura 57. Vista de la ventana localhost desde el navegador Google Chrome.

Fuente: Ventana principal de XAMPP versión 7.2.3. Para dar inicio con el proceso de instalación de la plataforma de Moodle se requiere como paso preliminar la creación de una base de datos donde se almacenara toda la información y configuración solicitada para el correcto funcionamiento de la plataforma; por lo tanto desde la ventana expuesta en la figura 8 se selecciona la opción “phpMyAdmin” lo que permite el acceso al menú principal para la creación de una nueva base de datos; esta base de datos se debe llamar “Moodle”, la configuración de la base de datos es la que se muestra en la figura 58:

Page 97: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

97

Figura 58. Creación de la base de datos de Moodle.

Fuente: Vista de phpMyAdmin de XAMPP versión 7.2.3 Después de crear la base de datos de Moodle se puede dar inicio al proceso de instalación de la plataforma, para ello se requiere el archivo descargado desde la página de descargas del código fuente de Moodle (Descarga de Moodle, 2018), donde una vez se descomprime el archivo “.zip” se debe copiar la carpeta obtenida dentro del directorio de XAMPP en la carpeta “htdocs”. Como paso siguiente después de verificar el correcto traspaso de la carpeta de Moodle dentro de XAMPP se debe ingresar en el navegador web que se esté empleando la dirección “localhost/moodle” lo que despliega la siguiente ventana con el menú principal de la instalación de Moodle donde se solicita especificar el idioma empleado para el proceso de instalación; por compatibilidad entre componentes se recomienda usar el idioma ingles “English (en)”:

Figura 59. Vista del inicio de la instalación de Moodle.

Fuente: Instalación de Moodle versión 3.4.1.

Page 98: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

98

Ya con el idioma seleccionado se procede a dar una ubicación a los datos que se instalaran después de terminado este proceso; se deben dejar las opciones por defecto ya que señalan aspectos como: la dirección web con la que se puede acceder a la plataforma, la carpeta donde se encuentra el directorio principal de Moodle y el directorio donde se almacenara toda la información adicional que se pueda crear en la plataforma una vez se encuentre funcional, la vista de esta configuración debe ser la mostrada en la figura 60:

Figura 60. Selección de los directorios de instalación de Moodle.

Fuente: Instalación de Moodle versión 3.4.1. En la siguiente vista se debe especificar el tipo de base de datos con la que funcionara la plataforma, para el caso de Moodle se debe emplear la opción “MariaDB (native/mariadb)” ya que es la opción compatible con la configuración establecida por la plataforma; por lo tanto la configuración debe ser como la que se muestra en la siguiente ventana (figura 61):

Figura 61. Selección del gestor de base de datos para Moodle.

Fuente: Instalación de Moodle versión 3.4.1.

Page 99: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

99

Como la opción seleccionada en el gestor de bases de datos de “MariaDB (native/mariadb)” se despliega la ventana para ingresar el nombre de usuario y la contraseña para ingresar a la base de datos creada previamente; para este caso el usuario por defecto es “root” y no tiene contraseña, por lo tanto el formulario se debe ser como el que se muestra a continuación en la figura 62:

Figura 62. Vista de los ajustes de la base de datos.

Fuente: Instalación de Moodle versión 3.4.1. Ya establecida la conexión con la base de datos se da una alerta de confirmación de configuraciones, la cual una vez aceptada desplegara una lista con el estado de los componentes requeridos en la instalación y también permite observar si alguno de estos componentes presenta algún error que impide continuar con el proceso. En este proceso de instalación se despliega una alerta con un error en el componente de “php_extension” como se puede apreciar a continuación en la figura 63:

Figura 63. Lista del estado de los componentes de Moodle.

Fuente: Instalación de Moodle versión 3.4.1.

Page 100: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

100

El error anteriormente mostrado se puede solucionar modificando el archivo “php.ini” ubicado en la carpeta PHP dentro del directorio donde se encuentra instalado XAMPP; una vez dentro del archivo mencionado se busca con el título “Dynamic Extensions” y se agrega la sentencia “extension=php_intl.dll”; después, dentro del mismo archivo se debe buscar la sección “intl” donde se debe eliminar los “;” de las líneas con las sentencias “intl.default_locale=”, “intl.error_level = E_WARNING” y “intl.use_exceptions = 0”; como último paso en la línea con la sentencia “intl.default_locale=” se debe agregar la sentencia “en_utf8” al final. Después de guardar los cambios realizados en el archivo “php.ini” se deben reiniciar los servicios de apache y MySQL desde XAMPP para reiniciar el proceso de instalación de Moodle nuevamente para observar que los errores han sido corregidos. Una vez se confirme que los errores que impedían continuar con el proceso de instalación han sido corregidos, se puede continuar con el proceso de instalación; se debe esperar hasta que el proceso de instalación termine y se pueda acceder a la ventana con el formulario para crear un administrador para la plataforma; este formulario solicita obligatoriamente los siguientes elementos: el nombre y apellido del administrador, una dirección de correo valida, la ciudad de origen, el país y una zona horaria para comenzar a ejecutar el sitio.

Figura 64. Formulario con los datos del administrador de la plataforma.

Fuente: Instalación de Moodle versión 3.4.1.

Page 101: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

101

Para verificar que el proceso de instalación de Moodle ha terminado con éxito se debe ingresar con los datos de administrador anteriormente registrados en una ventana de ingreso que se muestra en la figura 65:

Figura 65. Ventana de inicio de sesión para Moodle.

Fuente: Instalación de Moodle versión 3.4.1. Si el proceso de instalación fue exitoso se debe desplegar la ventana principal de la plataforma desde la cual se podrán crear cursos o realizar modificaciones permitidas por el administrador de la plataforma.

Page 102: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

102

ANEXO C: INSTALACIÓN DE CHAMILO La segunda plataforma que se desea instalar es la plataforma de Chamilo, su proceso de instalación es similar al de Moodle, el primer paso para iniciar con el proceso de instalación es descargar el código fuente de la plataforma desde su portal de descargas (Descarga de Chamilo, 2018) debido a la compatibilidad se recomienda descargar la versión para PHP 7.0 o superior ya que es la que maneja la plataforma de XAMPP por defecto. Después de descargar el archivo .zip con el código fuente se debe descomprimir su contenido y se debe copiar la carpeta obtenida dentro del directorio de XAMPP en la carpeta “htdocs” (se recomienda cambiar el nombre de la carpeta por “chamilo”). Para dar inicio al proceso de instalación debe acceder al navegador web de preferencia e ingresar la dirección “localhost/chamilo”, lo que desplegara la ventana de inicio del proceso de instalación al cual se debe elegir la opción “install Chamilo”, la ventana descrita anteriormente se muestra de la siguiente manera en la figura 66:

Figura 66. Ventana de inicio para la instalación de Chamilo.

Fuente: Instalación de Chamilo versión 1.11.6. Una vez iniciado el proceso de instalación se debe elegir el idioma de instalación que seguirá el proceso, se puede elegir “Spanish (Latin)” para continuar con el proceso de instalación, la ventana que se despliega se visualiza de la siguiente manera en la figura 67:

Page 103: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

103

Figura 67. Selección del idioma de instalación de Chamilo.

Fuente: Instalación de Chamilo versión 1.11.6. Después de seleccionar el idioma de instalación de la plataforma se despliega una lista con los requerimientos del sistema y los posibles fallos que este presenta y que pueden impedir la instalación de la plataforma, como se muestra en la figura 68:

Figura 68. Vista de los requerimientos solicitados por Chamilo.

Fuente: Instalación de Chamilo versión 1.11.6. Para solucionar los errores que se muestran en la figura anterior se debe acceder al archivo “php.ini” ubicado en la carpeta php dentro de XAMPP, una vez dentro se debe buscar la sección “Error handling and logging” y localizar la sentencia “display_errors=On”, a continuación se debe cambiar la palabra “On” por “Off”, esto soluciona el primer error mostrado en la figura anterior. El siguiente error al que se debe dar solución es ubicando la sentencia “post_max_size=” la cual si tiene asignado un valor diferente de “10M” se deberá cambiar por el valor anteriormente

Page 104: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

104

mencionado; este proceso se repite para la sentencia “upload_max_filesize=” dentro del mismo archivo; una vez finalizados estos cambios se puede guardar los cambios y se debe reiniciar el servicio de Apache para almacenar los cambios realizados. Con los cambios anteriormente mencionados se puede acceder a la instalación de la plataforma de Chamilo con la opción “Nueva instalación”, donde se muestran los términos de la licencia que maneja la plataforma, los cuales se deben aceptar si se desea instalar la plataforma, la ventana obtenida es la siguiente (figura 69):

Figura 69. Términos de la licencia de la plataforma Chamilo.

Fuente: Instalación de Chamilo versión 1.11.6. Después de aceptar la licencia de la plataforma, se accede a la configuración de la base de datos, la vista de la configuración se puede apreciar en la figura 70:

Page 105: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

105

Figura 70. Configuración de la base de datos de Chamilo.

Fuente: Instalación de Chamilo versión 1.11.6. Cuando se puede verificar la conexión con la base de datos se puede continuar con la instalación de la plataforma; el paso siguiente es ingresar los valores de configuración como los datos del administrador y datos de inicio de la plataforma, los valores que se requieren son: nombre de ingreso para el administrador, una contraseña, nombre y apellido del administrador, correo electrónico y un número de teléfono; los datos del administrador deben ser diligenciados como se muestran a continuación en la figura 71:

Figura 71. Datos del administrador de la plataforma.

Fuente: Instalación de Chamilo versión 1.11.6.

Page 106: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

106

Para continuar con los valores de configuración se pueden modificar en la sección “plataforma” aspectos como el nombre del campus o el idioma principal de la plataforma; los datos diligenciados se realizaron como se muestra en la figura 72:

Figura 72. Datos de la plataforma de Chamilo.

Fuente: Instalación de Chamilo versión 1.11.6. Después de ingresar los datos de la configuración como último paso antes de iniciar la instalación de la plataforma se muestra un listado con las configuraciones generales que tendrá la plataforma al momento de instalarse, donde si los resultados mostrados son los correctos se podrá dar inicio al proceso de instalación. Para confirmar que la instalación se llevó acabo de forma correcta se puede ingresar al portal que se acaba de crear una ver terminado el proceso de instalación obteniendo la siguiente vista mostrada en la figura 73:

Page 107: COMPONENTE SOFTWARE PARA INTEGRACION DE …repository.udistrital.edu.co/bitstream/11349/14758/... · Proyecto de Monografía como requisito para obtener el título de ingeniero de

107

Figura 73. Ventana de inicio de sesión para Chamilo.

Fuente: Instalación de Chamilo versión 1.11.6.