DISEÑO DE UN PROTOTIPO DE SIMULACIÓN PARA LA INTERACCIÓN EN UN ENTORNO DE APRENDIZAJE TRIDIMENSIONAL CINDY ALEJANDRA FLÓREZ LLANOS CÓD.: 20092020027 NELSON JAVIER CRISTANCHO SASTOQUE CÓD.: 20092020099 UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA INGENIERÍA DE SISTEMAS BOGOTÁ 2015 DISEÑO DE UN PROTOTIPO DE SIMULACIÓN PARA LA INTERACCIÓN EN UN ENTORNO DE APRENDIZAJE TRIDIMENSIONAL CINDY ALEJANDRA FLÓREZ LLANOS NELSON JAVIER CRISTANCHO SASTOQUE Anteproyecto de grado modalidad investigación Director JULIO BARÓN VELANDIA Ingeniero de Sistemas UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA INGENIERÍA DE SISTEMAS BOGOTÁ 2015 ii Nota de aceptación _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ Director _____________________________________ Jurado Bogotá, 05 de Julio de 2015 iii Agradezco a Dios por brindarme la oportunidad de estudiar esta carrera, por darme la fortaleza y sabiduría necesaria para seguir adelante. A mis padres Luz Marina Llanos Pabon y Ambrosio Flórez Rojas por su apoyo incondicional, por acompañarme en los momentos de alegría y tristeza. A mi hermana Irley Lorena Flórez Llanos por brindarme su cariño y apoyo y además por ser para mí un motivo por el cual luchar. A toda mi familia y amigos por creer en mí y brindarme una sonrisa en los momentos de tristeza. Cindy Alejandra Florez Llanos iv Agradezco a Dios por darme la sabiduría y fortaleza para no decaer en los momentos difíciles. A mis padres Gilma Sastoque y Francisco Javier Cristancho, por su apoyo, consejos, motivación y comprensión para finalizar con éxito éste proyecto. A mi hermana Paola Andrea Cristancho Sastoque por brindarme su cariño y apoyo. Nelson Javier Cristancho Sastoque v AGRADECIMIENTOS A Directivos, docentes y demás funcionarios de la UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS, por brindar las herramientas necesarias para el desarrollo este proyecto de grado. Al Doctor JULIO BARON VELANDIA, director del presente trabajo de grado, por brindar sus conocimientos y por su guía en el desarrollo, estructuración y corrección de este proyecto. Al Magister ALEJANDRO PAOLO DAZA CORREDOR, por su apoyo y colaboración en la corrección del presente trabajo. Al Doctor SANDRO JAVIER BOLAÑOS CASTRO, por brindar sus conocimientos, y colaboración durante el proyecto. vi TABLA DE CONTENIDO 1. INTRODUCCIÓN .............................................................................................. 1 2. PLANTEAMIENTO DE PROBLEMA ................................................................ 2 2.1. DESCRIPCIÓN ........................................................................................... 2 2.2. FORMULACIÓN DEL PROBLEMA ............................................................ 3 3. OBJETIVOS ...................................................................................................... 4 3.1. OBJETIVO GENERAL ................................................................................ 4 3.2. OBJETIVOS ESPECÍFICOS ....................................................................... 4 4. JUSTIFICACIÓN ............................................................................................... 5 5. ALCANCE Y LIMITACIONES......................................................................... 7 5.1. ALCANCE ................................................................................................... 7 5.2. LIMITACIONES .......................................................................................... 8 6. MARCO REFERENCIAL .................................................................................. 9 6.1. MARCO HISTÓRICO.................................................................................. 9 6.2. MARCO CONCEPTUAL ........................................................................... 11 6.3. OPEN UP.................................................................................................. 16 6.4. APLICACIONES WEB .............................................................................. 17 6.5. TRABAJOS ACTUALES ........................................................................... 19 6.6. OBJETOS DE APRENDIZAJE ................................................................. 20 7. METODOLOGÍA ............................................................................................. 22 7.1. DISEÑO DE LA INVESTIGACIÓN ............................................................ 22 7.1.1. Tipo de estudio metodológico ............................................................ 23 vii 7.2. TÉCNICA METODOLÓGICA .................................................................... 24 8. ANÁLISIS, DISEÑO Y DESARROLLO........................................................... 27 8.1. ANÁLISIS DE REQUERIMIENTOS .......................................................... 28 8.1.1. Requerimientos funcionales ............................................................... 31 8.1.2. Requerimientos no funcionales .......................................................... 36 8.2. ANÁLISIS Y DISEÑO................................................................................ 38 8.2.1. Actores del sistema ............................................................................ 39 Actores principales: ..................................................................... 39 Actor secundario: ......................................................................... 39 8.2.2. Casos de uso ..................................................................................... 40 Priorización y Complejidad de Casos de Uso .............................. 41 Descripción de casos de uso ....................................................... 46 8.2.3. Diagramas de Casos de uso .............................................................. 51 8.2.4. Diagramas de Secuencia ................................................................... 54 8.2.5. Diagramas de Estado ......................................................................... 60 8.2.6. Componentes ..................................................................................... 61 8.2.7. Interfaz de usuario.............................................................................. 62 9. ARQUITECTURA ............................................................................................ 65 9.1. CAPA DE NEGOCIO ................................................................................ 67 9.1.1. Punto de vista de Organización ......................................................... 67 9.1.2. Punto de vista de Cooperación de Actor ............................................ 68 9.1.3. Punto de vista de Función de Negocio ............................................... 69 9.1.4. Punto de vista de Proceso de Negocio .............................................. 70 9.1.5. Punto de vista de Cooperación de Proceso de Negocio .................... 72 9.1.6. Punto de vista de Producto ................................................................ 73 9.2. CAPA DE APLICACIÓN ........................................................................... 74 9.2.1. Punto de vista de Comportamiento de Aplicación .............................. 74 9.2.2. Punto de vista de Cooperación de Aplicación .................................... 75 viii 9.2.3. Punto de vista de Estructura de Aplicación ........................................ 76 9.2.4. Punto de vista de Uso de Aplicación .................................................. 77 9.3. CAPA DE INFRAESTRUCTURA .............................................................. 78 9.3.1. Punto de vista de Infraestructura ....................................................... 78 9.3.2. Punto de vista de Uso de Infraestructura ........................................... 79 9.3.3. Punto de vista de Organización e Implementación ............................ 80 9.3.4. Punto de vista de Estructura de Información ...................................... 80 9.3.5. Punto de vista de Realización del Servicio ......................................... 82 10. CONCLUSIONES ........................................................................................ 84 11. TRABAJOS FUTUROS ............................................................................... 85 12. BIBLIOGRAFÍA ........................................................................................... 86 ix LISTA DE FIGURAS Figura 6.1: Capas de OpenUP, micro-incrementos, ciclo de vida de iteración y ciclo de vida del proyecto. .............................................................................................. 16 Figura 7.1: Hitos – Simulación interactiva .............................................................. 25 Figura 8.1: Actores del sistema.............................................................................. 40 Figura 8.2 Diagrama de caso de uso primario; contiene los casos de uso principales del entorno de aprendizaje y los actores que participan en este. ........ 47 Figura 8.3: Clasificación de los casos de uso, actores y modelos. ........................ 52 Figura 8.4: Diagrama de caso de uso Listar experimentos. ................................... 52 Figura 8.5: Diagrama de caso uso Desplazar en el entorno. ................................. 53 Figura 8.6: Diagrama de caso de uso Experimentar. ............................................. 53 Figura 8.7: Diagrama de caso de uso Representar en el entorno.......................... 54 Figura 8.8: Diagrama de secuencia - Experimentar Caída Libre ........................... 56 Figura 8.9: Diagrama de secuencia - Experimentar Movimiento Parabólico. ......... 57 Figura 8.10: Diagrama de secuencia - Experimentar Péndulo Simple. .................. 58 Figura 8.11: Diagrama de secuencia general ........................................................ 59 Figura 8.12: Diagrama de estado general. ............................................................. 60 Figura 8.13: Diagrama de componentes ................................................................ 61 Figura 8.14: Modelo1 de interfaz del inicio del prototipo. ....................................... 63 Figura 8.15: Modelo2 de interfaz de los experimentos. ......................................... 64 Figura 9.1: Diagrama Introductorio de la Arquitectura del proyecto ....................... 66 Figura 9.2: Punto de vista de organización. ........................................................... 67 Figura 9.3: Punto de vista de cooperación de actor. .............................................. 68 x Figura 9.4: Punto de vista de función de negocio. ................................................. 69 Figura 9.5: Punto de vista de proceso de negocio - réplica de objetos en 3D. ...... 70 Figura 9.6: Punto de vista de proceso de negocio – apoyo a los procesos de enseñanza. ............................................................................................................ 71 Figura 9.7: Punto de vista de cooperación de proceso de negocio........................ 72 Figura 9.8: Punto de vista de producto. ................................................................. 73 Figura 9.9: Punto de vista de comportamiento de aplicación. ................................ 74 Figura 9.10: Punto de vista de cooperación de aplicación. .................................... 75 Figura 9.11: Punto de vista de estructura de aplicación. ....................................... 76 Figura 9.12: Punto de vista de uso de aplicación................................................... 77 Figura 9.13: Punto de vista de infraestructura. ...................................................... 78 Figura 9.14: Punto de vista de uso de infraestructura............................................ 79 Figura 9.15: Punto de vista de organización e implementación. ............................ 80 Figura 9.16: Punto de vista estructura de información. .......................................... 81 Figura 9.17: Punto de vista de realización del servicio. ......................................... 82 Figura 9.18: Punto de vista de capas..................................................................... 83 xi LISTA DE TABLAS Tabla 8.1: Requerimientos del sistema .................................................................. 29 Tabla 8.2: Rangos y categorías establecidas para la prioridad de los RF. ............ 32 Tabla 8.3: Rangos y categorías establecidas para la dependencia de los RF. ...... 32 Tabla 8.4: Matriz de dependencia Requerimientos Vs Requerimientos. ................ 33 Tabla 8.5: Requerimientos funcionales del sistema. .............................................. 34 Tabla 8.6: Requerimientos no Funcionales ............................................................ 37 Tabla 8.7 Rangos y categorías establecidas para la prioridad de los CU. ............. 42 Tabla 8.8: Rangos y categorías establecidas para la cobertura de los CU. ........... 42 Tabla 8.9: Rangos y categorías establecidas para la dependencia de CU. ........... 42 Tabla 8.10: Matriz de Casos de uso Vs Casos de uso ......................................... 43 Tabla 8.11: Matriz de Casos de uso Vs Requerimientos Funcionales ................... 44 Tabla 8.12: Listado de casos de uso de modelo de negocio ................................. 45 Tabla 8.13: Listado de casos de uso principales ................................................... 46 Tabla 8.14: Descripción del CUP01 – Listar Experimentos ................................... 48 Tabla 8.15: Descripción del CUP02 – Desplazar en el Entorno ............................. 48 Tabla 8.16: Descripción del CUP03 – Representar en el entorno ......................... 49 Tabla 8.17: Descripción del CUP04 – Experimentar .............................................. 50 xii 1. INTRODUCCIÓN El uso de la tecnología como apoyo a los procesos educativos ha tomado gran importancia, aprovechando el uso extendido de herramientas como internet, se ha orientado una gran cantidad aplicaciones web que disponen de funcionalidades para complementar el trabajo elaborado en el aula de clase. Estas herramientas proporcionan ventajas a los procesos de educación convencionales, tales como: estar sujetos a un tiempo o un espacio predeterminado, disponer de los materiales y recursos necesarios para el desarrollo de laboratorios, asumir riesgos que pueden dañar la integridad de una persona, entre otras. El presente documento describe una herramienta de apoyo a los procesos enseñanza, proporcionando un espacio virtual que cuenta con artefactos necesarios para el desarrollo de experimentos y con información relacionada en un espacio tridimensional, así mismo, mediante la inmersión los estudiantes pueden obtener una experiencia más agradable. La herramienta desarrollada que se describe en este documento a manera de objeto de aprendizaje, combina una colección de contenidos ofreciendo facilidades de aprendizaje, esta clase de recurso educativo tiene conceptos relacionados que se abordan desde distintos ángulos, teniendo en cuenta sus funciones, objetos y procesos, entre otros, desde la parte de aplicación tomando la lógica del negocio y todo el ambiente que le rodea. 1 2. PLANTEAMIENTO DE PROBLEMA 2.1. DESCRIPCIÓN A medida que pasa el tiempo el desarrollo tecnológico es cada vez mayor, es importante aprovechar las ventajas que proporcionan estos medios como herramientas de apoyo al aprendizaje, de manera que los procesos de enseñanza tengan un complemento, con el cual, resulte divertido aprender. Como ejemplo se puede tomar el desarrollo que les da a sus clases el profesor de física del MIT; Walter Lewin (MIT, 2015), quien usa la interacción con distintos elementos que tiene en el aula de clase para explicar diferentes fenómenos de la física, logrando enfocar la atención de los estudiantes con el fin de llevar a la práctica los modelos matemáticos que se presentan, facilitando que la información quede mucho más integrada para el estudiante. Proponer que todos los salones de clase cuenten con esa gran variedad de elementos sería muy costoso y difícil de mantener, además existen casos en donde realizar cierto tipo de experimentos pueden poner en riesgo la salud o integridad física de las personas, como; usar materiales pesados que puedan causar lesiones, o trabajar en ambientes con los cuales el cuerpo humano no está familiarizado (fuerzas gravitacionales diferentes a la de la tierra). No es recomendable que este tipo de elementos utilizados en el desarrollo de los fenómenos, se encuentren en el salón de clase, por lo tanto es necesario desplazarse a otro contexto, donde se tengan las debidas medidas de seguridad, limitando la interacción con estos objetos inseguros. Es preciso resaltar que la parte experimental en la explicación de fenómenos es de gran importancia para el proceso de aprendizaje, ya que gracias a esta experimentación el estudiante mejora su apropiación de conocimientos, logrando que el concepto del fenómeno tenga un mayor entendimiento debido a la 2 interacción de los elementos y la descripción de los mismos, para luego ser desarrollados con su respectiva formulación matemática. En un contexto real de aula de clases, al realizar un experimento y después aumentar su nivel de complejidad, es necesario volver a estructurar el escenario del experimento y enfocarlo de forma diferente de manera gradual, lo que implica un gasto innecesario de recursos y tiempo, a diferencia de este, en una ambiente virtual de aula de clases no se tiene la necesidad de reestructurar los escenarios ni reiniciar los experimentos. 2.2. FORMULACIÓN DEL PROBLEMA ¿Cómo facilitar mediante tecnologías de información la simulación de fenómenos físicos, de manera que el estudiante pueda interactuar a diferentes niveles de complejidad, de acuerdo a las intenciones en un programa de formación? 3 3. OBJETIVOS 3.1. OBJETIVO GENERAL Diseñar un prototipo de simulación en un entorno de aprendizaje, que permita realizar experiencias interactivas para los estudiantes con el fin de complementar los procesos de enseñanza actuales. 3.2. OBJETIVOS ESPECÍFICOS Establecer las características que debe tener un espacio digital, que facilite el proceso de enseñanza y permita la interacción. Modelar el escenario en un espacio tridimensional a modo de aula de clases, con elementos que permitan la interacción con el estudiante Realizar un prototipo, proponiendo pautas que permitan la interacción con el usuario y la visualización de los procesos que se llevan a cabo a nivel computacional en los módulos que se ejecutan en el servidor. Establecer un conjunto de escenarios en donde se representen diferentes fenómenos físicos, que permitan verificar la funcionalidad del prototipo propuesto, desde el punto de vista de la interactividad que se debe llevar a cabo entre el entorno de aprendizaje y el estudiante. 4 4. JUSTIFICACIÓN Este proyecto se va a llevar a cabo con el propósito inicial de plasmar algunas características de la misión del área de investigación de la Universidad Distrital Francisco José de Caldas, que como objetivo misional plantea “promover y socializar la investigación mediante políticas tendientes al desarrollo y consolidación de esta actividad”, además de contar con el objetivo fundamental de “fomentar y divulgar los proyectos de investigación y las actividades derivadas de tales procesos”. (UDFJC, 2014) Con este proyecto se busca visibilizar y retribuir a la sociedad mediante el desarrollo de un prototipo, aplicando conocimientos adquiridos durante la carrera de ingeniería de sistemas, que permita a la comunidad en general poder aprovechar todo este conocimiento y difundirlo. En otros contextos donde se ha utilizado la tecnología como apoyo a la enseñanza de los estudiantes se ha facilitado la automatización y los métodos de aprendizaje, por este motivo se quiere brindar una herramienta que no solo facilite los procesos que llevan a cabo los estudiantes cuando están aprendiendo un tema específico mediante la visualización de diferentes tipos de simulaciones1 relacionadas con el tema, sino también que estos procesos sean realmente seguros, reduciendo los riesgos que puedan presentar cuando una persona está aprendiendo, teniendo en cuenta que se ofrece la posibilidad de experimentar fenómenos en un ambiente controlado. Además esta herramienta permite que los estudiantes puedan hacer prácticas de manera creciente en complejidad. 1 Hoy, los simuladores se han convertido en una herramienta formativa indispensable. Permiten trabajar con situaciones muy cercanas a la realidad. Ante múltiples incidencias y averías, habituales u ocasionales, el alumno obtiene durante el periodo de formación el conocimiento y habilidades necesarias para desempeñar su trabajo. 5 Haciendo uso de un modelo incremental es posible pasar de procesos simples e ir aumentando su complejidad dependiendo del nivel de aprendizaje que presente el estudiante, resaltando la importancia de contextualizar el fenómeno desde sus inicios, ya que independientemente de que se vayan agregando elementos para que el estudiante adquiera conocimientos de manera creciente, estos estarán ubicados en el contexto de la simulación, con el fin de que el estudiante quiera interactuar con ellos en la medida en que los va descubriendo. Con base en los niveles de interactividad que se quiere presentar en la simulación, el profesor puede definir un conjunto de experimentos que le permitan de manera gradual, presentar los temas de acuerdo a su intencionalidad en un curso. 6 5. ALCANCE Y LIMITACIONES 5.1. ALCANCE En este proyecto se pretende desarrollar un prototipo de simulación interactiva, diseñado con herramientas tridimensionales, focalizando la atención en experimentos de física (Caída Libre, Péndulo Simple y Movimiento Parabólico), desarrollados en un ambiente Web, permitiendo que mediante el uso de un navegador se pueda tener acceso a este entorno de aprendizaje. El prototipo contará con dos módulos que son; Modulo servidor, encargado de escuchar las peticiones del cliente y procesarlas de acuerdo a las leyes de la física, y el Modulo cliente, encargado de interpretar y representar de manera gráfica los elementos procesados mediante el servidor. Cada uno de los experimentos mencionados anteriormente contará con su respectivo escenario y características interactivas las cuales están asociadas al tipo de fenómeno que puede ser: Caída libre Altura. Gravedad. Tamaño del objeto. Péndulo simple Longitud de la cuerda. Gravedad. Altura. Tamaño del objeto. 7 Movimiento parabólico Dimensiones de la rampla. Gravedad. Tamaño del objeto. 5.2. LIMITACIONES Considerando que se realizará un prototipo con interfaz intuitiva para facilitar la interacción entre el usuario y la herramienta que representa la lógica de los experimentos, la documentación hará énfasis en los aspectos metodológicos más que en la documentación de usuario final. Dado que la calidad de las imágenes y los movimientos depende del motor de renderizado se hará énfasis en la visualización para los navegadores Mozilla Firefox y Google Chrome, ya que sus componentes permiten un buen despliegue del prototipo y proporcionan un nivel adecuado de experiencia del usuario. El prototipo operará sobre los protocolos de internet, sin embargo no estará disponible a través de la Web pública, debido a los requerimientos de infraestructura, para lo cual se establecerá un entorno equivalente en requerimientos de operación para verificar el cumplimiento de las funcionalidades de cada uno de los experimentos propuestos. Teniendo en cuenta la exigencia de los requerimientos de procesamiento concurrente y ancho de banda, se aplicarán pruebas de funcionalidad con un número controlado de usuarios. 8 6. MARCO REFERENCIAL 6.1. MARCO HISTÓRICO La simulación tiene sus inicios hace mucho tiempo, en una época donde la idea de diseñar modelos mediante herramientas tecnológicas como un computador, simplemente no era imaginable. Para comenzar a hablar acerca de la simulación, es necesario nombrar el modelo matemático llamado "La aguja de Buffon", esté experimento es planteado por el naturalista Francés Georges Luis Leclerc, Conde de Buffon, el experimento es un problema de probabilidad geométrica, que se basa en el interés de descubrir la probabilidad en que una aguja cruce alguna de las dos líneas que están separadas a una distancia t, con esto se logra ir aproximando el valor del número Pi a partir de sucesivos intentos. Este experimento fue mejorado y corregido tiempo después en 1812 por el físico-matemático, Pierre-Simon Laplace. (Brodie, 1999) La primera aplicación industrial en la que tuvo sentido el uso de las simulaciones, se presentó con el experimento realizado por el famoso estadístico William Sealy Gosset (Al que fue conocido por su seudónimo "student"), sus primeros estudios se basaron y aplicaron en el tratamiento que se le daba a la cebada en la destilería del célebre cervecero irlandés Sir Arthur Guinness, quien por políticas de la empresa estableció normativas que prohibían a sus empleados la publicación de artículos independientes, en donde se nombrara de forma alguna información confidencial acerca de los métodos establecidos en sus procesos de producción. Estos estudios industriales abrieron las puertas a un futuro donde la simulación es aplicada al campo de procesos de control industrial basados en la experimentación y el análisis para el descubrimiento de soluciones a problemas ingenieriles. (Swlearning, 2003) 9 A principios de 1940 con la aparición de los computadores, el uso de la simulación dio un paso gigante para su desarrollo y evolución, sin duda un gran represéntate de este progreso tecnológico fue John Von Neumann, un matemático húngaro-estadounidense que con la ayuda de otros científicos, usaron el método de Montecarlo para la solución de problemas de difusión en neutrones en el diseño y desarrollo de la bomba de hidrogeno. Uno de los primeros programas computarizados de simulación, fue creado en 1960 por Keith Douglas Tocher, el cual marcó un hito en la historia de la simulación, este programa consistía en replicar/simular el funcionamiento de una planta de producción, donde las maquinas tenían características cíclicas, las cuales pasaban de uno de estos cuatro estados (Ocupado, Esperando, No disponible o Fallo) según su comportamiento lo indicara, este proceso simulaba los cambios de estado que las maquinas podían presentar marcando el estado definitivo de la producción de la planta, como resultado de todos estos estudios y experimentaciones se generó el primer libro sobre simulación: The Art of Simulation (1963). El desarrollo de nuevas tecnologías y técnicas de estudio basadas en la simulación ayudó al progreso ingenieril y científico, a mediados de 1960 el gigante tecnológico IBM, desarrolló el General Purpose Simulation System (GPSS), el cual, es un lenguaje de programación de propósito general de simulación a tiempo discreto, diseñado en principio para realizar simulaciones de teleprocesos (control de tráfico, llamadas telefónicas, reservas, etc.), lo cual generó un sistema con un alto grado de simplicidad, lo que lo popularizó, y a si mismo difundió los beneficios que traería el uso de la simulación en tareas comunes. Sin embargo, los avances que trajo la inmersión de gigantes tecnológicos como IBM en el campo de la simulación no pararon ahí, por esta misma época el Royal Norwegian Computing Center creó uno de los más importantes lenguajes de programación (para la simulación), llamado SIMULA I. (Rubinstein & Melamed, 1998) 10 6.2. MARCO CONCEPTUAL Movimiento “El movimiento no es otra cosa que el desplazamiento del hombre en el tiempo y espacio, este es necesario para la supervivencia del ser humano, esto le ayuda a funcionar, relacionarse y reaccionar eficiente y eficazmente a su alrededor.” (Bolaños, 2006) “El movimiento es un fenómeno físico que se define como todo cambio de posición que experimentan los cuerpos en el espacio, con respecto al tiempo y a un punto de referencia, variando la distancia de dicho cuerpo con respecto a ese punto o sistema de referencia, describiendo una trayectoria. Para producir movimiento es necesaria una intensidad de interacción o intercambio de energía que sobrepase un determinado umbral.” (Galeon.com hispavista, 2014) “Física: Desplazamiento de un cuerpo en el espacio, respecto de un sistema de referencia determinado. El estudio del movimiento independientemente de las causas que lo producen es el objeto de la cinemática; la dinámica, en cambio, estudia el movimiento en relación con las fuerzas que lo modifican.” (Gran Enciclopedia Hispánica, 2012) Simulación "Se define como la capacidad creativa del hombre para diseñar o desarrollar modelos de sistemas reales y en lo posible estar unida en experimentación al mismo sistema." (Uparella, 2013) 11 "Simulación es el proceso de diseñar un modelo de un sistema real y llevar a cabo experiencias con él, con la finalidad de aprender el comportamiento del sistema o de evaluar diversas estrategias para el funcionamiento del sistema." (Shannon, 1988) Interactividad: “La interactividad consiste en una nueva forma de relación, ofrecida por las nuevas tecnologías de la comunicación, que permite al usuario incidir de forma directa en el contenido de los mensajes que recibe. En la Informática se define como la posibilidad de interaccionar de manera activa con el programa o con la aplicación que se está empleando. En la Tecnología se define como el proceso de intercambio de comunicaciones entre el ser humano y una máquina.” (Gran Enciclopedia Hispánica, 2012) Simulación Interactiva "Se define como aquella que permite la interacción de personas en medios virtuales sintéticos, tales como terrenos y edificaciones, virtuales." (Uparella, 2013) “Las simulaciones interactivas en entornos computacionales se compone de dos dimensiones diferentes: control (interactividad baja) y comportamiento interactivo (interactividad alta) (Betrancourt, 2005), ” Mientras que ‘control’ es definido como la habilidad que posee un estudiante para determinar el ritmo de sucesión de fotogramas (por ejemplo realizar una pausa, reproducir, rebobinar, avanzar) el ‘comportamiento interactivo’ incluye actividades de aprendizaje donde el contenido en cuadros sucesivos se determina por las acciones de los estudiantes, con respecto a un parámetro dado. (Seong, Gyumin, & Meekyoung, 2009) 12 3D (Tridimensional): Tres dimensiones o también llamado tridimensional. En computación, las tres dimensiones son el largo, el ancho y la profundidad de una imagen. Técnicamente hablando el único mundo en 3D es el real, la computadora sólo simula gráficos en 3D, pues, en definitiva toda imagen de computadora sólo tiene dos dimensiones, alto y ancho (resolución). En la computación se utilizan los gráficos en 3D para crear animaciones, gráficos, películas, juegos, realidad virtual, diseño, etc. Tipos de simulación Identidad: "Es cuando el modelo es una réplica exacta del sistema en estudio. Es la que utilizan las empresas automotrices cuando realizan ensayos de choques de automóviles utilizando unidades reales." (Fishman, 1978) Cuasi-identidad: "Se utiliza una versión ligeramente simplificada del sistema real. Por ejemplo, los entrenamientos militares que incluyen movilización de equipos y tropas pero no se lleva a cabo una batalla real." (Fishman, 1978) Laboratorio: Se utilizan modelos bajo las condiciones controladas de un laboratorio. Se pueden distinguir dos tipos de simulaciones: Juego operacional: "Personas compiten entre ellas, ellas forman parte del modelo, la otra parte consiste en computadoras, maquinaria, etc. Es el caso de una simulación de negocios donde las computadoras se limitan a recolectar la información generada por cada participante y a presentarla en forma ordenada a cada uno de ellos." (Fishman, 1978) Hombre-Máquina: "Se estudia la relación entre las personas y la máquina. Las personas también forman parte del modelo. La computadora no se 13 limita a recolectar información, sino que también la genera. Un ejemplo de este tipo de simulación es el simulador de vuelo." (Fishman, 1978) Simulación por computadora: "El modelo es completamente simbólico y está implementado en un lenguaje computacional. Las personas quedan excluidas del modelo. Un ejemplo es el simulador de un sistema de redes de comunicación donde la conducta de los usuarios está modelada en forma estadística. Este tipo de simulación a su vez puede ser Digital (Cuando se utiliza una computadora digital) o Análoga (Cuando se utiliza una computadora analógica) En este grupo también se pueden incluir las simulaciones que utilizan modelos físicos." (Fishman, 1978) Blender: Es un programa informático multiplataforma gratuito y de código libre, de animación 3D, compatible con la totalidad del 3D pipeline (modelado, rigging, animación, simulación, rendering, composición y seguimiento de movimiento, edición de video y creación de juegos). Gracias a su característica multiplataforma tiene un adecuado funcionamiento en Linux, Windows y Macintosh, su interfaz se caracteriza por el uso de OpenGL. Blender maneja la representación de escenas 3D, mediante sus motores gráficos (por defecto trae 3 motores gráficos de pre-renderizado y uno en tiempo real), estos son: Interno: "Es el original de Blender y aún es el seleccionado por defecto al ejecutar por primera vez la aplicación, usado para escenas simples, crea los renderizados con más rapidez que Cycles. Pero requiere de más esfuerzo, por parte del usuario, el obtener resultados con aspecto foto realista cuando la escena es compleja." (Blender.org, 2014) 14 Cycles: "Es un motor más reciente y basado en el trazado de rayos de luz, está basado en una técnica conocida como BRDF2. Está pensado para crear imágenes fotos realistas de forma más sencilla. Pero crea imágenes con más ruido que el llamado 'motor interno', el tiempo de renderizado es mayor (al menos para escenas simples), y aún carece de renderizado volumétrico." (Blender.org, 2014) Freestyle: "Es un motor enfocado a crear trazos que simulan dibujos hechos a mano, fue introducido en la versión 2.67 de Blender. No está pensado para ningún tipo de dibujo en concreto, sino que tiene una gran cantidad de parámetros que permiten configurar una gran cantidad de estilos de dibujo." (Blender.org, 2014) Motor Gráfico en tiempo real: "Este motor se basa en OpenGL3, y Blender lo emplea tanto para la edición del escenario 3D (a través del editor llamado '3D View') como para su motor de juegos ('GameEngine')." (Blender.org, 2014) Three.js: "Es un motor 3D ligero y eficiente, que permite la creación de GPU acelerada por animaciones en 3D utilizando el lenguaje JavaScript como parte de una página Web, sin depender de los propios plugins del navegador, todo esto hace que el autor cree complejas animaciones en 3D que se muestran en el navegador sin la necesidad de aplicaciones independientes o plugins adicionales. " (Three.js, 2014) 2 BRDF (Bidirectional Reflectance Distribution Function): Es una función de cuatro dimensiones que define cómo la luz se refleja en una superficie opaca 3 OpenGL: Es una especificación estándar que define una API multilenguaje y multiplataforma para escribir aplicaciones que produzcan gráficos 2D y 3D 15 6.3. OPEN UP OpenUP es un proceso unificado delgado que aplica enfoques iterativos e incrementales dentro de un ciclo de vida estructurado. Adopta una filosofía pragmática y ágil que se centra en la naturaleza colaborativa del desarrollo de software. Es un proceso que no necesita de muchas herramientas ni ceremonias (tools-agnostic, low-ceremony) y puede ser extendido para hacer frente a una amplia variedad de tipos de proyectos. (Eclipse.org, 2014). Figura 6.1: Capas de OpenUP, micro-incrementos, ciclo de vida de iteración y ciclo de vida del proyecto. Fuente: (Eclipse.org, 2014) 16 6.4. APLICACIONES WEB Una aplicación Web es un sitio Web que contiene páginas con diferentes contenidos permitiendo a los usuarios interactuar con varios elementos dependiendo de la funcionalidad y propósito del sitio. En cuanto al funcionamiento de una aplicación web, se puede decir que esta es un conjunto de páginas Web estáticas y dinámicas. Las páginas estáticas son aquellas que muestran información permanente, normalmente se crean solo con lenguaje HTML, y estas no permiten el desarrollo de funcionalidades diferentes, son aquellas que no cambian cuando un usuario las solicita, simplemente el servidor Web envía la página al navegador sin modificarla. Las páginas Web dinámicas a diferencia de las estáticas, son aquellas que permiten definir las diferentes características y funcionalidades que debe cumplir la aplicación Web de acuerdo a las necesidades que se quieran suplir, usualmente se crean con diferentes lenguajes que permiten la interacción de los usuarios con la aplicación, son de naturaleza cambiante ya que el servidor modifica este tipo de páginas antes de enviarlas al navegador. Durante la creación de una aplicación Web, es importante llevar a cabo procesos de diseño previos a la elaboración o desarrollo de la aplicación como tal, con el fin de obtener un modelo guía que garantice la creación de una aplicación Web de calidad donde todo su contenido este bien estructurado y sea entendible. A continuación se nombran algunas de las metas de diseño que establece Jean Kaiser como necesarias y que se deben tener en cuenta para cualquier tipo de aplicación Web sin importar su dominio, tamaño o complejidad: 17 Simplicidad: “El contenido de una aplicación Web debe ser informativo pero moderado, y debe utilizar un modo de entrega que resulte apropiado para la información que se envíe, la estética debe ser agradable pero no abrumadora. La arquitectura debe lograr los objetivos de la aplicación Web de la manera más sencilla posible. La navegación debe ser directa y sus mecanismos, obvios para la intuición del usuario final. Las funciones deben ser fáciles de utilizar y más fáciles de entender”. (S. Pressman, 2010) Consistencia: “El contenido debe construirse de modo congruente, por ejemplo el formato y tipografía del texto deben ser los mismos en todos los documentos de texto, las imágenes deben tener coherencia en su aspecto, color y estilo. El diseño gráfico debe presentar una vista consistente en todas las partes de la aplicación Web. El diseño de la interfaz debe definir modos consistentes de interacción, navegación y despliegue del contenido. Los mecanismos de navegación deben usarse de manera consistente en todos los elementos de la aplicación”. (S. Pressman, 2010) Identidad: “El diseño de la estética, la interfaz y la navegación de una aplicación Web deben ser consistentes con el dominio de la aplicación para la que se va a elaborar. La arquitectura de la Webapp será diferente por completo, las interfaces se construirán para que reciban a distintas categorías de usuarios, la navegación se organizara para que cumpla objetivos diferentes.” (S. Pressman, 2010) Robustez: “Se espera que una aplicación Web tenga contenido y funciones robustas que sean relevantes para las necesidades del usuario.” (S. Pressman, 2010) Navegabilidad: “La navegación debe ser sencilla y consistente, también debe estar diseñada en forma tal que sea intuitiva y predecible, además es 18 importante tener vínculos hacia el contenido y las funciones de la aplicación Web en una ubicación predecible.” (S. Pressman, 2010) Atractivo visual: Es importante que una aplicación Web sea agradable a los ojos de los usuarios, ya que estas son consideradas las más visuales, dinámicas y estéticas. Compatibilidad: “Una aplicación Web debe diseñarse para que sea compatible en con diferentes ambientes, como diferentes hardware, tipos de conexión, sistemas operativos, navegadores etc.” 6.5. TRABAJOS ACTUALES PHET interactive simulations La plataforma de PHET brinda a los usuarios la oportunidad de interactuar con diferentes tipos de simulaciones tanto de ciencias como de matemáticas. Todas las simulaciones presentes en PHET son realizadas en dos dimensiones. (Colorado, 2014) CasteGames Studio Venezuela Es una empresa dedicada a ofrecer soluciones online mediante el uso de Entornos Virtuales 3D, ofreciendo plataformas para soluciones e-learning 3D, Plataformas de Videoconferencias unidas a Plataformas e-learning (MOODLE), alquiler de Escuelas Virtuales , salas para conferencias , Auditorios, Museos, entre otros. (CasteGames Studio, 2014) 19 Plataformas virtuales 3D para el aprendizaje Científicos de la Universidad Carlos III de Madrid (UC3M) investigan cómo utilizar mundos virtuales en tres dimensiones para la enseñanza, utilizando como base el mundo virtual Second Life, tomando en cuenta todos los ingredientes que se le debe agregar para ser llamado “plataforma de aprendizaje”. (U. Carlos III de Madrid, 2014) Prototipo de Campus Virtual Innova-T3 Prototipo propuesto por estudiantes de la Corporación Universitaria Minuto de Dios en Bogotá, Colombia. Con el cual buscan construir e implementar un medio innovador de aprendizaje en donde se fomente el aprendizaje colaborativo usando un entorno 3D con el aspecto de las instalaciones. (Quinche & Gonzáles, 2011) 6.6. OBJETOS DE APRENDIZAJE Con el paso del tiempo y el continuo desarrollo tecnológico, ha surgido un nuevo concepto que involucra la forma de enseñanza y como esta se ha visto complementada y apoyada con diferentes herramientas, con el propósito de hacer que los procesos de aprendizaje sean más didácticos y así retener más fácil la atención de los estudiantes, para que estos aprendan diferentes conceptos de manera más efectiva; este es un Objeto de Aprendizaje. Un objeto de aprendizaje según el Ministerio de Educación Nacional de Colombia se define como; “un conjunto de recursos digitales, auto-contenible y 20 reutilizable, con un propósito educativo y constituido por al menos tres componentes internos: Contenidos, actividades de aprendizaje y elementos de contextualización. El objeto de aprendizaje debe tener una estructura de información externa (metadatos) que facilite su almacenamiento, identificación y recuperación.” (Ministerio de Educación Nacional, 2015), esta definición fue realizada exclusivamente para los objetos de aprendizaje encaminados a suplir las necesidades específicas para las instituciones de Colombia según el tipo de requerimiento que se desee suplir con estas herramientas. Otra definición de objeto de aprendizaje según la Facultad de Educación y Trabajo social de la Universidad de Sydney es: “un objeto de aprendizaje es cualquier recurso digital que pueda ser reutilizado para apoyar los procesos de aprendizaje” (University of Sydney, 2015). Es apropiado afirmar que los objetos de aprendizaje son recursos importantes para la comunidad e-learning4 ya que estos no solo brindar una forma de aprender un tema específico a través de internet sino que también puede llegar a ser una herramienta que permite la reutilización de diferentes materiales de aprendizaje, ya que los recursos multimedia tienen la facilidad de poder ser utilizados una y otra vez para diferentes propósitos. (Siti Zaiton, Siti Fadzilah, & Norazah, 2011) 4 E-learning (aprendizaje electrónico) se refiere a los procesos de enseñanza-aprendizaje que se llevan a cabo a través de internet. 21 7. METODOLOGÍA 7.1. DISEÑO DE LA INVESTIGACIÓN Durante el diseño de la investigación, se realizó la búsqueda y posterior análisis de algunas metodologías para tener puntos de referencia al escoger una metodología de desarrollo que se acoplara a las necesidades y a la naturaleza del proyecto. Hablando de las ventajas y desventajas de cada metodología, se tiene que OpenUP es una metodología flexible que toma las mejores prácticas de RUP haciendo que el proceso de diseño e implementación del software sean más simples y estén distribuidas a lo largo del tiempo de desarrollo del proyecto, además de brindar libertad en cuanto a la ampliación o reducción del modelo, sin abarcar todos los aspectos que involucra RUP, ya que esta metodología da la impresión que es necesario hacer uso de todos los elementos del proyecto, lo cual se puede tornar tedioso, provocando la prolongación innecesaria del desarrollo, haciendo que esta metodología no sea indicada para este tipo de proyectos sino más bien para proyectos grandes que estén estructurados a largo plazo y con equipos de desarrollo muy grandes. Por otro lado la aplicación de una metodología como SCRUM hubiese representado inconvenientes en cuanto a cada una de las iteraciones, teniendo en cuenta que exige el cumplimiento riguroso de fechas y reuniones en las cuales se sabrá que artefactos se deben entregar, y si por algún motivo no se logra satisfacer el objetivo propuesto, se tendría que reevaluar completamente la iteración. Esto no sucede con OpenUP, ya que da libertad de tomar decisiones en casos como estos. 22 Finalmente se hizo la comparación con la metodología ágil XP. No fue elegida, ya que al estudiar sus diferentes características, se encontró que llevando a cabo sus prácticas no es posible establecer adecuadamente el tiempo de duración del proyecto, lo cual presentaba desventajas a la hora de organizar las actividades y tareas de cada uno de los miembros del equipo de trabajo. 7.1.1. Tipo de estudio metodológico Investigación aplicada: Es un estudio basado en la práctica, buscando la aplicación de los conocimientos adquiridos durante toda la recolección de información resultante de la investigación básica, expresando y resaltando el interés del investigador por las consecuencias prácticas de su investigación. La investigación aplicada maneja una estructura determinada, la cual consiste en los siguientes 8 ítems: Antecedentes Hipótesis y Objetivos Información Utilizada Método de análisis Resultados Discusión Conclusiones Referencias Bibliográficas Orden cualitativo: Una investigación basada en un enfoque de carácter cualitativo toma en cuenta la fenomenología como alternativa de análisis, tomando el conocimiento como un punto de vista que tiene en cuenta las percepciones, acciones y reacciones resultantes de la interacción con la investigación. 23 7.2. TÉCNICA METODOLÓGICA Para el desarrollo del proyecto se toma como base la metodología ágil OpenUP, teniendo en cuenta que su desarrollo es iterativo e incremental, lo cual contribuye con el proceso del proyecto. Teniendo en cuenta las características de Open UP se tienen las siguientes fases a desarrollar: Inicio: Se hace un estudio y análisis del proyecto, en donde las tareas de planteamiento del problema, definición de objetivos, y obtención de información relacionada con el proyecto, son de gran importancia para establecer un plan de trabajo, en donde se capturan las necesidades del proyecto y sus interesados. Elaboración: Se toma como guía lo especificado en la fase de inicio, evaluando los riesgos significativos que se presenten en la ejecución del proyecto, para así seleccionar las tecnologías adecuadas en la construcción de la solución. Construcción: Se tiene en cuenta la inclusión de los flujos con sentido de implementación, distribuyendo los avances en iteraciones cortas, destacando la construcción de una versión ejecutable del proyecto. Transición: Se realiza una retroalimentación en base a la presunta interacción del usuario con la aplicación, en donde se incorporarán refinamientos al sistema, tomando como referencia las iteraciones siguientes. (Eclipse.org, 2014) Para llevar a cabo este proyecto, se pretende dividir todo el proceso de diseño y desarrollo, en 5 hitos: 24 Figura 7.1: Hitos – Simulación interactiva Inicio Hito 1 Modelado del Entorno Hito 2 Construcción de herramientas de interacción Hito 3 Diseño de la aplicación de apoyo a la enseñanza (Fase actual en desarrollo) Hito 4 Desarrollo de la aplicación de apoyo a la enseñanza Hito 5 Integración Modelado y Desarrollo Fuente: Elaboración propia. Hito 1: Modelado del entorno Se realizará el diseño y modelado del salón de clases, incluyendo en el entorno una tarima que define el espacio donde se va a llevar a cabo la interacción, realizando el desarrollo de este entorno en Blender, ya que está integrada en la biblioteca de exportación de three.js (librería que se va a usar para hacer la implementación del entorno de aprendizaje) y es mejor en cuanto a técnicas de texturizado, haciendo más cómoda la fabricación de la estructura. Hito 2: Construcción de herramientas de interacción. Teniendo en cuenta los tres experimentos que se llevarán a cabo (Caída Libre, Péndulo Simple y Movimiento Parabólico), es necesario diseñar y modelar todas las herramientas de laboratorio necesarias para el desarrollo de estos 25 fenómenos físicos. Para esta tarea se usará la aplicación Blender, en la cual es posible manejar de manera adecuada las texturas, tamaños, iluminación, y demás características que juegan un papel importante en la realización de componentes atractivos a la vista, agregando calidad al proyecto. Hito 3: Diseño de la aplicación de apoyo a la enseñanza. Se realizará el diseño que va a llevar a cabo toda la simulación, este se pretende plantear con el fin de tomar en cuenta todas las características de los experimentos presentes en el entorno de enseñanza, logrando así que los estudiantes puedan interactuar, tomando como guía una visión practica del planteamiento de la teoría de la gravedad de Newton, siendo esta una pequeña introducción para mostrar las funcionalidades, que pueden más adelante permitir la inclusión de nuevas temáticas. Hito 4: Desarrollo de la aplicación de apoyo a la enseñanza Se realizará el desarrollo del software utilizando herramientas de interfaz, con alto grado de compatibilidad y bajo acoplamiento, haciendo que la aplicación pueda ser desplegada en dispositivos que soporten el protocolo HTML5. Hito 5: Integración del modelado y desarrollo. En esta parte se integrarán las secciones esenciales del proyecto, las cuales son: el modelado del entorno y el software que provee el comportamiento de los objetos, agregando todo aquello que hace al proyecto interactivo. La integración se realiza utilizando la librería; three.js, permitiendo la conexión de cada una de las piezas modeladas y su visualización en un entorno Web, abriendo canales de comunicación y creando la interacción necesaria, entre usuario y los experimentos. 26 8. ANÁLISIS, DISEÑO Y DESARROLLO En esta sección se llevaron a cabo diferentes procesos con los cuales se muestra una visión general de todo el proyecto, inicialmente se hizo un análisis de todas las características del producto de software desde su composición estructural, de funcionalidades y procesos, aplicado a las simulaciones interactivas en el campo de la física Newtoniana como modelo de negocio, mediante diferentes tipos de representaciones como el Lenguaje de Modelo Unificado (UML). Una vez terminado el modelado y análisis de los requerimientos, se modelan los casos de uso, posteriormente se complementan con diagramas que permiten establecer vistas de interacción y de comportamiento para detallar el modelo de negocio, como; diagrama de secuencia, diagrama de estado y diagrama de componentes, para describir el comportamiento que puede tener el sistema en los diferentes escenarios de interacción con los usuarios finales que se relacionan con el prototipo de software. Según Roger S. Pressman (S. Pressman, 2010) en el diseño Web es necesario tener presentes las siguientes 6 etapas: I. Diseño del contenido: Bosquejo de los objetos del contenido teniendo como base el contenido del modelo. II. Diseño estético o gráfico: Vista que percibe el usuario final. III. Diseño arquitectónico: Evidencia la estructura que tendrán todos los objetos y funciones del contenido. IV. Diseño de la interfaz: Presenta los mecanismos de distribución del contenido. 27 V. Diseño de navegación: Forma en la que el usuario final navega a través de la página. VI. Diseño de los componentes: Muestra la estructura interna de los elementos funcionales. Estas 6 etapas son importante para realizar el diseño Web, ya que este permite evaluar la calidad que tendrá el ejecutable Web basándose en los diferentes modelos obtenidos, creando la posibilidad de hacerle mejoras antes de iniciar con el proceso de desarrollo. 8.1. ANÁLISIS DE REQUERIMIENTOS En esta sección se detalla el proceso que se llevó a cabo para realizar el levantamiento de los requerimientos funcionales y no funcionales del sistema, ya que; “El modelo de requerimientos brinda una indicación detallada de la verdadera estructura del problema y da una perspectiva de la forma de solución.” (S. Pressman, 2010). Durante el modelado de los requerimientos, se obtuvo un compilado de las características generales del sistema, para llegar a esto se tomaron todas las funcionalidades visibles teniendo en cuenta su tamaño y complejidad, en un principio se hizo la distinción de todas las funcionalidades y a continuación se llevó a cabo el análisis de los requerimientos resultantes para brindar una forma explícita y ordenada de representar los escenarios de simulación que deben ser desarrollados, basándose en los siguientes modelos propuestos por Roges S. Pressman (S. Pressman, 2010): 28 Modelo de interacción: Detalla la forma en que los usuarios interactúan con el ejecutable Web. Modelo de navegación: Establece la forma de navegación que tiene el ejecutable Web. Modelo de contenido: Muestra todo el contenido que dará el ejecutable Web. Además de los modelos especificados anteriormente, también se tuvo en cuenta el modelo FURPS (Functional, Usability, Reliability, Performance, Supportability) (Caswell & Grady, 1978) para la definición, análisis y modelado de los requerimientos. Por último se realizó la clasificación y división de requerimientos entre funcionales y no funcionales los cuales se presentaron a continuación: Tabla 8.1: Requerimientos del sistema ID Requerimiento Req. Obligatorio F/NF Opcional Deseable R01 Quien realiza la práctica puede definir el valor de la altura desde F Obligatorio donde son lanzadas las esferas. R02 Obtener el tiempo de duración de la caída del objeto. F Obligatorio R03 Elegir la amplitud del péndulo con respecto a su posición de origen. F Obligatorio R04 Elegir la longitud que tendrá la cuerda que sostiene el objeto. F Obligatorio R05 Registrar el periodo de cada oscilación realizada por el péndulo F Obligatorio durante la práctica establecida. R06 Elegir distancia que recorrerá el objeto por medio de una rampa. F Obligatorio R07 Obtener el tiempo de duración del movimiento parabólico para F Obligatorio F Obligatorio F Obligatorio cada etapa de la práctica. R08 Registrar el impacto del proyectil en una superficie vertical de contacto situada frente a la rampa. R09 Ubicar la superficie de contacto a diferentes distancias de la rampa. 29 R10 Permitir el registro sistemático del valor de los impactos del F Obligatorio proyectil en la superficie de contacto. R11 Aumentar el valor de la fuerza de gravedad. F Obligatorio R12 Disminuir el valor de la fuerza de gravedad. F Obligatorio R13 Aumentar el tamaño de los objetos. F Obligatorio R14 Disminuir el tamaño de los objetos. F Obligatorio R15 Posibilidad de interacción con diferentes elementos presentes en F Obligatorio el escenario. R16 Posibilidad de movimiento en el escenario. F Obligatorio R17 Usar dispositivos de señalamiento estándar como mouse o F Obligatorio teclado. R18 Deseable Referenciar la posición en la que se encuentra el usuario (de lo F contrario, se puede producir desorientación) Opcional Deseable R19 Representar de forma tridimensional los fenómenos de estudio. F Obligatorio R20 Consultar listado de experimentos. F Opcional Deseable R21 Elegir un experimento. F Opcional Deseable R22 Agregar un experimento F Obligatorio R23 Representar de forma tridimensional un aula de clases. F Obligatorio R24 Configurar escenarios de experimentación F Obligatorio R25 Mantener la compatibilidad con navegadores como Mozilla Firefox NF Obligatorio y Google Chrome. Deseable R26 Realizar modificaciones en tiempo de ejecución. NF Obligatorio R27 Generar modelos 3D agradables para el usuario. NF Obligatorio R28 Tener mecanismos de actualización adecuados. NF Obligatorio R29 Garantizar que la percepción de los objetos no dependa de otros NF Obligatorio recursos de maquina R29 Garantizar un comportamiento Deseable similar a los fenómenos F Obligatorio observados. R30 Lograr una experiencia espacial creíble NF Deseable R31 Lograr una representación dinámica convincente NF Deseable R32 Utilizar modelos matemáticos del experimento caída libre F Obligatorio 30 R33 Utilizar modelos matemáticos del experimento péndulo simple F Obligatorio R34 Utilizar modelos matemáticos del experimento movimiento F Obligatorio parabólico R35 Interfaz amigable con el usuario NF Deseable R36 Definir los modelos 3D de forma que se puedan integrar como NF Obligatorio NF Obligatorio F Obligatorio recursos pedagógicos. R37 Reproducir y cargar recursos adecuadamente. R38 Diseñar un experimento Deseable Fuente: Elaboración propia. 8.1.1. Requerimientos funcionales Para establecer los requerimientos funcionales del sistema se tomaron todas las características y capacidades operativas encontradas según las funciones con las que debe contar una simulación. Después de definir el alcance y la naturaleza del problema, se inició la indagación de los objetivos esenciales que debía cumplir el sistema, para determinar las funcionalidades que tendría el prototipo, se hizo el proceso de análisis en cada iteración del ciclo de vida del software, teniendo en cuenta, que en la fase de inicio se captura la información necesaria para el desarrollo, logrando finalmente construir una lista de requerimientos funcionales que contemplen los aspectos principales de la simulación. Para determinar la prioridad y dependencia de los requerimientos, se realizó un cruce entre ellos mismos (Tabla 8.4), y se estableció un sistema para obtener un rango de valores, resultando en las categorías mostradas en las siguientes tablas: 31 Tabla 8.2: Rangos y categorías establecidas para la prioridad de los RF. Prioridad Rango Categoría 0-2 Baja 3-4 Media - Baja 5-8 Media 9 - 11 Media - Alta 12 - 16 Alta Fuente: Elaboración propia. Tabla 8.3: Rangos y categorías establecidas para la dependencia de los RF. Dependencia Rango Categoría 0-3 Baja 4-7 Media 8 - 10 Alta Fuente: Elaboración propia. Después de obtener la matriz de cruce de requerimientos funcionales, se utilizó el sistema de rangos explicado anteriormente, con el fin de tener un punto de partida en cuanto a la implementación de las diferentes funcionalidades, teniendo en cuenta que los requerimientos con alta dependencia son los más complicados de implementar porque involucran a otros requerimientos para lograr su ejecución. Los requerimientos de mayor prioridad tendrán prelación a la hora de implementar, ya que estos dan solución a otros requerimientos por lo tanto deben ser desarrollados primero. 32 RF01 RF02 RF03 RF04 RF05 RF06 RF07 RF08 RF09 RF10 RF11 RF12 RF13 RF14 RF15 RF16 RF17 RF18 RF19 RF20 RF21 RF22 RF23 RF24 RF25 RF26 RF27 RF28 RF29 Dependencia RF Tabla 8.4: Matriz de dependencia Requerimientos Vs Requerimientos. Prioridad/Dependencia Requerimientos Funcionales RF01 Definir valor de altura. CL RF02 Obtener tiempo de duración. CL X X X X X X X X X X X X X X 8 X X 10 X X RF03 Elegir la amplitud del péndulo. PS X X X X X X X X 8 RF04 Elegir la longitud de la cuerda. PS Registrar el periodo de cada RF05 oscilación. PS Elegir distancia por medio de una RF06 rampa. MP X X X X X X X X 8 X X X X X X X X X X X X X X X X X RF07 Obtener el tiempo de duración MP Registrar el impacto del proyectil RF08 en la superficie de contacto. MP Ubicar la superficie de contacto a RF09 diferentes distancias. MP Permitir el registro del valor de los RF10 impactos del proyectil. MP X X X X X X X X X X X X X X X X X X X X X X X X X X X RF13 Aumentar tamaño de los objetos. RF14 Disminuir tamaño de los objetos. Interacción con elementos del RF15 escenario. Posibilidad de movimiento en el RF16 escenario. Usar dispositivos de señalamiento RF17 estándar. X X 8 X X X X X X X X X X X X X X 7 X X X X X X X 7 X X X X X X X X X 7 X 8 5 5 RF20 Consultar listado de experimentos. X 1 X X X 4 X 1 1 X RF21 Elegir un experimento. X 1 X X 3 X X X X X X 1 5 X X X X X X X X X X X X X X 2 0 2 2 0 4 0 2 2 3 5 5 3 3 7 7 9 3 18 1 0 14 14 12 17 5 5 5 9 33 8 X X X X Fuente: Elaboración propia. 10 7 X RF29 Diseñar experimentos 11 X X X X X RF22 Agregar un experimento Representar de forma RF23 tridimensional un aula de clases. Configurar escenarios de RF24 experimentación Garantizar un comportamiento RF25 similar a los fenómenos. Utilizar modelos matemáticos de RF26 caída libre Utilizar modelos matemáticos de RF27 péndulo simple Utilizar modelos matemáticos de RF28 movimiento parabólico 11 X X X RF18 Referenciar la posición del usuario. Representar de forma RF19 tridimensional los fenómenos. Prioridad RF X X X X X RF11 Aumentar el valor de gravedad. RF12 Disminuir el valor de gravedad. X 4 3 3 3 1 Haciendo el análisis de la Tabla 8.4 se puede concluir que el requerimiento con mayor prioridad es el RF19 (representar de forma tridimensional los fenómenos) con una valoración de 18, seguido del requerimiento RF25 (garantizar un comportamiento similar de los fenómenos) con una valoración de 16, lo que indica que estos dos requerimientos son de suma importancia y se deben desarrollar primero, en cuanto a la dependencia se puede concluir que los requerimientos más dependientes de otros requerimientos son; RF02, RF05, RF07 que corresponden a, obtener el tiempo de duración de la caída del objeto, registrar el periodo de cada oscilación realizada por el péndulo durante la práctica establecida y obtener el tiempo de duración del movimiento parabólico para cada etapa de la práctica, lo cual concuerda con el flujo de procedimientos que se realizan durante una práctica, ya que para obtener los resultados de la ejecución de un experimento es necesario tener la mayoría de los demás requerimientos implementados. En la Tabla 8.5 existen 4 subsecciones que se establecieron para dividir las funcionalidades específicas de cada experimento, de las funcionalidades generales del sistema y se le dio un código de identificación a cada requerimiento. Tabla 8.5: Requerimientos funcionales del sistema. Cód. Requerimiento Prioridad Dependencia Quien realiza la práctica puede definir el valor de la Baja Alta Baja Alta Baja Alta Baja Alta Caída libre RF01 altura desde donde son lanzadas las esferas. RF02 Obtener el tiempo de duración de la caída del objeto. Péndulo simple RF03 Elegir la amplitud del péndulo con respecto a su posición de origen. RF04 Elegir la longitud que tendrá la cuerda que sostiene el objeto. 34 RF05 Registrar el periodo de cada oscilación realizada por Baja Alta Media – B Alta Baja Alta Baja Alta Baja Media Media – B Media el péndulo durante la práctica establecida. Movimiento parabólico RF06 Elegir distancia que recorrerá el objeto por medio de una rampa. RF07 Obtener el tiempo de duración del movimiento parabólico para cada etapa de la práctica. RF08 Registrar el impacto del proyectil en una superficie vertical de contacto situada frente a la rampa. RF09 Ubicar la superficie de contacto a diferentes distancias de la rampa. RF10 Permitir el registro sistemático del valor de los impactos del proyectil en la superficie de contacto. Generales RF11 Aumentar el valor de la fuerza de gravedad. Media Media RF12 Disminuir el valor de la fuerza de gravedad. Media Alta RF13 Aumentar el tamaño de los objetos. Media – B Media RF14 Disminuir el tamaño de los objetos. Media – B Media RF15 Posibilidad de interacción con diferentes elementos Media Media Media Media Media – A Baja Media – B Media Alta Baja presentes en el escenario. RF16 Posibilidad de movimiento en el escenario. RF17 Usar dispositivos de señalamiento estándar como mouse o teclado. RF18 Referenciar la posición en la que se encuentra el usuario (de lo contrario, se puede producir desorientación) RF19 Representar de forma tridimensional los fenómenos de estudio. RF20 Consultar listado de experimentos. Baja Baja RF21 Elegir un experimento. Baja Baja 35 RF22 Agregar un experimento Alta Baja RF23 Representar de forma tridimensional un aula de Alta Baja Alta Media Alta Baja Media Baja clases. RF24 Configurar escenarios de experimentación RF25 Garantizar un comportamiento similar a los fenómenos observados. RF26 Utilizar modelos matemáticos del experimento caída libre RF27 Utilizar modelos matemáticos del experimento Media Baja matemáticos del experimento Media Baja Media – A Baja péndulo simple RF28 Utilizar modelos movimiento parabólico RF29 Diseñar experimentos Fuente: Elaboración propia. 8.1.2. Requerimientos no funcionales Para identificar los requerimientos no funcionales, se tomaron en cuenta diferentes aspectos que no influyen directamente en el comportamiento del sistema, pero que son importantes en la relación con el usuario, teniendo esto como referencia se establecieron algunas características que debe tener el prototipo (tomadas del modelo FURPS) para garantizar el cumplimiento de la calidad del ejecutable Web, además de brindar una experiencia agradable a los usuarios: Funcionalidad o Características de navegación y de conexión Usabilidad o facilidad de uso o Comprensión global del sitio o Características y estética de la interfaz de usuario 36 o Accesibilidad o Documentación o Consistencia Confiabilidad o Disponibilidad (media porcentual del tiempo que la aplicación Web se podrá utilizar) o Precisión o Procesamiento correcto de los vínculos Desempeño o Rendimiento o Eficiencia en el tiempo de respuesta o Velocidad de procesamiento (generación de gráficos) o Uso de los recursos Soportabilidad o Adaptabilidad o Compatibilidad o Escalabilidad (capacidad del prototipo para ser ampliable) Tabla 8.6: Requerimientos no Funcionales Cód. Requerimiento RNF01 Mantener la compatibilidad con navegadores como Mozilla Firefox y Google Chrome. RNF02 Realizar modificaciones en tiempo de ejecución. RNF03 Generar modelos 3D agradables para el usuario. RNF04 Tener mecanismos de actualización adecuados. RNF05 Garantizar que la percepción de los objetos no dependa de otros recursos de maquina 37 RNF06 Lograr una experiencia espacial creíble RNF07 Lograr una representación dinámica convincente RNF08 Interfaz amigable con el usuario RNF09 Definir los modelos 3D de forma que se puedan integrar como recursos pedagógicos. RNF10 Reproducir y cargar recursos adecuadamente. Fuente: Elaboración propia. 8.2. ANÁLISIS Y DISEÑO Para llevar a cabo un modelo de análisis consistente, se tomó en cuenta el modelo de interacción para aplicaciones Web, el cual se adapta muy bien con las funcionalidades de la simulación como ejecutable Web, este modelo se explica en el libro Ingeniería del Software de Roger S. Pressman quien plantea que la conversación que existe entre usuario final y funcionalidad, contenido y comportamiento del sistema “se puede describir con el uso de un modelo de interacción que se compone de uno o más de los siguientes elementos: 1) casos de uso, 2) diagramas de secuencia, 3) diagramas de estado y 4) prototipos de la interfaz de usuario”. (S. Pressman, 2010). Aunque es cierto afirmar que realizar un prototipo de la interfaz de usuario es una actividad propia del diseño y no del modelo de análisis, es importante incluirlo en esta etapa ya que permite visualizar la estética general y las conexiones entre el usuario final y el ejecutable Web, con el fin de hacer revisiones constantes para llegar a entregar un producto acorde a lo que el usuario desea. 38 8.2.1. Actores del sistema En base a los requerimientos y necesidades identificadas se obtuvieron los siguientes actores principales y secundarios (Figura 8.1): 8.2.1.1. Actores principales: Profesor: Interactúa directamente con el entorno de aprendizaje y configura los escenarios de experimentación, con respecto a la intencionalidad u objetivos para cada actividad o sesión programada. Estudiante: Interactúa directamente con el entorno de aprendizaje para realizar los experimentos, puede ejecutar los experimentos de forma independiente o configurarlos para adherirse a las instrucciones que estableció el profesor. 8.2.1.2. Actor secundario: Administrador: Se encarga de agregar al prototipo los diferentes experimentos que han sido implementados previamente por el desarrollador de software, además de esto establece la representación tridimensional que tendrán los experimentos dependiendo del tipo de experimento que se requiera. 39 Figura 8.1: Actores del sistema. Fuente: Elaboración propia. Los servicios y funcionalidades comunes a Profesor y Estudiante, permiten generalizar en otro actor nombrado como Usuario. 8.2.2. Casos de uso Teniendo claro los requerimientos funcionales y no funcionales del sistema, es necesario mostrar la interpretación que le dan los usuarios finales al prototipo, para esto se hace un análisis de los requerimientos y se construyen los casos de uso, en los cuales se describe el comportamiento del sistema en los diferentes 40 escenarios, exponiendo como el sistema responde a una petición hecha por sus usuarios finales y la interacción presente en circunstancias específicas. 8.2.2.1. Priorización y Complejidad de Casos de Uso Una vez identificados los actores y teniendo los requerimientos funcionales definidos y priorizados se identificaron diferentes casos de uso. Para determinar su prioridad, dependencia y complejidad, se realizaron dos matrices, una de casos de uso vs casos de uso (Tabla 8.10) y otra de casos de uso vs requerimientos funcionales (Tabla 8.11). La primera matriz muestra una relación de dependencia entre casos de uso identificando la prioridad con respecto a ellos mismos, teniendo en cuenta cuales casos de uso son más dependientes de otros, lo cual permite identificar cuáles son más importantes en la implementación porque muchos casos de uso dependen de estos, y la segunda matriz muestra los casos de uso que cubren uno o más requerimientos funcionales, indicando cuáles de ellos integran varias de las funcionalidades principales del prototipo de software, dándoles un determinado valor de complejidad, además gracias a esta matriz, fue posible observar por cuantos casos de uso está cubierto cada requerimiento. En cuanto a la prioridad también se realizó una prelación según los casos de uso que dependieran o estuvieran involucrados entre ellos conforme a los diagramas de caso de uso resultantes (mostrados en la sección 8.2.3). Para determinar los rangos de la prioridad y complejidad de los casos de uso, se estableció un sistema para obtener un rango de valores, resultando en las categorías mostradas a continuación: 41 Tabla 8.7 Rangos y categorías establecidas para la prioridad de los CU. Prioridad Rango Categoría 0–1 Baja 2–3 Media - Baja 4–5 Media 5–7 Media - Alta 8 – 14 Alta Fuente: Elaboración propia. Tabla 8.8: Rangos y categorías establecidas para la cobertura de los CU. Complejidad Rango Categoría 0-1 Baja 2-4 Media 5-… Alta Fuente: Elaboración propia. Tabla 8.9: Rangos y categorías establecidas para la dependencia de CU. Dependencia Rango Categoría 0-2 Baja 3-5 Media 6-8 Alta Fuente: Elaboración propia. Teniendo en cuenta estos rangos se puede observar que existe 1 caso de uso que tiene un nivel muy alto de dependencia con respecto a los otros; CU10 (registrar tiempo de experimentación), ya que para capturar y registrar el tiempo en 42 los diferentes fenómenos, se tuvo que haber interactuado con el experimento para posteriormente ejecutarlo y así obtener todos los tiempos de experimentación establecidos para cada práctica, coincidiendo con el diseño. Tabla 8.10: Matriz de Casos de uso Vs Casos de uso Casos de uso CU01 CU02 CU03 CU04 CU05 CU06 CU07 CU08 CU09 CU10 CU11 CU12 CU13 CU14 CU15 CU16 CU17 CU18 CU19 CU20 Dependencia CU Prioridad/Dependencia CU01 Experimentar Caída Libre X X X X X 5 CU02 Experimentar Movimiento Parabólico X X X X X 5 CU03 Experimentar Péndulo Simple X X X X X 5 CU04 Agregar experimento X 1 CU05 Realizar representaciones 3D X X CU06 Consultar listado de experimentos CU07 Elegir experimento X 2 X 1 X 2 CU08 Elegir amplitud X X X 3 CU09 Elegir longitud de la cuerda X X X 3 CU10 Registrar tiempos de experimentación X X CU11 Elegir distancia del proyectil CU12 Definir valor de la altura CU13 Realizar experimento Configurar escenarios de CU14 experimentación CU15 Modificar tamaño de los objetos CU16 Modificar valor de la gravedad Interacción y movimiento en el CU17 escenario Usar dispositivos de señalamiento CU18 estándar CU19 Utilizar modelos matemáticos X X X X X X 8 X 3 X X 3 X X X X X 5 0 X X X X X 5 X X X X X 5 X X 2 0 CU20 Diseñar experimentos Prioridad CU X X X X 1 X 1 4 5 5 14 7 1 0 1 1 0 2 1 7 0 4 4 9 5 9 3 Fuente: Elaboración propia. Haciendo el análisis de la matriz anterior, se puede concluir que los casos de uso más importantes son el CU04 (agregar experimento), el CU17 (interacción y movimiento en el escenario) y el CU19 (utilizar modelos matemáticos), lo cual indica que estos 3 casos de uso se deben tener en cuenta primero en la etapa de desarrollo porque sin estos el prototipo no funcionaría correctamente, después de estos se 43 encuentran dos casos de uso que también son muy importantes CU05 (realizar representaciones en forma tridimensional) y CU13 (realizar experimento), ya que de estos depende como se va a llevar a cabo el contenido del prototipo y que podrán hacer los usuarios finales dentro de este. CU01 Experimentar Caída Libre X X Experimentar Movimiento CU02 Parabólico X X X X X Experimentar Péndulo CU03 Simple X X X CU04 Agregar experimento Realizar CU05 representaciones 3D Consultar listado de CU06 experimentos CU07 Elegir experimento CU08 Elegir amplitud Elegir longitud de la CU09 cuerda Registrar tiempo de CU10 experimetación Elegir distancia del CU11 proyectil RF28 RF27 RF26 RF25 RF24 RF23 RF22 RF21 RF20 RF19 2 5 3 X X X 1 X X 4 X 1 X 1 X 1 X 1 X 1 X CU12 Definir valor de la altura X CU13 Realizar experimento X X X X X X X X X X X X X X Configurar escenarios de CU14 experimentación Modificar tamaño de los CU15 objetos X X Modificar valor de la CU16 gravedad X X Interacctuar y desplazar CU17 en el escenario X X Usar dispositivos de CU18 señalamiento estándar X Utilizar modelos CU19 matemáticos CU20 Diseñar experimentos Cubrimiento RF RF18 RF17 RF16 RF15 RF14 RF13 RF12 RF11 RF10 RF09 RF08 RF07 RF06 RF05 RF04 RF03 RF02 Casos de uso RF01 Requerimientos Funcionales RF29 Complejidad CU Tabla 8.11: Matriz de Casos de uso Vs Requerimientos Funcionales 1 1 14 X 1 2 2 X 3 1 X X X X 4 X 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 Fuente: Elaboración propia. 44 1 La última fila de valores en la Tabla 8.11, muestra el número de casos de uso por los cuales fue cubierto ese requerimiento en específico, con el fin de corroborar que todos los requerimientos estuvieran cubiertos al menos por un caso de uso, y así garantizar que todos los requerimientos funcionales sean desarrollados correctamente en los escenarios propuestos; por ejemplo, los requerimientos funcionales del 1 al 10 son cubiertos por 3 casos de uso y es el máximo de casos de uso que llegan a cubrir a un solo requerimiento. A continuación en la Tabla 8.12, se muestra la lista de los casos de uso que se obtuvieron del modelo de análisis, con su respectiva prioridad, dependencia y complejidad/cobertura. Tabla 8.12: Listado de casos de uso de modelo de negocio Cód. Caso de uso de modelo de Prioridad Dependencia negocio Complejidad o cobertura CU01 Experimentar Caída Libre Media Media Media CU02 Experimentar Movimiento Parabólico Media Media Alta CU03 Experimentar Péndulo Simple Media Media Media CU04 Agregar experimento Alta Baja Baja CU05 Realizar representaciones de forma Alta Baja Media tridimensional CU06 Consultar listado de experimentos Baja Baja Baja CU07 Elegir experimento Baja Baja Baja CU08 Elegir amplitud Baja Media Baja CU09 Elegir longitud de la cuerda Baja Media Baja CU10 Registrar tiempos de Baja Alta Baja Media – B Media Baja Baja Media Baja Media – A Media Muy – Alta experimentación CU11 Elegir distancia que recorrerá el proyectil CU12 Definir valor de la altura CU13 Realizar experimento 45 CU14 Configurar escenarios de Baja Baja Baja experimentación CU15 Modificar tamaño de los objetos Media Media Media CU16 Modificar valor de la gravedad Media Media Media CU17 Interactuar y desplazar en el Alta Media Media Media Baja Baja Alta Baja Media Media – B Baja Baja escenario CU18 Usar dispositivos de señalamiento estándar CU19 Utilizar modelos matemáticos de los experimentos CU20 Diseñar experimento Fuente: Elaboración propia. 8.2.2.2. Descripción de casos de uso Después de organizar los diferentes casos de uso, se llevó a cabo la simplificación en 4 casos de uso principales, resumiendo el comportamiento general de la simulación, los cuales son mostrados a continuación en la Tabla 8.13. Tabla 8.13: Listado de casos de uso principales Cod. Casos de uso principales CUP01 Listar experimentos CUP02 Desplazar en el entorno CUP03 Representar en el entorno CUP04 Experimentar Fuente: Elaboración propia. 46 Figura 8.2 Diagrama de caso de uso primario; contiene los casos de uso principales del entorno de aprendizaje y los actores que participan en este. Fuente: Elaboración propia. De los casos de uso principales se elaboraron una serie de tablas (Tabla 8.14, Tabla 8.15, Tabla 8.16, Tabla 8.17), en donde se hace una descripción detallada de cada caso de uso y su influencia sobre: la interacción que existe en el sistema, los escenarios en los que se da la interacción, y los actores específicos que interactúan en cada escenario. 47 Tabla 8.14: Descripción del CUP01 – Listar Experimentos Caso de uso Listar Experimentos. Actor principal Usuario (estudiante, profesor). Actor secundario Ninguno. Objetivo en contexto Observar y elegir alguno de los experimentos disponibles en el sistema. Precondiciones El usuario debió ingresar a la página Web principal. Disparador El usuario decide realizar uno de los experimentos que ofrece el sistema. Escenario 1. Usuario: Elige el navegador en donde va a realizar los experimentos. 2. Usuario: Consulta el listado de experimentos disponibles. 3. Usuario: Elige el experimento que desea realizar. Excepciones Si el usuario elige un navegador no especificado, la experiencia de usuario puede ser limitada. Postcondición El usuario eligió un experimento y empezará a desplazarse en el entorno para iniciar la interacción con este. Prioridad Importante, no esencial. Frecuencia de uso Cada vez que se quiera elegir un experimento. Canal para el actor Navegadores establecidos (Mozilla Firefox, Google Chrome). principal Fuente: Elaboración propia. Tabla 8.15: Descripción del CUP02 – Desplazar en el Entorno Caso de uso Desplazar en el entorno. Actor principal Usuario (estudiante o profesor). Actor secundario Ninguno. Objetivo en contexto Definir la posibilidad y tipos de interacción y movimiento que se tendrá en el entorno de aprendizaje. Precondiciones El usuario debe tener dispositivos que permitan el movimiento y la interacción. 48 Disparador Cuando el usuario elige un experimento y empieza a interactuar con este. Escenario 1. Usuario: Define qué tipo de dispositivos de señalamiento debe utilizar para la interacción con el experimento. 2. Usuario: Abre el experimento. 3. Usuario: Empieza a desplazarse en el escenario. 4. Usuario: Empieza a interactuar con los elementos presentes en el aula. Excepciones En caso de que los dispositivos de señalamiento estándar fallen. Postcondición El entorno de aprendizaje está listo para permitir la interacción y el desplazamiento en el espacio, utilizando los diferentes dispositivos de señalamiento estándar establecidos. Prioridad Esencial, debe implementarse. Frecuencia de uso Siempre que se utilice el prototipo de software. Canal para el actor Navegadores establecidos (Mozilla Firefox, Google Chrome). Principal Fuente: Elaboración propia. Tabla 8.16: Descripción del CUP03 – Representar en el entorno Caso de uso Representar en el entorno. Actor principal Ninguno. Actor secundario Administrador del sitio Objetivo en contexto Establecer características y elementos que se necesitan para que se puedan llevar a cabo los experimentos en el prototipo. Precondiciones El sistema debe estar preparado para recibir otro experimento. Disparador El administrador del sitio decide planear y agregar un experimento en el prototipo. Escenario 1. Administrador: Diseña un nuevo experimento. 2. Administrador: Representa el experimento de forma tridimensional. 3. Administrador: En la representación debe realizar la referenciación de la posición del usuario para que no haya desorientación. 49 4. Administrador: Agrega el experimento al sistema. Excepciones El diseño de un nuevo experimento también puede ser realizado por el desarrollador al igual que la representación tridimensional del experimento. Postcondición Existe un nuevo experimento en el sistema. Prioridad Esencial, debe implementarse. Frecuencia de uso Siempre que se desee agregar un nuevo experimento. Canal para el actor Teniendo en cuenta que la adición de experimentos se hace secundario directamente en el prototipo, este podrá agregarlo directamente. Fuente: Elaboración propia. Tabla 8.17: Descripción del CUP04 – Experimentar Caso de uso Experimentar. Actor principal Usuario (estudiante o profesor). Actor secundario Ninguno. Objetivo en contexto Iniciar los experimentos que el estudiante o profesor seleccione y ejecutarlos con todas sus funcionalidades. Precondiciones El usuario debió elegir un experimento del listado. Disparador En el momento en que el usuario empieza a interactuar con el sistema. Escenario 1. Usuario: Entra al sistema desde el navegador. 2. Usuario: Elige un experimento de la lista. 3. Usuario: Dependiendo del experimento interactúa con diferentes elementos presentes en el aula. Tamaño de los objetos. Valor de la gravedad. Caída libre: Altura. Movimiento parabólico: Distancia. Péndulo simple: Amplitud, longitud de la cuerda. 4. Usuario: Ejecuta el experimento. 50 5. Usuario: Observa los valores resultantes después de la ejecución dependiendo del experimento elegido. Caída libre: Tiempo de caída. Movimiento parabólico: Impacto del proyectil, tiempo de cada etapa de la práctica. Péndulo simple: Periodo de oscilación. Excepciones El profesor puede configurar los escenarios de experimentación para los estudiantes, dependiendo de la intencionalidad de la clase. El estudiante puede configurar los diferentes elementos del experimento dependiendo de las instrucciones del profesor. Postcondición El sistema captura y registra los diferentes tiempos de experimentación, y los muestra al usuario. Prioridad Esencial, es necesario implementarlo. Frecuencia de uso Siempre que un usuario (estudiante o profesor) elija un experimento, interactúe con este y lo ejecute. Canal para el actor Navegadores establecidos (Mozilla Firefox, Google Chrome). Fuente: Elaboración propia. 8.2.3. Diagramas de Casos de uso Los diagramas de casos de uso mostrados a continuación son los modelos finales obtenidos a medida que se desarrollaba cada iteración del ciclo de vida, se refinaban y actualizaban con el propósito de presentar diagramas estructurados que muestren el comportamiento del sistema claramente. En la Figura 8.3 se puede ver la clasificación de los casos de uso en: modelo de negocio y principales, además se pueden ver los diferentes actores que interactúan con el sistema, para finalmente observar el paquete que contiene el modelado del negocio y los diagramas de casos de uso. 51 Figura 8.3: Clasificación de los casos de uso, actores y modelos. Fuente: Elaboración propia. Figura 8.4: Diagrama de caso de uso Listar experimentos. Fuente: Elaboración propia. 52 Figura 8.5: Diagrama de caso uso Desplazar en el entorno. Fuente: Elaboración propia. Figura 8.6: Diagrama de caso de uso Experimentar. Fuente: Elaboración propia. 53 Figura 8.7: Diagrama de caso de uso Representar en el entorno. Fuente: Elaboración propia. 8.2.4. Diagramas de Secuencia Para la elaboración de los diagramas de secuencia se hizo el análisis de los casos de uso, donde se identificaron los objetos y los actores que intervenían en el flujo de eventos principal, el cual es: Experimentar. Inicialmente se realizó el modelado de tres diagramas de secuencia (Figura 8.8 - Figura 8.10) para así exponer el comportamiento de cada uno de los experimentos incluidos en la simulación (Caída libre, Movimiento Parabólico y Péndulo Simple), durante el modelado de estos se pudo observar que algunos de los objetos y actores estaban presentes en cada experimento, además de tener secuencias de procesos y eventos comunes. Teniendo en cuenta esto, se modeló un diagrama de secuencia general (Figura 8.11) con el fin de generalizar los procesos y eventos comunes en cada uno de los experimentos, sin importar que clase de experimento sea o los elementos diferenciadores que contengan. 54 Figura 8.8: Diagrama de secuencia - Experimentar Caída Libre Fuente: Elaboración propia. 56 Figura 8.9: Diagrama de secuencia - Experimentar Movimiento Parabólico. Fuente: Elaboración propia. 57 Figura 8.10: Diagrama de secuencia - Experimentar Péndulo Simple. Fuente: Elaboración propia. 58 Figura 8.11: Diagrama de secuencia general Fuente: Elaboración propia 59 8.2.5. Diagramas de Estado El diagrama de estado muestra en detalle la transición que ocurre entre cada uno de los estados presentes dentro del sistema, se muestra a su vez un estado central nombrado "Observando", del cual se desprenden los demás estados. En el estado "Interactuando" se muestran unos sub-estados, los cuales se pueden presentar dependiendo el experimento que haya sido escogido con anterioridad, además se muestran algunos estados que están presentes en cada experimento. Figura 8.12: Diagrama de estado general. Fuente: Elaboración propia. 60 8.2.6. Componentes Para el diseño a nivel de componentes, se tomaron en cuenta los elementos principales que componen el prototipo de software, se obtuvo como componente central el Simulador con el cual se realizarán las actividades principales, también existen tres componentes secundarios que son; Motor 3D, Gestor de Simulación y Experimentos físicos los cuales proporcionan un servicio que consume el componente principal. Figura 8.13: Diagrama de componentes Fuente: Elaboración propia. 61 Cabe destacar que este diagrama permite visualizar con mayor facilidad la estructura general del sistema y el comportamiento del servicio que estos componentes proporcionan y utilizan a través de las interfaces. 8.2.7. Interfaz de usuario Teniendo como base los principios (EcuRed, 2015) y lineamientos del diseño de la interfaz de usuario (Nielsen, 1993) (S. Pressman, 2010), se establecieron un conjunto de metas necesarias con el fin de lograr que esta sea apropiada, eficaz e intuitiva para los usuarios finales, con la ayuda de estas metas se pudo realizar un prototipo de la interfaz final de usuario. Usabilidad. o Fácil de usar. o Fácil de aprender. o Fácil de recordar. o Fácil de navegar. Uso de términos familiares para los usuarios. Coherencia entre la forma de interacción del usuario con la presentación de la información. No involucrar al usuario con el funcionamiento interno del sistema. Lograr que la interfaz sea atractiva para los usuarios. Siguiendo un flujo de trabajo establecido por R. Pressman para el diseño de una interfaz de usuario, se llegó a la realización de dos modelos, el primer modelo 62 presentado en la Figura 8.14, el cual muestra la interfaz de inicio del prototipo para la visualización y posterior elección de los experimentos, y el segundo modelo presentado en la Figura 8.15 el cual muestra la distribución de los diferentes elementos de la interfaz de usuario común para todos los experimentos, además de dar una clara división de los diferentes espacios de interacción con el usuario. Para el Modelo1 (Figura 8.14), se tomaron en consideración dos objetivos principales, acorde con los requerimientos del sistema, el primero orientado hacia la visualización y el segundo orientado a la elección con el que el usuario quiera interactuar. Figura 8.14: Modelo1 de interfaz del inicio del prototipo. Objetivos: Objetivo #1: Ex1 Visualizar los experimentos Ex2 Ex3 Exn Objetivo #2: Elegir un experimento Espacio Tridimensional Fuente: Elaboración propia. Para el Modelo2 (Figura 8.15), en primer lugar, se realizó la revisión de los requerimientos y se refino para obtener cierta información necesaria para el modelo de la interfaz, como: Se debía hacer una distribución óptima para que las representaciones tridimensionales sean fáciles de visualizar. 63 Era necesario darle una ubicación estática a los paneles de interacción de los experimentos. En segundo lugar, se realizó un esquema aproximado de la interfaz de usuario teniendo en cuenta lo determinado anteriormente, después se estableció el número de objetivos que debe cumplir la interfaz con respecto a acciones específicas que realiza el usuario. Figura 8.15: Modelo2 de interfaz de los experimentos. Objetivos: Botón Objetivo #1: Ejecutar el experimento. Objetivo #2: Espacio Visualizar tiempos de experimentación. Tridimensional Objetivo #3: Inicializar y pausar tiempo de experimentación. Objetivo #4: Modificar valores del experimento. Objetivo #5: Visualizar valor de la altura del objeto. Objetivo #6: Interactuar con los elementos tridimensionales. Fuente: Elaboración propia. 64 9. ARQUITECTURA Para entender la naturaleza del proyecto, se llevó a cabo un diseño arquitectural explicado en 16 puntos de vista, que abarca desde la visualización del negocio, pasando por una vista de la aplicación hasta llegar a la infraestructura, estos puntos de vista fueron diseñados usando el lenguaje Archimate, teniendo en cuenta que las herramientas con las que cuenta son adecuadas para exponer en detalle las características y dominios del sistema. Haciendo un análisis del sistema se obtuvo una vista global Figura 9.1 que muestra los principales aspectos de cada una de las capas (negocio, aplicación e infraestructura) y como se comunican entre ellas, teniendo en cuenta los elementos que las componen, todos estos elementos son explicados en profundidad durante el desarrollo de los diferentes puntos de vista, iniciando por los servicios, procesos y funciones de negocio más importantes con el fin de resaltar los aspectos más relevantes como; Brindar apoyo a la enseñanza y Simular espacio de enseñanza, con los cuales se define el propósito del producto que se va a obtener como resultado de la elaboración de proyecto, del mismo modo se hace alusión a los componentes más importantes de la aplicación que son; Gestor de simulación y Motor de renderización 3D, ya que estos son usados por el componente principal que es el Objeto de aprendizaje, y finalmente se tiene un servicio de infraestructura principal que es Servicio de ejecución Web para la ejecución del prototipo de software por medio de un sistema de software; el Navegador Web. 65 Figura 9.1: Diagrama Introductorio de la Arquitectura del proyecto 66 Fuente: Elaboración propia. 67 9.1. CAPA DE NEGOCIO 9.1.1. Punto de vista de Organización El punto de vista de organización muestra la estructura del negocio, exponiendo los actores y la relación que tiene cada uno de ellos con el sistema. La ubicación general del negocio se sitúa en la Web, teniendo en cuenta la naturaleza del objeto de aprendizaje y su orientación hacia las aplicaciones Web. A la ubicación se le asigna un actor Simulador, quien se presenta como unidad de negocio. Finalmente se tienen 3 especializaciones del actor Simulador; Estudiante, Administrador y Físico, a este último actor se le asigna el rol de Profesor de Física, dando una idea de las funciones que posee. Figura 9.2: Punto de vista de organización. Fuente: Elaboración propia. 68 9.1.2. Punto de vista de Cooperación de Actor Este punto de vista se enfoca en mayor medida en las relaciones que existen entre los actores y su ambiente, de manera que se logra observar las colaboraciones y cooperaciones presentes en uno o más actores. En este punto de vista el Estudiante tiene la responsabilidad de realizar una conducta específica, debido a esto se muestra como un rol, y al igual que el Profesor de física usan a la interfaz Escenarios de experimentación, el Profesor de física en conjunto con el administrador se agregan a una colaboración mediante el Diseño de experimentos. Figura 9.3: Punto de vista de cooperación de actor. Fuente: Elaboración propia. 69 9.1.3. Punto de vista de Función de Negocio El punto de vista de Función de negocio como su propio nombre lo indica muestra las principales funciones y sus relaciones en términos del flujo de información que se presenta. Al rol de Profesor de física se le asignan dos funciones; Establecimiento de los canales de comunicación y la Parametrización de los escenarios de experimentación, la cual describe la manera en que el profesor delimita los valores que pueden tomar el experimento en su respectivo escenario, y a su vez dispara la función Simulación de los espacios de enseñanza, asignada al rol Simulador, y encargada de representar las características necesarias para que un espacio determinado pueda ser adecuado para la enseñanza, y así, fluya hacia la función Interacción con el entorno asignada al Estudiante. El rol Simulador también tiene asignadas otras dos funciones; Apoyo a los procesos de enseñanza y Entrega de resultados, ambas orientadas a la tarea de ser un complemento del tema a enseñar. Figura 9.4: Punto de vista de función de negocio. Fuente: Elaboración propia. 70 9.1.4. Punto de vista de Proceso de Negocio Para la construcción del punto de vista de proceso de negocio, se inició con la deducción de los servicios principales que presta el negocio, el primero de estos es Brindar apoyo a la enseñanza y el segundo Simular espacio de enseñanza. El servicio de Brindar apoyo a la enseñanza, es realizado por el primer proceso principal de negocio que es Apoyo a los procesos de enseñanza, para poder llevar a cabo este proceso existe un flujo de procesos que lo realizan y son activados por un evento llamado Solicitud de herramienta virtual, lo cual indica que es necesaria una herramienta virtual de aprendizaje, al dispararse este evento se inicia uno de los procesos secundarios llamado Selección de temas según el contenido del curso, después de esto se hace la Generación de escenarios que permitan el desarrollo de los temas, teniendo en cuenta que estos escenarios tienen que tener características apropiadas para que se pueda desarrollar correctamente el objeto de aprendizaje, y finalizando el flujo se lleva a cabo el proceso de Simulación interactiva de los experimentos, obteniendo el Objeto de aprendizaje. Figura 9.5: Punto de vista de proceso de negocio - réplica de objetos en 3D. Fuente: Elaboración propia. 71 El servicio Simular espacio de enseñanza, es realizado por el segundo proceso principal de negocio llamado Replica de objetos en 3D, para llevar a cabo este proceso, existe un flujo de procesos que son activados por un evento de Diseño de un aula, al dispararse este evento se inicia el proceso de Determinación de elementos necesarios en el aula para establecer las diferentes funcionalidades que estarán disponibles en el aula virtual, a continuación se realiza la Caracterización de un aula con el fin de lograr que los usuarios finales se sientan familiarizados con un ambiente real de clases, y finalmente se hace el Modelado tridimensional del aula, todo este flujo de procesos da como resultado un objeto llamado Aula. Figura 9.6: Punto de vista de proceso de negocio – apoyo a los procesos de enseñanza. Fuente: Elaboración propia. 72 9.1.5. Punto de vista de Cooperación de Proceso de Negocio Este punto de vista muestra las relaciones existentes entre uno o más procesos de negocio y su entorno. El rol Simulador es asignado a la locación Web, así mismo del proceso Apoyo a los procesos de enseñanza (asignado a Simulador), tiene como especialización el proceso Simulación interactiva de los experimentos, la cual se encarga de representar los experimentos que sean apropiados y se establecen las variables que pueden ser interactivas, y de esta manera se asigna al rol Estudiante. Figura 9.7: Punto de vista de cooperación de proceso de negocio. Fuente: Elaboración propia. 73 9.1.6. Punto de vista de Producto El punto de vista de producto representa el valor que estos productos pueden llegar a ofrecer a los entes involucrados en el negocio, y se muestra la composición de los productos. En el diagrama se muestra el producto principal del negocio; Simulador Interactivo, a quien se le asocia el valor Complejidad incremental de la experimentación, el cual describe la característica de aumentar la cantidad de experimentos o variables tanto como el tema lo requiera. A su vez el Simulador Interactivo agrega a los servicios; Brindar apoyo a la enseñanza (Realizado por el proceso Apoyo a los procesos de enseñanza asignado al rol Estudiante) y a Simular espacio de enseñanza (Realizado por el proceso Replica de objetos en 3D, el cual se refiere a la capacidad de diseñar y construir un ambiente que cuente con los elementos necesarios para la enseñanza). Figura 9.8: Punto de vista de producto. Fuente: Elaboración propia. 74 9.2. CAPA DE APLICACIÓN 9.2.1. Punto de vista de Comportamiento de Aplicación Como su nombre lo indica, este punto de vista describe el comportamiento interno de la aplicación, identificando las funciones de aplicaciones que se realizan. El componente principal Objeto de aprendizaje se compone de 3 componentes; Motor de renderización 3D, encargado de generar la parte gráfica, y al cual se le asigna la función Renderización de objetos tridimensionales. Experimentos de física, componente que garantiza la consistencia de los experimentos ejecutados, debido a esto tiene asignada la función Aplicación de los modelos matemáticos. Gestor de simulación, este componente se encarga de ejecutar las variables de interactividad, y tiene asignada la función Visualización de resultados. Estos dos últimos componentes son agregados a la colaboración Simular experimentos. Figura 9.9: Punto de vista de comportamiento de aplicación. Fuente: Elaboración propia. 75 9.2.2. Punto de vista de Cooperación de Aplicación El punto de vista de Cooperación de aplicación describe las relaciones entre los componentes de la aplicación en términos de flujo de información entre ellos. En el diagrama (Figura 9.10), se identifican dos ubicaciones generales: El Front-End y el Back-End, en donde la primera ubicación sitúa todos los elementos que interactúan de cierta forma con el usuario (conformada por el componente Objeto de aprendizaje, el cual es usado por los componentes Motor de renderización 3D y Gestor de simulación), y la segunda sitúa a los elementos encargados de procesar la información que será devuelta al Front-End (en esta ubicación se encuentra el componente Experimentos de física usado por Objetos de aprendizaje). Figura 9.10: Punto de vista de cooperación de aplicación. Fuente: Elaboración propia. 76 9.2.3. Punto de vista de Estructura de Aplicación Este punto de vista es útil en el diseño y la comprensión de la estructura principal de las aplicaciones y sus datos asociados, ya que muestra las diferentes interfaces que utilizan cada uno de los componentes secundarios para comunicarse con el componente principal. La interfaz de Representación, muestra un servicio ofrecido por el componente de Motor de renderización 3D, el cual es consumido por al componente Objeto de aprendizaje, del mismo modo las interfaces Construcción y Experimentación, brindan servicios ofrecidos por los componentes Experimentos de física y Gestor de simulación respectivamente, los cuales son consumidos por el componente principal ya mencionado. Figura 9.11: Punto de vista de estructura de aplicación. Fuente: Elaboración propia. 77 9.2.4. Punto de vista de Uso de Aplicación Este punto de vista describe como se utiliza el diseño de una aplicación mediante la identificación de los servicios que necesitan los procesos de negocio y otras aplicaciones. La figura 9.12 muestra como el proceso Apoyo a los procesos de enseñanza asignado al rol Estudiante, usa el servicio de aplicación Realización del experimento, el cual consiste en la construcción del experimento que establecido para el desarrollo del tema. Y este servicio de aplicación a su vez es realizado por el componente Gestor de simulación. Figura 9.12: Punto de vista de uso de aplicación. Fuente: Elaboración propia. 78 9.3. CAPA DE INFRAESTRUCTURA 9.3.1. Punto de vista de Infraestructura Este punto de vista contiene los elementos tanto de software como de hardware de infraestructura, usados como apoyo a la capa de aplicación. El Servidor Web está ubicado en la locación Host, este Servidor Web especializa el sistema de software Simulador, y este a su vez especializa a WebGL, especificación encargada de los gráficos en tercera dimensión (3D), el cual usa la librería Three.js, la cual permite la realización de animaciones 3D en el navegador. El Usuario mediante el protocolo TCP/IP se conecta a Internet, y este se asocia al Servidor Web creando la comunicación entre el software y el usuario. Figura 9.13: Punto de vista de infraestructura. Fuente: Elaboración propia. 79 9.3.2. Punto de vista de Uso de Infraestructura Punto de vista de uso muestra cómo las aplicaciones están soportadas por el software y hardware de infraestructura. Se tienen dos nodos generales; Servidor Web y Servidor 3D. El Servidor Web, contiene los componentes Gestor de simulación, Experimentos de física y Construcción 3D, los cuales son usados por el componente principal Objeto de aprendizaje. El componente Construcción 3D encargado de la elaboración de los elementos tridimensionales, está asociado con el componente Motor de renderización 3D, ubicado en un nodo aparte de los demás componentes, ya que realiza un proceso independiente el cual consume sus propio recursos. Figura 9.14: Punto de vista de uso de infraestructura. Fuente: Elaboración propia. 80 9.3.3. Punto de vista de Organización e Implementación Este punto de vista muestra como una o más aplicaciones se realizan sobre la infraestructura. El objeto Simulador, está asociado con el componente principal Objeto de aprendizaje, el cual usa el Navegador Web, este a su vez realiza el servicio de infraestructura Servicio de ejecución Web, el cual ofrece la posibilidad de consumir las funcionalidades que genera el software mediante la Web. Figura 9.15: Punto de vista de organización e implementación. Fuente: Elaboración propia. 9.3.4. Punto de vista de Estructura de Información Este punto de vista maneja esencialmente los objetos para mostrar la estructura de información, de esta manera el Simulador se comporta como un objeto representativo de la aplicación compuesto por dos objetos; el Gestor de experimentos y Modelo 3D, este objeto de aplicación realiza el objeto de negocio Software, el cual es la especialización del objeto de negocio principal Objeto de 81 aprendizaje, junto con el objeto Documentos, a su vez, el objeto Gestor de experimentos está compuesto por tres objetos; el Contexto que maneja y regula los modelos matemáticos utilizados en los experimentos, los Elementos complementarios que haden referencia a los objetos adicionales presentes en el aula virtual tales como la rampa, el cronometro, etc., y los Experimentos que hacen referencia a las simulaciones de los diferentes experimentos que existen en el sistema, y finalmente el objeto Modelador 3D que está compuesto por dos objetos; el Motor de renderizado que se encarga del proceso de construcción y ejecución de los diferentes elementos representados de forma tridimensional y el Escenario gráfico, el cual muestra la forma en la que son presentados todos los objetos que son modelados en 3D. Figura 9.16: Punto de vista estructura de información. Fuente: Elaboración propia. 82 9.3.5. Punto de vista de Realización del Servicio En este punto de vista se puede observar cómo los servicios de negocio son realizados por los procesos subyacentes, esto se muestra en el puente que se realiza entre el objeto de aplicación Simulador y el objeto de negocio Software mediante su relación de realización, donde a su vez interactúa con el rol que presenta el Estudiante, el cual representa directamente al usuario que consume este objeto de aprendizaje, de esta manera se asigna al proceso de negocio principal Apoyo a los procesos de enseñanza, quien finalmente es el que realiza el servicio de negocio Brindar apoyo a la enseñanza, mostrando de esta manera toda la sucesión que se lleva a cabo para la realización del servicio. Figura 9.17: Punto de vista de realización del servicio. Fuente: Elaboración propia. 9.4. PUNTO DE VISTA DE CAPAS Este punto de vista agrupa los elementos más importantes de cada una de las capas que componen la arquitectura general del proyecto. 83 Figura 9.18: Punto de vista de capas. Fuente: Elaboración propia 83 10. CONCLUSIONES Un entorno de apoyo al aprendizaje virtual que contiene elementos tridimensionales proporciona a los usuarios la sensación de estar aprendiendo en un ambiente familiar y realista, lo cual brinda estrategias didácticas que ayudan a los estudiantes en el uso de tecnologías emergentes como apoyo a los procesos de enseñanza, además de reducir los riesgos que existen al llevar a cabo experimentos que se realizan en un laboratorio con diferentes elementos que pueden llegar a ser peligrosos para personas no expertas, llevándolos a un contexto controlado que no los exponga a estos posibles accidentes. El uso de objetos de aprendizaje incorpora en un ambiente virtual una herramienta educativa de fácil acceso, utilizando la Web como ente de difusión de conocimiento, despertando el interés de los estudiantes hacia la experimentación de la física por medio de este tipo de herramientas, favoreciendo el aprendizaje independiente y autónomo del estudiante, sin dejar de un lado el trabajo cooperativo con el profesor/tutor. Gracias a la metodología utilizada para la elaboración del proyecto, se llegó a la producción de diferentes artefactos indispensables, tales como un prototipo de software que proporciona todas las herramientas requeridas para que las simulaciones interactivas de los experimentos físicos propuestos se lleven a cabo en su totalidad y sean coherentes con las leyes físicas y los modelos matemáticos que afectan a cada uno. También se obtuvo la documentación necesaria para argumentar de manera específica todo el proceso que se llevó a cabo para la elaboración del proyecto. 84 11. TRABAJOS FUTUROS En este proyecto la comunicación entre usuarios se da de forma independiente al prototipo de software, ya que siendo una herramienta de apoyo al aprendizaje, el profesor se comunica con sus estudiantes de manera presencial y así provee los paramentos previamente establecidos, para que los estudiantes lo lleven a cabo en el entorno de aprendizaje, por lo tanto sería posible implementar un tipo de comunicación entre profesor y estudiante dentro del prototipo de software que sea oral – escrita (con acceso a internet) o gestual (mediante representaciones visuales con gestos entre los usuarios). Incluir diferentes escenarios o entornos tridimensionales diferentes al salón de clase para que la interacción con los fenómenos sea más didáctica dependiendo de las características que los estudiantes varíen durante el experimento, a su vez es posible incrementar el enfoque de los experimentos, agregando otros experimentos físicos o de otras ciencias Utilizando nuevas tecnologías se puede aumentar el nivel de inmersión del usuario, haciendo uso de artefactos como Oculus5, se agregan características de realidad virtual, añadiendo nuevas y mejores funciones ampliando el nivel de interacción y realismo que puede ofrecer la herramienta. Diseñar un metamodelo que logre abstraer todo los conceptos manejados en un objeto de aprendizaje, de manera que se genere una descripción y especificación de los elementos que lo componen, así como también la relación que existen entre estos. Proponiendo así un tipo determinado de conceptos y reglas que pueden ser usados en la construcción de objetos de aprendizaje. 5 Oculus: Es un visor de realidad virtual desarrollado por Oculus VR 85 12. BIBLIOGRAFÍA Betrancourt, M. (2005). The Animation and Interactivity Pinciples in Multimedia Learning. En M. Betrancourt, The Cambridge Handbook of Multimedia Learning (págs. 287-296). Blender Mechanical Gears. (2005). Blender art magazine. Blender.org. (2014). Blender. Obtenido de http://www.blender.org/ Bolaños, G. B. (2006). Educacion por medio del movimiento y expresión corporal. San Jose, Costa Rica: Universidad Estatal, http://books.google.com.co/books?id=IvisGiBiafoC&printsec=frontcover&dq =movimiento&hl=es&sa=X&ei=UgBeUuiNE4jtkQfSroGQBA&ved=0CEIQ6A EwBA#v=onepage&q=movimiento&f=true. Brodie, S. (22 de 05 de 1999). Interactive Mathematics Miscellany and Puzzles. Obtenido de Buffon's Needle Problem: http://www.cut-theknot.org/fta/Buffon/buffon9.shtml CasteGames Studio. (2014). CasteGemas. Obtenido de http://www.castegames.com.ve/ Caswell, D. L., & Grady, R. B. (1978). Software Metrics: Establishing a CompanyWide Program, Prentice Hall,. Prentice Hall. Colorado, U. (2014). PHET Interactive Simulations. Obtenido de https://phet.colorado.edu/es/ Eclipse.org. (2014). OpenUp. Obtenido de http://epf.eclipse.org/wikis/openup/index.htm EcuRed. (2015). EcuRed, conocimiento con todos y para todos. Obtenido de Diseño de interfaces de usuario: http://www.ecured.cu/index.php/Dise%C3%B1o_de_Interfaces_de_Usuario Fishman, G. S. (1978). Conceptos y Métodos en la Simulación Digital de Eventos Discretos. Wiley. Galeon.com hispavista. (2014). El Movimiento. Obtenido de http://fisiklnag.galeon.com/ Gran Enciclopedia Hispánica. (2012). Obtenido de HispánicaSaber: http://neolistas.udistrital.edu.co:2343/default.asp?1382256218 86 It, B. M. (27 de Abril de 2011). Animation in Blender. United States. M. Lozano, C. Calderon. (2003). Entornos Virtuales 3D Clasicos e Inteligentes: hacia un nuevo marco de simulación para aplicaciones graficas 3D interactivas. Ministerio de Educación Nacional. (2015). Colombia Aprende. Obtenido de Banco Nacional de Recursos Educativos: http://www.colombiaaprende.edu.co/html/directivos/1598/article-99393.html MIT. (2015). MIT News. Obtenido de http://newsoffice.mit.edu/2011/walter-lewinlecture-book-0518 Nielsen, J. (1993). Chapter 2: What is Usability. En J. Nielsen, Usability Engineering. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc. P. Nedungadi, R. R. Vishwa Vidyapeetham Kerala. (2010). Effectiveness of Adaptive Learning with Interactive Animations and Simulations. IEEE. Quinche, J. C., & Gonzáles, F. L. (2011). Entornos Virtuales 3D, Alternativa Pedagógica para el Fomento del Aprendizaje Colaborativo y Gestión del Conocimiento en Uniminuto. Formación Universitaria. Rosado, L., & Herreros, J. R. (2005). Nuevas Aportaciones Didácticas de los Laboratorios Virtuales y Remotos en la enseñanza de Física. Rubinstein, R. Y., & Melamed, B. (1998). Modern Simulation and Modeling. New York: Wiley. S. Pressman, R. (2010). Ingeniería del Software, un enfoque practico. México: Mc Graw Hill. Seong, I. P., Gyumin, L., & Meekyoung, K. (2009). Do students benefit equally from interactive computer simulations regardless of prior knowledge levels? Computers and Education, 2. Shannon. (1988). Simulación de Sistemas. Diseño, desarrollo e implementación. México: Trillas. Siti Zaiton, M. H., Siti Fadzilah, M. N., & Norazah, Y. (2011). Creating Granular Learning Object Towards Reusability of Learning Object In E-learning Context. IEEE. Obtenido de http://ieeexplore.ieee.org.bdigital.udistrital.edu.co:8080/stamp/stamp.jsp?tp= &arnumber=6021645 Summerville, I. (2006). Ingeniería del Software (7° edición). Madrid: Pearson Educación. 87 Swlearning. (2003). BIOGRAPHY 12.1 William S. Gosset. Obtenido de http://www.swlearning.com/quant/kohler/stat/biographical_sketches/bio12.1. html The Open Group. (2012-2013). ArchiMate® 2.1 Specification. Obtenido de Welcome to ArchiMate® 2.1, an Open Group Standard: http://pubs.opengroup.org/architecture/archimate2-doc/ Three.js. (2014). Pagina Oficial de Three.js. Obtenido de http://threejs.org/ U. Carlos III de Madrid. (2014). Plataformas virtuales 3D para el aprendizaje. Obtenido de http://portal.uc3m.es/portal/page/portal/actualidad_cientifica/noticias/aprendi zaje_virtual UDFJC. (2014). Universidad Distrital Franciso José de Caldas. Obtenido de www.udistrital.edu.co/#/universidad.php University of Sydney. (2015). Learning Objects. Obtenido de Faculty of Education and Social Work: http://sydney.edu.au/education_social_work/learning_teaching/ict/theory/lea rning_objects.shtml Uparella, J. (2013). Scribd. Obtenido de http://es.scribd.com/doc/44167909/Simulacion-Virtual-Interactiva 88