Sistemas Adaptativos en Moodle: Módulo de Seguimiento de Usuario
De Computacion
Portada
== Contenido==
ESTADO DEL ARTE
Introducción
En este capítulo el contenido y el alcance del proyecto de investigación se describen mediante la exposición de diferentes tópicos principales y secundarios, las ideas centrales y auxiliares que involucran el seguimiento o rastreo de la actividad de los usuarios al interactuar con el LMS<ref>LMS: Learning Management System (Sistema de Gestión de Aprendizaje) </ref> Moodle, cuya plataforma es utilizada para gestionar los cursos que se dictan en las diferentes carreras que oferta la UTPL<ref>UTPL: Acrónimo de “Universidad Técnica Particular de Loja” </ref>, ayudando a crear comunidades o cursos de aprendizaje en línea.
Se presenta una breve descripción de Moodle y los principales módulos y recursos de los que está compuesto; los cuales, van a ser tomados en cuenta en el proceso de seguimiento de usuarios. Así mismo a breves rasgos se mencionan algunas ideas y conceptos sobre los sistemas recomendadores y la utilidad de un sistema de seguimiento de usuarios para este tipo de sistemas cuando su dominio de aplicación son los entornos educativos. También se realiza la definición de lo que es el seguimiento de usuarios en base a las aportaciones de algunos autores; elementos, procesos y fases que intervienen en el mismo, y finalmente una exposición de trabajos relacionados con el tema en estudio.
Moodle
Moodle es un paquete de software para la creación y gestión de cursos a través de Internet o de una intranet corporativa, posee algunas características que lo hacen ser la herramienta mejor acogida a nivel educativo para entornos de aprendizaje. La facilidad de comunicación a distancia es una de las características que lo destacan, es estándar y compatible con otros formatos.
La utilidad de Moodle es amplia en lo que tiene que ver con entornos de aprendizaje y web, ya que sirve para:
1. Complementar asignaturas de educación primaria, secundaria o universitaria.
2. Crear cursos en línea para la formación continua de profesionales.
3. Clases de refuerzo o recuperación
4. Establecer puntos de encuentro colectivo, grupos de trabajo o investigación, etc.
Las ventajas que Moodle presenta al profesor son algunas, entre ellas están: el absoluto control sobre los contenidos del curso, información sobre el trabajo realizado por los alumnos, reutilización de los cursos, posibilidad de compartir cursos y/o recursos, posibilidad de crear cursos conjuntamente con los alumnos y coordinación con el resto de profesores del curso.
Entre las ventajas que ofrece a los estudiantes se puede destacar la presentación de contenidos variados y atractivos, horario flexible y disponibilidad permanente de contenidos, retroalimentación en muchas actividades incluida la evaluación, sensación de acompañamiento, facilidad de comunicación con sus compañeros y aumenta el tiempo de trabajo en casa.
La descripción que se ha realizado en estos primeros párrafos y que permite conocer a breves rasgos las bondades que ofrece Moodle es una breve recopilación de la información presentada en (Ticformacion, 2007)
Las características ya mencionadas, han hecho de Moodle una herramienta en gran parte completa y capaz de satisfacer la mayoría de las necesidades que se presentan a la hora de crear ambientes de aprendizaje para distintos tipos de usuario.
A pesar de que Moodle aporta significativamente en la gestión de conocimiento y aprendizaje tanto de profesores y alumnos, éste software o herramienta puede tener muchas mejoras que pueden ser impulsadas por el aparecimiento de nuevas tecnologías, distintos estilos de aprendizaje que poseen los alumnos a la hora de adquirir nuevo conocimiento, y las presentes y futuras necesidades que existan o vayan surgiendo respectivamente dentro de los diferentes escenarios de aprendizaje.
Todos estos cambios o necesidades tienen que ver mucho con lo que hoy en día se denomina e-learning<ref>E-learning: Significa literalmente aprendizaje automático </ref>, una tecnología que permite romper límites al desarrollo profesional y personal, ya que facilita el aprendizaje a distancia o virtual, pudiendo interactuar con compañeros y profesores por medio del Internet.
El desarrollo y la existencia de nuevos sistemas e-learning, entre ellos Moodle, han impulsado la integración y surgimiento de nuevos conceptos para la mejora del aprendizaje, tal es el caso, de los Sistemas Recomendadores, Seguimiento de Usuarios, y muchos más.
Módulos de Moodle para el Seguimiento de Usuarios
Dentro de la estructura básica de Moodle como elemento principal están las actividades que pueden ser de diferentes tipos y estar asociadas a cada semana o tema de un curso. Además como para complementar las actividades y cada tema a estudiar existe la posibilidad de agregar otro tipo de recursos (Gonzáles de Felipe, 2006).
Cada una de las actividades y recursos son los que generan la participación activa de los estudiantes, es por eso, que para registrar las actividades o acciones que ha realizado un estudiante sobre la plataforma Moodle ha tomado en cuenta estos dos elementos. A continuación se muestra una lista de las actividades y una lista de recuros que están disponibles.
Tabla 1. Lista de Actividades en Moodle (Gonzáles de Felipe, 2006)
| Nombre | Descripción | Características |
| Chat | Permite conversaciones entre usuarios en tiempo real. |
|
| Consulta | Similar a una encuesta, el profesor formula una única pregunta y ofrece a los usuarios distintas elecciones. |
|
| Cuestionario | Permite la realización de exámenes de diferente tipo: respuesta múltiple, verdadero/falso y respuestas cortas. |
|
| Encuesta | Similar a la consulta, pero con varias preguntas. |
|
| Foro | Actividad para el debate entre usuarios de un curso. |
|
| Glosario | Permite crear y mantener una lista de definiciones, como un diccionario. |
|
| Lección | Consiste en una serie de páginas flexibles que ofrecen contenido y preguntas para el alumno |
|
| Recurso | Admite la presentación de cualquier contenido digital, Word, PowerPoint, Flash, video, sonidos, etc. |
|
| Taller | Permite al profesor calificar trabajos enviados por los alumnos. |
|
| Tarea | Permiten al profesor calificar trabajos enviados por los alumnos |
|
Tabla 2. Lista de Recursos en Moodle (Gonzáles de Felipe, 2006)
| Nombre | Descripción |
| Editar una página de texto | Añade un enlace a un texto plano creado por el profesor. |
| Editar una página Web | Añade un enlace a un documento creado con formato HTML por el profesor. |
| Enlazar un archivo o una página Web | Permite añadir un enlace desde el curso a cualquier sitio Web público. |
| Directorio | Muestra directorios, subdirectorios y archivos del área de archivos del curso. |
| Desplegar paquetes de contenido IMS | IMS es un esqueleto de especificaciones que ayuda a definir variados estándares técnicos, incluyendo materiales de e-learning. La especificación IMS (Content Packaging Specification) hace posible almacenar los contenidos en un formato estándar que puede ser reutilizado en diferentes sistemas sin necesidad de convertir dichos contenidos a otros formatos. El recurso de tipo IMS CP en Moodle, le permite utilizar ese tipo de paquetes de contenidos, cargándolos e incluyéndolos en cursos de forma sencilla. |
| Añadir una etiqueta | Permite colocar texto e imágenes entre otras actividades de la página central de un curso. |
Tablas de la base de datos de Moodle para el Seguimiento de Usuarios
En este apartado se pretende dar a conocer las principales tablas de la base de datos de Moodle que son útiles para el proceso de seguimiento de usuarios de acuerdo a como ésta plataforma registra la actividad de los usuarios, realizando una breve descripción de los campos que presenta mayor importancia. No existe en ningún medio una descripción establecida para cada tabla que compone la base de datos de Moodle, por lo que la información detallada a continuación es descrita en base a la estructura de cada tabla.
- mdl_course
Esta tabla almacena información relacionada a los cursos que han sido creados en la plataforma. La información que brinda esta tabla es útil para tener un registro de información en base a los cursos, categorías y fecha en que se inicia el curso.
Tabla 3. Descripción tabla mdl_course
| Campos | Descripción |
| category | Id de la categoría a la que pertenece el curso. |
| fullname | Nombre completo del curso |
| summary | Pequeña descripción del curso |
| format | Especifica si el formato del curso es por semanas o temas de estudio. |
| startdate | Fecha en que se inicia el curso |
| enrolperiod | Indica el periodo académico al que pertenece el curso |
- mdl_course_categories
Contiene información acerca de las distintas categorías existentes en la plataforma. Esta tabla presenta un campo que revela el número de cursos que están asociados a esa categoría, pudiendo de esta manera determinarse un número de cursos por categoría.
Tabla 4. Descripción de la tabla mdl_course_categories
| Campos | Descripción |
| name | Nombre de la categoría |
| description | Descripción de la categoría |
| coursecount | Número de cursos que pertenecen a la categoría |
| visible | El valor 1 indica que está visible y el valor 0 indica lo contrario. |
| timemodified | Fecha en la que se ha modificado la categoría |
- mdl_course_utpl
Es una tabla intermedia que permite mantener la relación entre el periodo académico, el curso, el país y paralelo cuando se crea un curso en base a la planificación de la UTPL. A través de esta tabla se puede obtener información de los periodos, cursos y paralelos.
Tabla 5. Descripción de la tabla mdl_course_utpl
| Campos | Descripción |
| courseid | Id del curso |
| pdoid | Id del periodo académico al que pertenece el curso |
| paisid | Id del país al que pertenece el curso |
| paralelo | Indica el paralelo de un curso determinado |
| timeupdated | Fecha en la que se ha actualizado el curso |
- mdl_enrol_utpl
Guarda información sobre la inscripción de un usuario en un curso, a través de esta tabla, se puede conocer en qué curso, periodo académico, ciudad, modalidad de estudio, se ha inscrito a un usuario de acuerdo a la planificación de la UTPL. Con los datos que tiene esta tabla se puede extraer información en base a modalidad de estudio, periodo académico, rol del usuario y ciudad o centro en el que se inscribió el usuario.
Tabla 6. Descripción de la tabla mdl_enrol_utpl
| Campos | Descripción |
| courseid | Id del curso |
| userid | Id del usuario |
| pdoid | Id del periodo académico en el que se ha registrado a un usuario |
| Rol | Id del rol asignado al usuario (estudiante, profesor) |
| modalidad | Determina la modalidad de estudio (Abierta, Clásica) |
| timeupdated | Fecha en la que se ha actualizado el curso |
| centro | Centro o ciudad en donde se inscribió al usuario |
- mdl_log
Registra información sobre las distintas acciones que ha realizado el usuario sobre la plataforma.
Tabla 7. Descripción de la tabla mdl_log
| Campos | Descripción |
| Time | Fecha y hora en la que se realiza una acción |
| Userid | Id del usuario |
| Ip | Dirección IP desde donde se realiza la acción |
| Course | Id del curso en donde tuvo efecto la interacción del usuario |
| Module | Módulo sobre el cual se realiza la acción |
| action | Acción realizada (view, view discussion, login, logout, etc) |
| url | URL del módulo o recurso sobre el cual se realiza la acción |
- mdl_modules
Almacena información acerca de los distintos módulos de la plataforma que están disponibles a nivel general. La tabla indica si los módulos están habilitados o inhabilitados.
Tabla 8. Descripción de la tabla mdl_modules
| Campos | Descripción |
| Name | Nombre del módulo |
| Versión | Versión del módulo |
| Visible | Si el valor es 1, el módulo está disponible, caso contrario, si tiene un valor de 0 no lo estará. |
- mdl_periodo_utpl
Contiene información de todos los períodos académicos que se encuentran registrados en la plataforma, de acuerdo a la planificación de la UTPL. Se puede conocer la fecha en que inicia y finaliza cada período.
Tabla 9. Descripción de la tabla mdl_log
| Campos | Descripción |
| pdoid | Id del período |
| name | Nombre que identifica al período |
| inicio | Fecha en que inicia el período académico |
| fin | Fecha en que finaliza el período académico |
- mdl_role
Guarda información acerca de todos los roles definidos para los usuarios. Estos roles de usuarios son utilizados para definir los privilegios de acceso sobre los distintos módulos y partes de la plataforma.
Tabla 10. Descripción de la tabla mdl_role
| Campos | Descripción |
| Name | Nombre que identifica al rol (Administrador, estudiante, profesor, etc.) |
| shortname | Nombre corto para el rol (nickname) |
| Description | Breve descripción acerca del rol definido |
- mdl_user
Registra datos acerca de los usuarios, como: el nombre, apellido, cédula, información de contacto, la dirección de su domicilio, ciudad y país donde se encuentra, y algunos otros datos más.
Tabla 11. Descripción de la tabla mdl_user
| Campos | Descripción |
| Username | Nombre de usuario para el ingreso a Moodle |
| Idnumber | Número de cédula del usuario |
| firstname | Nombres |
| lastname | Apellidos |
| address | Dirección |
| city | Ciudad |
| Country | País |
| lastaccess | Último acceso |
| Lastip | Última dirección IP |
- mdl_user_data
Esta tabla contiene datos acerca del usuario, diferentes a los que se registra en la tabla descrita anteriormente, los datos comprenden: fecha de nacimiento, profesión, y centro universitario al que pertenecen.
Tabla 12. Descripción de la tabla mdl_user_data
| Campos | Descripción |
| userid | Id del usuario al que le corresponde la información del registro |
| fecha_nacimiento | Fecha de nacimiento |
| Profesión | La profesión que actualmente tiene el usuario |
| Centro | Centro universitario al que pertenece el usuario |
Sistemas Recomendadores
La herramienta de seguimiento de usuarios es considerada parte de los sistemas recomendadores porque permite revelar información estadística de los usuarios en términos de uso, transformándose en fuente de información para la realización de un modelado de usuario en base a preferencias y gustos con lo que posteriormente los usuarios podrán ser clasificados de acuerdo a características similares, dependiendo de los parámetros o variables que se tomen en cuenta para tal propósito.
En este tipo de estudios se pueden encontrar diferentes definiciones que tratan de enfocar de mejor manera el significado y uso real de los sistemas recomendadores, a continuación se presenta una lista de conceptos de varios autores, para tener un poco más claro este tema.
- Según la definición de López López (2010) un sistema recomendador "es aquel que, dado un conjunto de usuarios y un conjunto de ítems, puede ofrecer a un determinado usuario un conjunto de ítems novedosos, relevantes y desconocidos." (pág. 1).
- Un sistema recomendador es aquel sistema que tiene como principal tarea seleccionar ciertos tipos de objetos de acuerdo a los requerimientos del usuario, dado que esos objetos están almacenados y caracterizados en base a sus atributos (Navarro Matesanz, 2003).
- Velez-Langs & Santos (2006), expresan que los sistemas recomendadores "se encargan de recomendar o sugerir a los usuarios ítems o productos concretos basándose en sus preferencias" (pág. 1).
- Guzmán Álvarez (2008), manifiesta que "los sistemas recomendadores (SR) acumulan opiniones o preferencias de los usuarios sobre elementos de interés, que serán dirigidos luego a los usuarios adecuados, teniendo en cuenta sus características." (pág. 1)
Todos estos y otros conceptos se encuentran estrechamente relacionados, y haciendo alusión a unas pocas palabras claves, "usuarios", "preferencias", "intereses", "ítems u objetos", "recomendar o sugerir", se puede decir que un sistema recomendador se encarga de ofertar de acuerdo a su dominio de aplicación (Matos, 2006), ítems de interés para los usuarios basándose en las preferencias ya sea explícitas o implícitas de los mismos.
El sistema de seguimiento de usuarios se encarga específicamente de recoger las preferencias implícitas de los usuarios ya que este tipo de información es la que se obtiene de analizar toda la actividad registrada de las acciones y usos que ha realizado cada usuario sobre una plataforma determinada.
Existen diferentes dominios de aplicación de los sistemas recomendadores, tal es el caso del comercio electrónico (considerado uno de los primeros dominios de aplicación), entornos de aprendizaje, entre otros (García Salcines, Romero Morales, Ventura Soto, & Castro Lozano, 2008).
Seguimiento de Usuarios
Definición
El seguimiento de usuarios es una característica muy importante para cualquier sitio web. Cuando un usuario visita un sitio web, se desea conocer cuán larga fue su última visita, qué contenido fue visitado, qué ruta de navegación fue seguida, número de veces que se ha visitado un determinado contenido o página, etc.
Como una herramienta adicional a un sistema e-learning, el seguimiento de usuarios es un tema muy interesante y de suma importancia, ya que aporta significativamente información relacionada a las actividades que ha realizado un estudiante o grupos de estudiantes en un curso determinado.
Aún no existe mucha información sobre el seguimiento de usuarios, como para tener conceptos claros que ayuden a determinar de mejor manera el alcance de este tema. Pero en algunas pocas investigaciones se presentan conceptos que pueden empezar a ayudar a definir lo que es el seguimiento de usuarios y su utilidad. A continuación la descripción de algunos conceptos.
- Según, Ortega, Arozarena, & Hernández (2005), el seguimiento de usuarios permite "comprender mejor el funcionamiento y uso de la plataforma y poder abordar acciones encaminadas a mejorar los contenidos didácticos así como la plataforma misma".
- En su proyecto de tesis doctoral Itmazi (2005) define el seguimiento de usuarios como "la capacidad de seguir los usos de los materiales del curso por los estudiantes, y de realizar un análisis adicional e informar el uso de forma global o individual" (p. 118).
A nivel general, un sistema de seguimiento de usuarios, podría revelar qué es lo que se está haciendo en un sitio web, y además proveer un conjunto completo de estadísticas para ayudar a monitorear y dar seguimiento a los usuarios. La meta es ayudar a tomar decisiones sobre la gestión de un sitio web.
Primordialmente, la información aportada por la herramienta de seguimiento de usuarios sirve para la elaboración y construcción de modelos de usuario sobre los cuales se puede agrupar a muchos estudiantes que cumplan con las características que se hayan tomado en cuenta para dicho modelo, pudiendo de esta manera, ofrecerse recomendaciones de acuerdo a un modelo de usuario escogido o algunos otros parámetros o condiciones que se tomen en cuenta para realizar una recomendación.
Elementos del Seguimiento de Usuarios
A continuación se presentan algunos elementos que intervienen en el proceso de seguimiento de usuarios.
Plataforma LMS
Elemento principal para el desarrollo del seguimiento de usuarios, ya que es el entorno sobre el cual el usuario interactúa y el sitio donde se va a efectuar el análisis de las distintas actividades que se realizan en diferentes espacios de tiempo tomando en cuenta todas las acciones que se ejecutan sobre los objetos o módulos de la plataforma. Se pueden realizar acciones o aportaciones sobre: foros, tareas, cuestionarios, encuestas, glosarios, material (documentos y archivos de diferentes tipos), mensajería y enlaces tanto internos como externos; de acuerdo a los recursos de los que disponga el sistema de gestión de aprendizaje utilizado.
Archivos Log
Los archivos log son una de las fuentes de información para realizar el seguimiento de usuarios, ya que con los datos contenidos en los mismos, se puede trabajar para conocer las distintas peticiones que se han realizado hacia el servidor y así mismo las respuestas que éste devuelve, permitiendo conocer la mayoría de las acciones que un usuario ha realizado sobre la plataforma. Los datos contenidos en los archivos log revelan información sobre: la dirección IP del cliente; la fecha y hora en la que el servidor recibió la petición; la línea de petición del cliente, en la que se muestra información sobre el método utilizado por el cliente, el recurso solicitado, el protocolo utilizado, el código de estado que el servidor envía de vuelta al cliente; y el tamaño del objeto retornado. La información que el archivo log aporte también dependerá del tipo de configuración o formato que éste tenga. (Ortega, Arozarena, & Hernández, 2005)
Base de Datos
En la base de datos de la plataforma existen datos muy importantes y útiles para la actividad del seguimiento de usuarios, ya que muestra información de las aportaciones o contribuciones que los estudiantes realizan sobre determinados objetos o módulos de la plataforma, incluyendo el tipo de acción ejecutada, el contenido de la contribución dependiendo del tipo de objeto o módulo utilizado y la fecha en la cual se lleva a cabo la acción. Además en la base de datos se encuentra registrada información detallada a nivel individual y grupal de los estudiantes, tal como: la modalidad de estudio, carrera profesional a la que pertenecen, periodo y ciclo académico en el que están matriculados, las materias que tienen asignadas, etc. (Ortega, Arozarena, & Hernández, 2005)
Proceso de Seguimiento de Usuarios
Este proceso contempla algunas actividades para conseguir los resultados deseados, a continuación se describen cada una de ellas. Cabe recalcar que no existe ningún proceso exactamente definido para realizar el seguimiento de usuarios. Los procesos que se describen a continuación son una recopilación de ideas de varias investigaciones y de fases preliminares de la minería de uso web, en la que se aplican técnicas de minería de datos para descubrir patrones de uso desde los datos de la Web apuntando hacia varias aplicaciones (Srivastava, Cooley, Deshpande, & Tan, 2000).
Recopilación y Selección de Datos
En este paso primeramente se decide qué es lo que se desea estudiar o analizar, identificando las actividades de usuario que tengan más relevancia para el proceso de seguimiento y cuáles son los datos que facilitarán esa información. Posteriormente se localizan los archivos o fuentes de datos a utilizar, de los cuales se obtendrán los datos de mayor importancia (Sanchez & Heider, 2008).
Tratamiento Previo y Análisis de Datos
Aquí se trata de filtrar y limpiar los datos recogidos tanto de archivos log o bases de datos. Luego, se realizan tareas de selección y normalización, eliminando los datos erróneos o incompletos, presentando los restantes de manera ordenada y con los mismos criterios formales hasta conseguir una igualdad (Sanchez & Heider, 2008).
También se toman en cuenta otras labores enfocadas a la obtención de datos listos para su transformación o utilización por parte del modelado de usuario. Eliminando referencias y atributos irrelevantes de los logs (Botía Blaya, 2002). Esto último es para el caso en que se considere como fuente de información un archivo log.
Transformación de Datos
Dentro del proceso de transformación de datos se toma en cuenta la identificación de los usuarios, sesionización o identificación de episodios, identificación de vistas de páginas, muestreo y reducción de la dimensionalidad (Botía Blaya, 2002).
La identificación de los usuarios se transforma en una tarea muy compleja cuando no se registra una autenticación del usuario en el sitio web donde se esté haciendo el análisis. En un archivo log los campos que permiten identificar a un usuario son: la dirección IP, el user agent y referring URL, siendo estos datos poco confiables por el hecho de que un usuario no siempre puede tener la misma dirección, el user agent que permite identificar el navegador con el que se accede al sitio web, no siempre va a ser el mismo, y el referring URL, que no es más que la dirección de la página desde donde se llega a la página actual puede estar roto o generar una ruta incoherente (Bartolini, 2001).
Presentación de Resultados
Los resultados obtenidos a través del seguimiento de usuarios ofrecen información útil para el modelado de usuario, la presentación de los mismos involucra ofrecer un conjunto de reportes que permitan visualizar la información obtenida para una fácil comprensión por parte de los facilitadores de un curso o administrador de la plataforma Moodle. (Ortega, Arozarena, & Hernández, 2005)
Fases del Proceso de Seguimiento de Usuarios
En esta sección se realiza una breve descripción de las fases del proceso de seguimiento de usuarios; así mismo como en el proceso de seguimiento de usuarios, no existe aún un ente regulador que manifieste que para realizar esta actividad se deban considerar estrictamente ciertos pasos. En algunas investigaciones realizadas sobre este tema y sobre la minería de uso web, se manifiesta que cada empresa u organización que desee aplicar técnicas de minería de datos u otro tipo de técnicas como las estadísticas, se las puede realizar como mejor convenga, buscando acercarse de la mejor manera a la obtención de datos confiables y coherentes, ningún proceso ni metodología ha logrado aún obtener información cien por ciento confiable. Lo que se ha hecho es brindar pautas de cómo se podrían obtener mejores resultados.
Las fases preliminares planteadas para el proceso de minería uso web en base a la metodología CRISP-DM (Chapman, y otros, 2000), que tienen que ver con la preparación y pre-procesamiento de los datos, pueden ser utilizadas como fases para el seguimiento de usuarios; la descripción de cada una de ellas es tomada de (Millán, 2009).
Comprensión del Negocio
En lo que respecta a esta fase, lo que se pretende es tener una visión amplia y objetivos claros de lo que se quiere lograr. A continuación se enumeran los puntos clave de esta fase:
- Determinación de objetivos de negocio
- Definición de la situación actual
- Determinar los objetivos para el seguimiento de usuarios
Entendimiento de los Datos
La fase de entendimiento de los datos busca la obtención de datos iniciales para luego iniciar actividades con los datos, para obtener una familiarización con los mismos e identificar problemas de calidad e inconsistencias. Esta fase tiene en cuenta lo siguiente:
- Recolección de datos iniciales
- Descripción de los datos
- Exploración de los datos
- Verificación de la calidad de los datos
Preparación de datos
La construcción final de un conjunto datos es el resultado de las distintas actividades que intervienen en esta fase. La tarea de preparación de los datos se ejecuta varias veces. Se seleccionan atributos y registros y se limpian y transforman datos para las herramientas de modelamiento. Las actividades que tienen que ver con esta fase son:
- Selección de los datos
- Limpieza de los datos
- Construcción de datos
- Integración de datos
- Formateo de datos
Análisis de Información para el Seguimiento de Usuarios
En este apartado se intenta dar a conocer una visión amplia de los datos que son necesarios para el seguimiento de usuarios.
Datos de Usuario
Aquí se toman en cuenta datos acerca de las características personales del usuario tales como nombre, apellidos, dirección, etc. Son datos que permiten tener información específica de cada usuario. Los datos de usuario se pueden clasificar en las siguientes categorías:
- Datos Demográficos
- Conocimiento del Usuario
- Destrezas y Capacidades del Usuario
- Intereses y Preferencias del Usuario
Una descripción más detallada de las categorías de datos de usuario se puede encontrar en (Suarez Castañon & Jiménez Muñoz, 2007)
Datos de Uso o Tráfico
Los datos de uso o tráfico incluyen datos de interacción del usuario con el sistema, qué páginas ha visitado, qué mensajes o formularios ha enviado. En un sistema de gestión de aprendizaje sería, qué foros ha visto, leído o respondido, qué lecciones o tareas ha realizado, en fin toda la información que se registra acerca de las acciones o actividades que el usuario ha realizado sobre una plataforma.
Los informes de tráfico permiten analizar el volumen de accesos (páginas visitadas), visitas (sesiones de usuario) y visitantes únicos en diferentes intervalos de tiempo, permitiendo estudiar, la evolución del tráfico en diferentes niveles de análisis a los largo de un período seleccionado (Lana & Villena, 2009).
Datos de Entorno
Dentro de los datos de entorno del usuario, se toman en cuenta datos acerca del hardware y software (Suarez Castañon & Jiménez Muñoz, 2007). Entre los datos de software se pueden considerar el navegador, versión del navegador, sistema operativo y versión del sistema operativo; como datos de hardware pueden estar resolución de pantalla, ancho de banda y velocidad del procesador. Estos datos pueden ser bastante útiles para la realización del modelado de usuarios y para la oferta de ciertas recomendaciones cuando se trata de sistemas recomendadores.
Datos de Contenido
Según Lana & Villena (2009) los datos de contenido "permiten estudiar los contenidos accedidos por los visitantes". Con estos datos se puede detallar qué páginas son más accedidas o interesan más a los usuarios, qué recursos de la plataforma han sido utilizados y con qué frecuencia. Además permite reflejar la participación y las aportaciones que ha realizado un usuario sobre los módulos de la plataforma en la cual interactúa.
Trabajos Relacionados
Existe poca bibliografía específica donde se defina y detalle todo lo que tiene que ver con el seguimiento de usuarios, pero hay otros estudios que se relacionan con esta actividad enfocada desde otros puntos de vista y aplicada a diferentes dominios.
En (Couchet, Santos, Raffenne, Boticario, & Manrique, 2008) se realiza la presentación de una arquitectura general de auditoría y seguimiento que implementa un modelo de metadatos que intenta extender la funcionalidad de OpenACS. Los motores de auditoría y seguimiento proveen los mecanismos para registrar todas las acciones realizadas directamente por el usuario de un sistema y por el mismo sistema. En la publicación se destaca la importancia de separar las responsabilidades de los procesos de auditoría y de seguimiento o rastreo. El motor de auditoría se encarga de la definición de los objetos que necesitan ser auditados, la definición de los datos a ser registrados para auditar los objetos definidos, y la realización del procesamiento semántico sobre los datos registrados, para extraer los objetos y el significado de la interacción entre estos objetos. El motor de seguimiento es el encargado de registrar los datos definidos por el motor de auditoría.
Lana & Villena (2009) realizan una descripción funcional y técnica de Lawerinto.com, un servicio de medición de audiencias de sitios web. En este documento primeramente se analiza las ventajas y desventajas del uso de tecnologías de análisis de tráfico de sitios web, tales como, las herramientas analizadoras de archivos log y los sistemas basados en huellas o marcadores, para luego realizar una explicación de la arquitectura de su servicio de mediciones de audiencias de sitios web, en donde destacan la intervención de cinco módulos: webmart, almacén central de toda la información sobre el uso del sitio web; módulo de carga, encargado de insertar nueva información en el webmart a través del uso de huellas o del propio log del servidor; módulo de análisis de datos, encargado del tratamiento, procesamiento y análisis de la información a través del cálculo de visitas, obtención y normalización de indicadores, y generación de agregaciones; módulo de presentación, que se encarga de la presentación dinámica de informes en función de los requisitos del usuario; y finalmente el módulo de gestión que facilita la configuración, gestión y automatización de diferentes procesos del sistema.
Para el desarrollo de un sistema de seguimiento de usuarios según Ortega, Arozarena, & Hernández (2005), una de las principales restricciones de diseño es el intento de minimizar al máximo el uso adicional de recursos que pueda repercutir negativamente en el rendimiento general del sistema. Ellos han considerado dos importantes fuentes de datos: la base de datos del sistema, en la que se encuentra información sobre los objetos creados, y los archivos log del servidor, en los que se almacenan las peticiones http que realizan los usuarios, obteniendo: la fecha completa de petición, la url solicitada, el tipo de navegador utilizado, la dirección IP desde la que se ha realizado la petición, etc. Para poder realizar el análisis de los datos contenidos en los archivos log, utilizan una herramienta analizadora externa que posteriormente es integrada a la plataforma, presentándose algunos problemas, tales como: la modificación del código de la herramienta analizadora para registrar información sobre el usuario que realiza una petición y la comunidad o clase sobre la cual se realiza la misma.
Martinelli (2008), para la identificación de hábitos de uso de sitios web sigue los pasos que se utilizan para la fase de pre-procesamiento en la minería de uso web, aunque en su tesis no lo hace conocer explícitamente. Entre los pasos que él propone en su solución están: limpieza de logs, identificación de usuarios, identificación de sesiones, identificación de transacciones de usuario, e identificación de hábitos de usuario.
En las publicaciones de (Lana & Villena, 2009; Martinelli, 2008) se hace énfasis en que la utilización de archivos log para la obtención de los usos de los usuarios sobre un sitio web, no son una fuente confiable de información y dicha información se encuentra distorsionada por algunos factores tales como: el efecto de proxies y cachés sobre la información de visitas, lo cual hace que en muchos casos, las páginas de un sitio no sean entregadas por el servidor del sitio; el acceso de robots, los mismos que si no son eliminados, la información generada por las herramientas analizadoras de logs, no sería confiable ya que se están tomando en cuenta los accesos de robots como acciones de usuario.
DEFINICIÓN DEL PROBLEMA
Introducción
Para poder construir un sistema de seguimiento de usuarios es necesario tener en cuenta los problemas que se presentan y trabajarlos.
En este capítulo, se realiza la definición del problema analizándolo desde diferentes puntos de vista, tales como; el registro de información actual e histórica de la actividad de los usuarios, estructura o modelo actual de la base de datos para el registro y recuperación de la información registrada, la presentación de información a través de reportes y finalmente el rendimiento para el sistema de seguimiento de usuarios. Con el análisis de los diferentes puntos de vista expuestos se plantea una pregunta de investigación que permite aclarar de mejor manera el planteamiento del problema.
Además dentro de este capítulo se realiza el planteamiento de objetivos, la justificación del proyecto de tesis, la metodología de investigación utilizada y el planteamiento de una hipótesis que al final de la investigación será validada de acuerdo a los resultados que se hayan alcanzado.
Planteamiento
El problema del registro actual e histórico de información de la actividad de los usuarios
Moodle cuenta con algunas características de seguimiento de usuarios aunque no de una forma muy detallada, ya que registra información de la actividad de los usuarios pero en sus reportes no presenta información relevante para una posible toma de decisiones, la única fuente de datos para la generación de los reportes es la base de datos de la plataforma, la cual cuenta con dos tabla mdl_log y mdl_log_display. La información registrada sobre las acciones que han realizado los usuarios en la plataforma, es muy útil, pero no suficiente para el estudio del presente proyecto de tesis ya que no solamente se requiere la presentación de reportes estadísticos sino que también se pueda aportar información útil para el modelado de usuario y que este tenga las facilidades necesarias para realizar la consulta de la información que requiera.
El problema de la estructura de la base de datos para el registro de la actividad de los usuarios
Por otro lado tal como se mantiene ahora el esquema de base de datos de Moodle el registro y la recuperación de los usos de los usuarios, no es de entera utilidad para el módulo de modelado de usuario, el cual va a interactuar mucho con esta información para la creación de perfiles y el modelo en sí del usuario. El problema es que los registros se encuentran almacenados solamente en las dos tablas que se mencionaron en la sección anterior, lo cual, implica problemas de rendimiento al momento de consultar la información deseada ya que mientras más actividad exista sobre la plataforma mayor es el número de registros que se guardan en la base de datos y por lo tanto el tiempo de respuesta cada vez es más largo.
El problema de la presentación de información
La generación de información estadística en Moodle se podría decir que es un poco estática porque no ofrece muchas opciones de presentación de información que permitan realizar un análisis a través de diferentes tipos de reportes estadísticos como: estadísticas del sitio, estadísticas de usuario, reportes por hora, día, semana, mes y duración; visitas por páginas, usuario, IP; y finalmente reportes acerca de contribuciones como: foros, mensajes, encuestas, preguntas, carpetas, etc. (Ortega, Arozarena, & Hernández, 2005).
El problema de rendimiento en sistemas de explotación de información
En sistemas de explotación de información como es el caso del seguimiento de usuarios, el rendimiento es un factor crítico, ya que se debe tomar en cuenta que se procesan y almacenan millones de registros por día, y que los mismos son utilizados para la generación de reportes y la construcción de modelos de usuario (Grosser, 2004), en este caso para los estudiantes de la UTPL.
La información a registrar y la forma de acceder son cuestiones importantes para el seguimiento y modelado de usuarios, así como la velocidad de procesamiento, por la cantidad que deberá analizarse. Estos puntos descritos pueden repercutir en las prestaciones que debe ofrecer un sistema de seguimiento de usuarios.
El problema podría verse más claro en el momento en que los usuarios comiencen a realizar peticiones en gran demanda de información sobre las estadísticas de uso que han tenido sobre la plataforma de aprendizaje.
Pregunta de Investigación
En esta tesis entonces se intentará dar respuesta a la siguiente pregunta:
- ¿Se puede desarrollar una herramienta de seguimiento de la actividad de los usuarios dentro de la plataforma Moodle, capaz de brindar información útil para la elaboración de un modelo de usuario de los estudiantes de la UTPL, de tal manera que facilite el registro y recuperación de información?
Objetivos
Objetivo General
Realizar el seguimiento de la actividad de los estudiantes dentro de la plataforma Moodle de la UTPL, de manera que esté disponible un conjunto de información estadística que ayude a la definición y elaboración de un modelo de usuario, y permita monitorear a cada uno de los estudiantes a través de los reportes de actividad.
Objetivos Específicos
- Seleccionar fuentes de información para el proceso de seguimiento de usuarios.
- Seleccionar y explorar los datos que pueden brindar información útil
- Verificar la calidad de los datos.
- Establecer criterios de selección final de datos.
- Crear un modelo de datos útil tanto para el seguimiento como para el modelado de usuario.
- Diseñar y desarrollar componentes en Moodle para la presentación de resultados.
Justificación
Con este proyecto de tesis se pretende descubrir, conocer y dar seguimiento a todas las actividades y acciones que realiza un estudiante o grupo de estudiantes dentro de la plataforma Moodle, de tal manera que con la información obtenida se puedan conocer situaciones como: el nivel de interacción de los estudiantes, cada que cierto tiempo acceden al sistema, el tiempo que permanecen realizando sus tareas o trabajos en línea, etc.
Además los datos obtenidos a través de la herramienta de seguimiento de usuarios permitirán al módulo de modelado de usuario construir un modelo que realmente refleje las características y preferencias reales de los usuarios.
Quienes se benefician con esta herramienta son los profesores y estudiantes, porque a través de ella existirá un conocimiento recíproco de cómo va la interacción y el proceso de aprendizaje en línea, y de esta manera plantear posibles soluciones en el aprendizaje y generación de conocimiento a través del EVA.
Como ya se mencionó anteriormente este proyecto puede aportar información significativa para el desarrollo de nuevos proyectos, tal es el caso, del Modelado de Usuario y Sistemas Recomendadores.
Metodología
Inicialmente el tipo de investigación utilizado es de tipo explorativo ya que el tema tratado en este proyecto de tesis aún no ha sido ampliamente estudiado y existen pocas aportaciones en cuanto a contenido, pasos y metodologías a seguir para llevar a cabo el proceso de seguimiento de usuarios. Esto ha impulsado la búsqueda de información, ya sea de trabajos relacionados, proyectos de investigación, proyectos de tesis e informes técnicos disponibles en la amplia red del internet, para lograr una familiarización con el tema de estudio.
Luego se continúa con un tipo de investigación descriptivo ya que durante el desarrollo de la tesis se describen cada una de las actividades realizadas para la consecución de los objetivos planteados.
Para el desarrollo de la herramienta de seguimiento de usuarios se utilizará el modelo de desarrollo que tiene el grupo de desarrollo de Moodle, de tal manera que se puedan seguir los estándares y metodologías establecidos por dicho grupo.
Hipótesis
En base a la definición del problema y la pregunta de investigación se plantea la siguiente aseveración como hipótesis de investigación:
Hi: "La información registrada por la herramienta de seguimiento de usuarios permite elaborar un modelo de usuario de los estudiantes de la UTPL sin la necesidad de recurrir a otras fuentes de información".
DEFINICIÓN DE LA SOLUCIÓN
Introducción
En este capítulo se realiza la propuesta de una solución para el problema definido en el capítulo anterior, tomando en cuenta primeramente los requerimientos para el seguimiento de usuarios y el modelado de usuario. En la solución se tiene en cuenta los detalles analizados en la definición del problema, tales como; el modelo de base de datos para el seguimiento de los usuarios, el registro de las acciones de los usuarios, la generación de reportes y el rendimiento del sistema. Se presenta un diagrama general de los componentes de la solución para luego realizar una descripción de cada uno de ellos y finalmente el detalle de los resultados esperados luego del desarrollo de la solución.
Requerimientos
Los requerimientos que se describen a continuación reflejan las necesidades de información por parte del modelado de usuario y la información que debe tener la herramienta de seguimiento de usuarios para la presentación de información.
Datos de Entorno
- Información acerca del navegador utilizado por los usuarios
- Información del sistema operativo utilizado por los usuarios
- Dirección IP con la que los usuarios han accedido al entorno
Datos de Interacción
- Último acceso al sistema por parte de los usuarios
- Acciones realizadas sobre los objetos
- Número de accesos al curso
- Número de aportaciones al curso
- Número de preguntas al tutor
- Número de páginas visitadas por curso
- Número de respuestas en los foros
- Tiempo promedio de interacción en un curso
- Número de tareas realizadas
- Número de tareas propuestas por los profesores
- Número total de sesiones por usuario
- Número total de aportaciones por usuario
- Tiempo promedio de interacción por usuario
- Número total de páginas visitadas
Presentación de Reportes
El sistema de seguimiento de usuarios debe ser capaz de visualizar los siguientes reportes:
- Estadísticas por Usuario.- Solamente se mostrarán estadísticas que tengan que ver con el uso del sistema realizado por un solo usuario.
- Estadísticas por Curso.- Para este tipo de reportes se toman en cuenta las estadísticas que tengan que ver con el uso del sistema por parte de todos los participantes de un curso.
En las estadísticas por usuario y en las estadísticas por curso los reportes deben presentarse de acuerdo a las siguientes características:
- Visitas por hora
- Visitas por día
- Visitas por semana
- Visitas por mes
- Duración de las visitas
- Páginas visitadas
- Visitas por usuario
- Visitas por IP
- Recursos añadidos
- Aportaciones realizadas
- Recursos utilizados
Solución Popuesta
La solución que se plantea al problema en este proyecto de tesis primeramente tiene que ver con la estructura de la base de datos para el registro y recuperación de la información, luego con la forma de guardar la información en la base de datos, así mismo se toma en cuenta que se pueda generar la mayor cantidad posible de reportes de manera que exista un amplio panorama para el análisis de la participación de los usuarios y por último situaciones que tienen que ver con el rendimiento de la herramienta en sí.
Modelo de Base de Datos para el seguimiento de Usuarios
En este apartado se especifica la información que se debería poder almacenar en el modelo de base de datos para el seguimiento de usuarios y modelado de usuario.
- Datos de Usuario
- Id del usurario
- Cursos a los que pertenece el usuario
- Periodo académico en el que se dictan los cursos
- Datos de Uso
- Acciones sobre cada uno de los módulos de Moodle.
- Datos de Entorno
- Información sobre el navegador que utiliza el usuario
- Información sobre el sistema operativo que utiliza el usuario
- Dirección IP desde donde accede el usuario
- Datos de Contenido
- Participaciones que ha realizado el usuario sobre: foros, tareas, encuestas, cuestionarios, glosarios y recursos.
Figura 2. Modelo de datos Multidimensional para el seguimiento de usuarios
Con el modelo de datos presentado en la figura 2, se consigue obtener una mejor estructura de los datos para facilitar mejor el registro y recuperación de información. Guardar información de la actividad de los usuarios en una sola tabla no es una solución óptima por lo que se plantea un modelo multidimensional en el cual se pueda tener un poco más dispersa la información y de una forma en que la recuperación de la misma pueda ser un poco más rápida.
Registro de la actividad de los usuarios
Con el modelo planteado en la sección anterior el registro de información puede estar más organizado ya que la información ya no se guarda en una sola tabla, sino que más bien, está separada en diferentes tablas que se encuentran estrechamente relacionadas. En una sola tabla central se tiene la información más importante con claves foráneas a las otras tablas donde se tiene información adicional para cada registro de la tabla principal como:
- A qué estudiante pertenece la acción registrada.
- En qué sesión se realizó la acción
- Fecha en que se realizó la acción (fecha, día, ciclo o semestre, mes, semana, etc)
- Tiempo en que se registró la acción (hora, minutos)
- Curso sobre el cual se registró la acción (id del curso, nombre, ciclo, etc.)
Generación de Informes de estadística
Para la generación de informes de estadística con el modelo multidimensional presentado se pueden obtener una mayor cantidad de reportes para el análisis de la información por parte de los profesores o administrador del sistema. Se desarrollará un componente dentro de Moodle con diferentes opciones para la visualización de varios reportes.
Rendimiento de la herramienta de seguimiento de usuarios
| Con la solución planteada el rendimiento de la herramienta de seguimiento de usuarios se ve mejorado en mayor parte ya que la información a recuperar estará relacionada con diferentes tablas dimensionales, lo cual, minimiza en gran parte el procesamiento de información que se haga con los datos registrados porque toda la información está referenciada a través de claves foráneas que a su vez se transforman en índices, lo que a nivel de base de datos mejora la recuperación de información. |
No con esto se quiere decir que el rendimiento de la herramienta se ve en un 100% mejorado, lo que se ha hecho es minimizar el problema definido en el capítulo anterior. Lo que debe quedar claro es que siempre que se trabaje con grandes cantidades de información para su procesamiento, en muchos de los casos, el rendimiento va a estar comprometido, especialmente en sistemas de explotación de información como lo es el caso de la herramienta de seguimiento de usuarios.
Componentes de la Solución
En esta sección se detallan cada uno de los componentes que son parte de la solución, tal como se muestra en la figura 3, describiendo la participación e importancia de cada uno de ellos.
Figura 3. Esquema de la Solución Seguimiento de Usuarios
Profesor / Estudiante
El profesor o estudiante es la persona que interactúa con la plataforma Moodle, para el desarrollo de sus actividades de enseñanza o aprendizaje respectivamente. Sin ellos no se podría registrar ninguna acción realizada sobre el sistema, es por eso que son considerados como la pieza fundamental para el funcionamiento del sistema.
Moodle
Es la plataforma sobre la cual se realiza la interacción y participación de los usuarios, es importante porque en ella se encuentran distribuidos de una manera ordenada cada uno de los módulos y recursos sobre los cuales se realizan las acciones.
Módulo de Seguimiento de Usuarios
El módulo de seguimiento de usuarios es aquel que permite registrar y recuperar información acerca de la actividad de los usuarios sobre la plataforma de interacción. Está integrado a Moodle y además se encarga de realizar los cálculos para la generación y presentación de información estadística. Los datos registrados a través de este módulo servirán como fuente de información para la creación del modelado de usuario. En el capítulo 4, se detallará un poco más sobre la arquitectura de este componente.
Modelado de Usuario
El modulo del modelado de usuario es el componente que interactúa con el módulo de seguimiento de usuarios para la consulta de información que le permita la creación de un modelo de usuario.
Resultados Esperados
Una vez que se haya concluido el presente proyecto de tesis se pretende ofrecer una herramienta de seguimiento de usuarios para la plataforma Moodle, de manera que los resultados obtenidos de la misma, puedan ser utilizados para que el módulo de modelado de usuario sea capaz de realizar actividades propias del proceso. Además la herramienta puede ser usada por el administrador, el facilitador o el estudiante como instrumento de visualización de todas las acciones y actividades realizadas dentro de cada uno de los cursos que se ofertan en el EVA, y de esa manera dar seguimiento al proceso de aprendizaje de los estudiantes de la UTPL.
DESARROLLO DEL MÓDULO DE SEGUIMIENTO DE USUARIOS
Introducción
Metodología de Desarrollo (Programación Extrema XP)
Según Fernández Escribano (2002), XP (eXtreme Programming) es una nueva disciplina para el desarrollo ágil de software, así mismo, es una metodología que se basa en cuatro características: la simplicidad, la comunicación, la retroalimentación o reutilización del código desarrollado y coraje. También menciona que Kent (creador de la metodología) definió cuatro grandes tareas a realizar en el desarrollo de todo proyecto: planificación, diseño, desarrollo y pruebas; teniendo siempre en cuenta las cuatro características básicas mencionadas anteriormente.
XP consiste de un conjunto de reglas y prácticas que gobiernan todas las áreas de de desarrollo de software, es un proceso disciplinado y bien definido. La meta de XP es minimizar los costos en los cambios, para conseguir esto muchas de las prácticas de son sumamente iterativas. XP es extrema en el sentido de que se necesitan doce de las mejores prácticas de desarrollo de software, las que se describen a continuación:
Tabla 13. Descripción de las Prácticas de XP (Construx Software, 2001)
| Práctica XP | Descripción |
| Planificación | Determina el alcance para la siguiente liberación seleccionando historias de usuario sobre las cuales está basada la liberación |
| Pequeñas Liberaciones | Una liberación que contiene algún valor comercial nuevo ocurre aproximadamente cada dos semanas. |
| Metáfora | El alto nivel de visión del sistema entero es usado para conducir el diseño detallado y la construcción. |
| Diseño Simple | El diseño del sistema debería ser tan simple como sea posible para dar soporte a las necesidades de funcionalidad actuales |
| Pruebas | El desarrollador crea pruebas de unidad antes de la construcción; llamadas como "Primera Prueba". Los clientes crean pruebas funcionales. Las pruebas son reutilizadas durante el proyecto |
| Refactorización | El sistema es reestructurado y modificado en todas las partes del proyecto para disminuir la complejidad, incrementando flexibilidad, etc. |
| Programación en Parejas | El código es escrito por dos personas en la misma máquina y al mismo tiempo |
| Propiedad Colectiva | El código en el sistema puede ser cambiado por cualquiera en cualquier momento. |
| Integración Continua | Las adiciones o cambios en el código son integrados dentro de la construcción de producción cada vez que una tarea pequeña es completada y no en menos de un día. |
| Cuarenta horas de trabajo | No se requiere de ninguna hora extra por cada semana de trabajo |
| Cliente Disponible | Un cliente o el representante del mismo siempre está disponible para proporcionar y seleccionar historias, y responder preguntas. |
| Estándares de Codificación | El código es escrito de acuerdo a un conjunto de reglas para ayudar a mejorar la comunicación a través del mismo. |
Las prácticas o reglas de XP detalladas en la tabla 13, según (Joskowicz, 2008) se pueden agrupar de forma genérica de acuerdo a lo siguiente:
- Reglas y Prácticas para la Planificación: Se realiza a través de un diálogo continuo entre las partes involucradas del proyecto, incluyendo al cliente, a los programadores y a los coordinadores o gerentes.
- Historias de Usuario.- Sustituyen a los documentos de especificación funcional, y a los casos de uso; son escritas por el cliente en su propio lenguaje, como descripciones cortas de lo que el sistema debe realizar ayudando a que los programadores puedan realizar una estimación poco riesgosa del tiempo que llevará su desarrollo. Cada historia debe ser programadas entre una y tres semanas; si la estimación es superior a tres semanas debe ser dividida en dos o más historias; si es menos de una semana, se debe combinar con otra historia.
- Plan de Entregas.- En este plan se establece las historias de usuario que serán agrupadas para conformar una entrega, y el orden de las mismas. El cronograma es el resultado de una reunión entre todos los actores del proyecto. Después de algunas iteraciones se pueden realizar nuevas reuniones para reajustes en el plan.
- Plan de Iteraciones.- Las historias de usuario seleccionadas para cada entrega son desarrolladas y probadas en un ciclo de iteración, de acuerdo al orden preestablecido. Cada historia de usuario contiene tareas específicas de programación y para cada una de ellas se establecen las pruebas de aceptación.
- Reuniones diarias de seguimiento.- Con estas reuniones se pretende mantener la comunicación entre el equipo, y compartir problemas y soluciones.
- Reglas y Prácticas para el Diseño: Los conceptos más importantes de diseño son los siguientes:
- Simplicidad.- Se propone la implementación del diseño más simple que se pueda obtener y que realmente funcione. Como sugerencia se dice que nunca se debe adelantar la implementación de funcionalidades que no tengan nada que ver con la iteración en la cual se está trabajando.
- Soluciones "spike".- Son pequeños programas de prueba que permiten explorar diferentes soluciones a problemas técnicos o cuando es complicado estimar el tiempo de implementación.
- Recodificación.- Consiste en escribir nuevamente parte del código sin cambiar la funcionalidad de la implementación, con el fin de obtener un código más simple, conciso y/o entendible. Esta actividad se puede realizar cada vez que sea necesario.
- Metáforas.- Es algo que todos entienden, sin necesidad de mayores explicaciones. Con esto se pretende explicar de manera sencilla el propósito del proyecto, y guiar la estructura y arquitectura del mismo.
- Reglas y Prácticas para el Desarrollo
- Disponibilidad del Cliente.- Es fundamental la presencia del cliente en proyecto de desarrollo, ya que él es el que debe proporcionar los detalles necesarios para el desarrollo de cada una de las historias de usuario.
- Uso de estándares.- Se promueve el desarrollo basado en estándares, de tal manera, que el código escrito sea entendible por cualquier otro desarrollador y facilite la recodificación.
- Programación dirigida por las pruebas.- Lo primero que se escriben son las pruebas que el sistema debe pasar, con lo cual, el desarrollo debe ser el mínimo necesario para pasar las pruebas ya definidas.
- Programación en pares.- Se propone un desarrollo de dos en dos por computadora, obteniéndose algunas ventajas que se pueden revisar con más detalle en (Joskowicz, 2008).
- Integraciones permanentes.- Publicación de nuevas versiones que estén libres de errores.
- Propiedad colectiva del código.- Todo el equipo de desarrollo puede contribuir con nuevas ideas que apliquen a cualquier parte del proyecto, incluso corregir errores, agregar funciones o recodificar.
- Ritmo sostenido.- Se pretende manejar un ritmo de trabajo razonable y constante sin sobrecargar el esfuerzo del equipo. En este aspecto es muy bueno e interesante la renegociación del plan de entregas si se ve que el tiempo es corto y no pueden cumplir con todas las actividades planificadas.
- Reglas y Prácticas para las Pruebas
- Pruebas unitarias.- Lo que permite conocer que todo el código funciona es que éste pase correctamente las pruebas unitarias. Todos los módulos deben pasar las pruebas unitarias.
- Detección y corrección de errores.- Un error detectado inmediatamente debe ser corregido, tomando las precauciones de que errores similares no se vuelvan a producir.
- Pruebas de aceptación.- Son creadas en base a las historias de usuario en cada ciclo de iteración de desarrollo.
Ciclo de Vida de Software en XP
De acuerdo a (Letelier & Penadés, 2003) el ciclo de vida de XP consiste de seis fases: Explotación, Planificación de la Entrega, Iteraciones, Producción, Mantenimiento y Muerte del Proyecto. Las primeras cuatro fases mencionadas anteriormente son las que se seguirán para el desarrollo del presente proyecto.
Fase de Exploración
En esta fase, se plantean a grandes rasgos las historias de usuario que son de interés para una primera entrega de la herramienta de seguimiento de usuarios. Así mismo se consigue una familiarización con las herramientas y tecnologías que se utilizarán en el proyecto. Se prueba la tecnología y se exploran las posibilidades de la arquitectura del sistema de seguimiento de usuarios construyendo un diagrama donde se representen los módulos que componen la solución.
Historias de Usuario
A continuación se describen rápidamente las características que el sistema de seguimiento de usuarios debe tener tomando en cuenta sus requerimientos y los del modelado de usuario.
Arquitectura de la Solución
Pre-procesamiento de Información
Creación de Reportes
Herramientas
Tecnologías
Prototipo
Fase de Planificación de Entregas
En esta fase se establece la prioridad de cada historia de usuario, y se realiza una estimación del esfuerzo necesario de cada una de ellas. Se determina un cronograma en conjunto para la presentación de iteraciones. Las estimaciones de esfuerzo asociado a la implementación de las historias se las establece utilizando como medida el punto. Un punto, equivale a una semana ideal de programación. Las historias generalmente valen de 1 a 3 puntos.
La "velocidad" de desarrollo, es establecida en puntos por iteración, tomando principalmente como base la suma de puntos correspondientes a las historias de usuario que fueron terminadas en la última iteración. La velocidad del proyecto es utilizada para establecer cuántas historias se pueden implementar antes de una fecha determinada o cuánto tiempo tomará implementar un conjunto de historias (Letelier & Penadés, 2003).
Estimación de Esfuerzo
Planificación
Al planificar por tiempo, se multiplica el número de iteraciones por la velocidad del proyecto, determinándose cuántos puntos se pueden completar. Al planificar según alcance del sistema, se divide la suma de puntos de las historias de usuario seleccionadas entre la velocidad del proyecto, obteniendo el número de iteraciones necesarias para su implementación.
Wake proporciona algunas guías útiles para realizar la planificación de la entrega …
Fase de Iteraciones
Esta fase incluye varias iteraciones sobre el sistema antes de ser entregado. El Plan de Entrega está compuesto por iteraciones de no más de tres semanas. En la primera iteración se establecerá una arquitectura del sistema que pueda ser utilizada durante el resto del proyecto. Al final de la última iteración el sistema estará listo para entrar en producción. Todo el trabajo de la iteración es expresado en tareas de programación.
Primera Iteración
Segunda Iteración
Base de datos Seguimiento de Usuarios
En la base de datos del seguimiento de usuarios se registra todas las acciones realizadas por los usuarios
Módulo de Registro de Datos
En el módulo de registro de datos se encuentra la definición y desarrollo las funciones principales que pueden ser utilizadas en todos los módulos de Moodle para el registro de las acciones realizadas sobre ellos
Módulo de Cálculo de Visitas y Recuperación de Datos
En el módulo de cálculo de visitas se encuentran todas las funciones que permiten y facilitan el cálculo de visitas y la recuperación de datos, ya sea por usuario o por cursos dependiendo del reporte que se desee obtener en el módulo de presentación de informes o de la información que requiera obtener el modelado de usuario.
Módulo de Presentación de Informes
El módulo de presentación de informes se encargará de presentar al usuario final el reporte que este solicite de acuerdo a los parámetros que se hayan seleccionado para la generación de los mismos
Modelo de Datos Seguimiento de Usuarios
Fase de Producción
La fase de producción requiere de pruebas adicionales y de algunas revisiones antes de que el sistema sea trasladado al entorno del cliente. Al mismo tiempo, se deben tomar decisiones sobre la inclusión de nuevas características a la versión actual, debido a cambios durante esta fase.
Pruebas Unitarias
Pruebas de Aceptación
CONCLUSIONES
RECOMENDACIONES
== BIBLIOGRAFÍA==
Bartolini, G. (8 de Octubre de 2001). Web usage mining and discovery of association rules from HTTP servers logs. Recuperado el 12 de Diciembre de 2009, de Gabriele Bartolini’s Website: http://www.prato.linux.it/~gbartolini/en/view-a/2/pdf/wum.pdf
Botía Blaya, J. A. (20 de Marzo de 2002). Introducción a la Minería de Uso Web. Recuperado el 15 de Marzo de 2010, de ANTS (A Non sTop workerS) - Universidad de Murcia: http://ants.dif.um.es/staff/juanbot/ml/files/20022003/webmining.pdf
Chapman, P., Clinton, J., Kerber, R., Khabaza, T., Reinartz, T., Shearer, C., y otros. (2000). CRISP-DM 1.0 - Step-by-step data mining guide. Recuperado el 7 de Marzo de 2010, de Facultad de Ingeniería - Universidad de Buenos Aires: http://laboratorios.fi.uba.ar/lsi/rgm/CD-TIpEI/Metodologia-CRISP.pdf
Construx Software. (11 de Octubre de 2001). Extreme Programming from a CxOnePoint of View. Recuperado el 12 de Junio de 2010, de Construx Sofware: http://www.construx.com/File.ashx?cid=801
Couchet, J., Santos, O. C., Raffenne, E., Boticario, J. G., & Manrique, D. (18 de Enero de 2008). A General Tracking an Auditing Architecture for the OpenACS framework. Recuperado el 7 de Enero de 2010, de Biblio | aDeNu: https://adenu.ia.uned.es/drupal5/en/system/files/openACS08_GeneralizedTrackingAndAuditingArchitecture-CR.pdf
Fernández Escribano, G. (27 de Noviembre de 2002). Introducción a Extreme Programming. Recuperado el 7 de Junio de 2010, de Ingeniería del Software II - Universidad de Castilla La Mancha: http://www.dsi.uclm.es/asignaturas/42551/trabajosAnteriores/Trabajo-XP.pdf
García Salcines, E., Romero Morales, C., Ventura Soto, S., & Castro Lozano, C. (22 de Mayo de 2008). Sistema recomendador colaborativo usando minería de datos distribuida para la mejora continua de cursos e-learning. Recuperado el 7 de Febrero de 2010, de IEEE-RITA: http://webs.uvigo.es/cesei/RITA/200805/uploads/IEEE-RITA.2008.V3.N1.A3.pdf
Gonzáles de Felipe, A. T. (29 de Junio de 2006). Guía de apoyo para el uso de Moodle 1.9.4 Usuario Alumno. Recuperado el 6 de Junio de 2010, de Moodle.org: http://es.cvs.moodle.org/moodle/*checkout*/contrib/docs/es/1.9.4_usuario_alumno.pdf
Grosser, H. (Marzo de 2004). Detección de fraude en telefonía celular usando redes neuronales. Recuperado el 7 de Diciembre de 2009, de TECNOLOGIAS INTELIGENTES PARA EXPLOTACION DE INFORMACION: http://www.iidia.com.ar/rgm/tesistas/grosser-tesisingenieriainformatica.pdf
Guzmán Álvarez, C. A. (7 de Agosto de 2008). Modelos sub-simbólicos en los Sistemas Recomendadores - Algoritmos Genéticos. Recuperado el 3 de Enero de 2010, de Keops Tecnologia Digital: http://www.keopstd.com/ia/AG-SR.pdf
Itmazi, J. (26 de Junio de 2005). "Sistema Flexible de Gestión del eLearning para soportar el Aprendizaje en las Universidades Tradicionales y Abiertas" Director, Dr. Miguel Gea Megías. (Tesis Doctoral). Universidad de Granada. Departamento de Lenguajes y Sistemas Informáticos E.T.S.I Informática . Granada, España.
Joskowicz, J. (10 de Febrero de 2008). Reglas y Prácticas en eXtreme Programming. Recuperado el 21 de Enero de 2010, de José Joskowicz - Instituto de Ingeniería Eléctrica: http://iie.fing.edu.uy/~josej/docs/XP%20-%20Jose%20Joskowicz.pdf
Lana, S., & Villena, J. (16 de Enero de 2009). Lawerinto: Servicio de Medición de Audiencias de Sitios Web. Recuperado el 3 de Enero de 2010, de DAEDALUS: http://www.daedalus.es/fileadmin/daedalus/doc/Productos/DAEDALUS-TR-Lawerinto.pdf
Letelier, P., & Penadés, M. C. (27 de Octubre de 2003). Metodologías ágiles para el desarrollo de software: eXtreme Programming (XP). Recuperado el 12 de Febrero de 2010, de WillyDev: http://www.willydev.net/descargas/masyxp.pdf
López López, J. D. (10 de Marzo de 2010). Sistemas Recomendadores. Conceptos y Tipos. Recuperado el 30 de Junio de 2010, de Scribd: http://www.scribd.com/doc/28159196-Sistemas-Recomendadores-Conceptos-y-Tipos.pdf
Martinelli, D. A. (2008). Identificación de Hábitos de Uso de Sitios Web utilizando Redes Neuronales. Recuperado el 21 de Febrero de 2010, de Facultad de Ingeniería - Universidad de Buenos Aires: http://materias.fi.uba.ar/7500/martinelli-tesisingenieriainformatica.pdf
Matos, V. L. (30 de Mayo de 2006). Sistemas de Recomendación y Personalización. Recuperado el 15 de Enero de 2010, de Departamento de Ciencias e Ingeniería de la Computacción - Universidad Nacional del Sur: http://cs.uns.edu.ar/~agm/mineriaweb/downloads/Outlines/clase16-outline-viviana.pdf
Millán, M. (18 de Agosto de 2009). CRISP - DM CRoss-Industry Standard Process for Data Mining. Recuperado el 21 de Marzo de 2010, de Escuela de Ingeniería de Sistemas de Computación - Universidad del Valle: http://eisc.univalle.edu.co/cursos/web/material/750061M/1/crispdm-estandar.pdf
Navarro Matesanz, R. (4 de Juni0 de 2003). Sistema Recomendador en el Hogar. Recuperado el 20 de 10 de 2009, de CasaFutura: La domótica desde un punto de vista telemático: http://casafutura.diatel.upm.es/rrssmd/trabajos/2003/powerpoint/1_- Sistema de Recomendacion (R_Navarro).pdf
Ortega, D., Arozarena, P., & Hernández, R. (28 de Abril de 2005). Desarrollo de un Paquete de Seguimiento de Usuarios para DotLrn. Recuperado el 3 de Marzo de 2009, de DotLrn: http://dotlrn.org/file-storage/view/madrid05/09.pdf
Sanchez, E., & Heider, Y. (19 de marzo de 2008). Aplicación en Minería de Datos Web Mining. Recuperado el 12 de Enero de 2010, de Sociedad de Estudiantes de Ciencias de la Computación: http://www.seccperu.org/files/AplicacionMineria.pdf
Srivastava, J., Cooley, R., Deshpande, M., & Tan, P.-N. (15 de Febrero de 2000). Web Usage Mining: Discovery and Applications of Usage Patterns from Web Data. Recuperado el 17 de Enero de 2010, de ACM SIGKDD: Home Page: http://www.sigkdd.org/explorations/issue1-2/srivastava.pdf
Suarez Castañon, A., & Jiménez Muñoz, A. (25 de Noviembre de 2007). Proyecto Suma - Elearning multimodal y adapatativo para la empresa. Modelado de Usuario .
Ticformacion. (27 de Agosto de 2007). "¿Moodle? ¿Qué es Moodle?" [Archivo de Video]. Recuperado el 3 de Marzo de 2009, de YouTube: http://www.youtube.com/watch?v=fwlkTXoKh_s
Velez-Langs, O., & Santos, C. (Junio de 2006). Sistemas Recomendadores: Un enfoque desde los algoritmos genéticos. Recuperado el 12 de Septiembre de 2009, de http://www.scielo.org.pe/pdf/id/v9n1/a04v9n1.pdf
<references/>


