Un sistema de información académica universitaria: el proyecto Lleu

Juan David Ibáñez y Andrés Marzal^{∗}

              al028823@alumail.uji.es    amarzal@inf.uji.es

Universitat Jaume I de Castelló

Esta ponencia forma parte del III Congreso Hispalinux^{1} virtual, celebrado en

Noviembre de 2000. Puedes participar en él en la sección de eventos de BarraPunto^{2}

Resumen

Presentamos un sistema de información académica universitaria llamado Lleu (por “llibre electrònic d’universitat”) que permite a los estudiantes conocer todo lo relativo a su titulación, así como personalizar sus horarios y calendarios de exámenes. El sistema es accesible y se gestiona a través del web y es muy sencillo de utilizar. Lleu se ha desarrollado íntegramente con herramientas de software libre y es, a su vez, software libre.

1 Introducción

Uno de los problemas de la universidad es la falta de información que se da a los estudiantes, especialmente a aquellos que acceden a ella por primera vez. La organización docente universitaria es muy compleja y del conocimiento que se tenga de ella depende, en buena medida, que el estudiante realice una buena matrícula.

En la Universitat Jaume I hemos iniciado un proyecto cuyos primeros resultados presentamos en esta ponencia: el desarrollo y explotación de un sistema de información académica para las universidades. El sistema ha sido desarrollado por completo con herramientas de software libre y, él mismo, se distribuye como software libre. Los estudiantes de 11 titulaciones de nuestra universidad recibieron, con el sobre de matrícula, un CD-ROM preparado con nuestro sistema con la información que necesitan. Esta misma información, siempre actualizada y con servicios adicionales, se encuentra disponible en un sitio web (http://lleu.uji.es) que irá actualizándose a lo largo del curso académico.

∗\begin{matrix}c \\ ◯ \end{matrix}Juan David Ibáñez y Andrés Marzal. Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre GNU, Versión 1.1 o cualquier otra versión posterior publicada por la Free Software Foundation. Se considerará como Secciones Invariantes todo el documento, no habiendo Textos de Portada ni Textos de Contra Portada. Puede consultar una copia de la licencia en:

http://www.gnu.org/copyleft/fdl.html

1http://congreso.hispalinux.es

2http://barrapunto.com/eventos

Figura 1: Herramienta de personalización. Permite al estudiante generar su horario y calendario de exámenes personal.

La gestión del sistema se realiza a través del web, delegando en diferentes responsables y gestores universitarios las tareas de introducción y mantenimiento de la información que es de su competencia.

En la sección 2 exponemos la funcionalidad básica del sistema de información desde la óptica del usuario y en la sección 3 describimos el sistema de gestión de la información. La sección 4 se dedida a detallar la tecnología utilizada y a exponer brevemente la historia del proyecto para justificar las decisiones tomadas. En la sección 5 se apuntan las líneas de desarrollo futuro del sistema y en la sección 6 presentamos algunas conclusiones.

2 El libro electrónico de universidad

El Lleu (por “llibre electrònic d’universitat”, que en español es “libro electrónico de universidad”) proporciona al usuario toda la información disponible sobre la organización docente. El principal destinatario del Lleu es el estudiante y, por ello, en estas primeras fases del proyecto, nos hemos centrado en la presentación de la información que le resulta más útil: fichas descriptivas de asignaturas, planes de estudios, asignaturas ofrecidas en la libre elección, horarios, calendarios de exámenes, planos de las instalaciones universitarias, etc.. Y hemos ido un poco más lejos: hemos diseñado herramientas que permiten al estudiante confeccionar su propio horario y calendario de exámenes en función de las asignaturas de las que se matricula y de los grupos de prácticas que escoge (ver Figura 1).

La información se presenta en dos formatos: en un CD-ROM que se entrega Figura 2: Interfaz para reservar grupos de practicas. Se seleccionan las asignaturas y los grupos de teoria, problemas y laboratorio; muestra la capacidad y ocupación de cada grupo.

al inicio del curso, y en un sitio web accesible permanentemente. El sitio web actualiza su información a lo largo del curso conforme ésta se modifica. En los dos formatos se accede al Lleu con un navegador de Internet convencional, pues siempre se aparece al usuario como un conjunto de páginas web. De este modo hemos simplificado las cuestiones de diseño del interfaz y hemos reducido al mínimo la necesidad de aprendizaje en los usuarios, pues la mayor parte de ellos están acostumbrados a utilizar navegadores.

El sistema Lleu presenta un único punto de entrada en el web. Desde él, el usuario puede identificarse y acceder, en función de sus priveligios, a diferentes partes del sistema. Si, por ejemplo, es un visitante anónimo, sólo puede hojear la información pública. Si es un estudiante, puede además confeccionar sus propios horarios y calendarios de exámenes, así como reservar sus grupos de prácticas (ver Figura 2). Si es un administrativo encargado de la reserva de aulas, o un director de titulación, por ejemplo, entra en aquella parte del sistema de gestión de información para la que tiene privilegios de acceso.

3 El sistema de gestión de la información

Por ejemplo, el administrativo encargado de la gestión de espacios puede consultar la ocupación de un aula y efectuar reservas para conferencias o reuniones. El director de una titulación también puede consultar la ocupación de las aulas, pero sólo efectuar reservas para las actividades docentes relacionadas con la titulación que dirige. Pero, además, puede crear páginas informativas sobre Figura 3: Editor de horarios. Se pueden especificar las semanas exactas en las que habrán clases y las aulas en las que se realizaran, también hace un análisis de créditos.

su carrera, introducir y modificar fichas de asignaturas, editar los horarios y confeccionar los calendarios de exámenes.

Las partes más complejas del Lleu son, precisamente, el editor de horarios (ver Figura 3) y el editor de calendarios de exámenes. Hemos procurado que el interfaz de usuario se asemeje al modo de trabajo habitual con lápiz y papel. Así, el editor de horarios ofrece una cuadrícula semanal sobre la que es posible “pegar post-its” que representan sesiones de clase o prácticas, y el editor de calendarios de exámenes muestra un calendario convencional sobre el que se pueden “apuntar” y “borrar” exámenes.

La herramienta ayuda al director de titulación analizando posibles errores cometidos por él. Cuando se editan calendarios de exámenes, por ejemplo, el sistema advierte de la omisión y/o repetición de convocatorias, a la vez que visualiza la información de diferentes modos: curso a curso, mezclando varios cursos, etc.. En el caso de los horarios, por ejemplo, el sistema detecta la omisión de reservas para asignaturas, la presencia de un excesivo número de horas reservadas para una asignatura, o la asignación de un aula que ya está ocupada en un rango horario concreto. Hemos de señalar que el sistema sólo advierte de la comisión de posibles errores, pero siempre permite al gestor programar la actividad como desea: puede haber alguna buena razón que el sistema no haya tenido en cuenta.

Y lo mejor de todo es que el sistema ha sido construido de arriba a abajo con herramientas de software libre.

4 Tecnología utilizada… y un poco de historia

Desde el principio decidimos utilizar exclusivamente software libre porque lo consideramos más fiable que el software propietario: la comunidad proporciona buen soporte y tenemos acceso al código fuente de las herramientas, lo cual es siempre una garantía de seguridad.

La primera fase del proyecto comenzó en marzo de 1999 y duró cuatro meses. Empezamos por evaluar las distintas herramientas libres, empezando por aquellas que, en su momento, tenían una mejor acogida por parte de la comunidad. Consideramos utilizar PHP3^{3} y MySQL^{4} o Postgres^{5}, pero los descartamos al evaluar Bobo (un conjunto de módulos Python^{6}). Bobo proporciona un Object Request Broker (ORB) que asigna direcciones URL a objetos Python y sus métodos. Python es un lenguaje de programación libre con el que ya teníamos experiencia. Además, Bobo incluye BoboPOS, un módulo que permite dotar de “persistencia” a los objetos Python. Con la persistencia se dispone siempre y de forma transparente de una copia en disco de los objetos que se manipulan en memoria, con lo que mantener y gestionar una base de datos orientada a objetos resulta extremadamente fácil. La generación de código HTML/JavaScript se hizo con el módulo Python HTMLgen. Como servidor web utilizamos Apache^{7}, el sistema operativo fue Debian GNU/Linux^{8} y los gráficos se diseñaron con GIMP^{9}.

Con estas herramientas desarrollamos un prototipo de la aplicación con la que dimos servicio a tres titulaciones de la Universitat Jaume I en el curso 1999/2000: Ingeniería Informática, Ingeniería Técnica en Informática de Gestión y Licenciatura en Químicas. En lugar de un CD-ROM, se generó un disco flexible para cada una de las titulaciones que fue distribuido a los estudiantes en el sobre de matrícula. La información se mantuvo actualizada en un sitio web a lo largo del curso 1999/2000.

Tras la buena acogida de los resultados de la primera fase, iniciamos una segunda en febrero de 2000. Empezamos por migrar de Bobo a Zope^{10}. Zope (Z Object Publishing Environment) es software libre desarrollado por la empresa Digital Creations^{11} y deriva de la fusión de Bobo con otros productos.

Resumimos algunas de las principales ventajas de Zope:

• Separa la lógica del programa de la presentación. La lógica se escribe en Python y la presentación se especifica con DTML (Document Template Markup Language), un lenguaje de plantilla que sirve para generar documentos HTML a partir de la base de datos.

• Dispone de un ORB (ZORB, Zope Object Request Broker) que traduce las peticiones HTTP a llamadas a métodos de objetos Python, y los resultados de dichas llamadas a respuestas HTTP.

3http://www.php.net

4http://www.mysql.com

5http://www.postgresql.org

6http://www.python.org

7http://www.apache.org

8http://www.debian.org

9http://www.gimp.org

10http://www.zope.org

11http://www.digicool.com

• Proporciona persistencia a través de la ZODB (Zope Object DataBase).

• Presenta un mecanismo de adquisición que permite a los objetos conocer el valor de propiedades de su entorno. Esto reduce significativamente la cantidad de código a desarrollar, ya que evita hacer referencia explícita a otros objetos para obtener propiedades de estos.

• Ofrece un modelo de seguridad que permite gestionar cómodamente usuarios, privilegios y delegación de la gestión de contenidos.

• Pone a nuestro alcance una gran cantidad de “productos” (programas para la plataforma Zope) desarrollados por la comunidad y que ayudan a realizar las tareas más comunes de forma sencilla.

• Dispone de un entorno de desarrollo y gestión que permite desarrollar el software y administrar la base de datos de forma distribuida y remota, a través del web.

Dado que las herramientas de personalización de horarios y calendarios de exámenes deben ejecutarse en el cliente (un navegador de Internet convencional), optamos por desarrollarlas con JavaScript. El Lleu traduce la información de horarios y exámenes a un programa JavaScript capaz de generar tablas HTML a partir de la información que introduce el estudiante en un formulario.

En esta segunda fase se ha dado servicio a once titulaciones de la Universitat Jaume I con la información para el curso 2000/2001. Se ha producido un CD-ROM que contiene gran cantidad de información general (normativa universitaria, planos de los edificios, un FAQ sobre matrícula, fotografías de la universidad) y particular de cada titulación. El CD-ROM se ha distribuido a más de 6.000 estudiantes en septiembre. La misma información, sujeta a actualización constante, se ofrecerá en el sitio web del proyecto: http://lleu.uji.es.

Nuestro objetivo es incluir a todas las titulaciones de la Universitat Jaume I en la edición del curso 2001/2002.

5 Arquitectura

Actualmente el software tiene una arquitectura monolítica, es decir, consta básicamente de un solo producto que ofrece toda la funcionalidad necesaria, aunque dentro de este producto se pueden distinguir distintas unidades funcionales que a continuación describimos. Pretendemos, en la siguiente fase del proyecto, dividir el software en varios productos independientes con un interfaz definido que les permita comunicarse, de este modo dispondremos de diversos componentes reutilizables fácilmente en otros proyectos.

Las unidades funcionales del sistema son:

• Calendario académico (esta es la única unidad actualmente implementada como un producto independiente). Básicamente permite definir el comienzo y final de un curso académico (o año laboral, etc..), días festivos, periodos especiales (vacaciones, clases, exámenes, etc..) y provee un API para realizar diversas consultas.

• Colecciones de asignaturas. Una asignatura reune información diversa: la ficha (descripción, metodología, etc..), su horario, etc.. Una colección de asignaturas proporciona interfaces para la edición de calendarios de exámenes y horarios.

• Titulación. Una titulación contiene una colección de asignaturas, normalmente organizadas por cursos, además de información general de la titulación. La razón de que las colecciones de asignaturas sean independientes se debe a que en ocasiones se precisa tener “sacos” de asignaturas, por ejemplo asignaturas de libre elección ofrecidas por un departamento a todas las titulaciones de una universidad.

• Espacios físicos. Una colección de aulas, laboratorios y otros espacios físicos, con interfaces web para gestionar su ocupación, realizar consultas y hacer reservas, y un API ofreciendo servicios similares a otros módulos.

• Usuarios. Una colección de usuarios, cada usuario tiene un conjunto de perfiles: estudiante, profesor, director de titulación, etc.., cada perfil le permite realizar diferentes operaciones, por ejemplo un estudiante puede realizar la reserva de los grupos de prácticas y un director de titulación puede editar los horarios de la titulación que dirige.

El software en su conjunto puede ser utilizado en otras instituciones, pero además, gracias a su arquitectura modular, sus componentes aislados podrán reutilizarse en otras aplicaciones.

6 Desarrollos futuros

El proyecto Lleu no ha hecho más que empezar. Además de proporcionar información docente sobre las titulaciones, queremos que el Lleu se convierta en el punto de referencia para la información académica que interesa a alumnos y profesores. Así, nuestro primer objetivo es ampliar la funcionalidad del Lleu ofreciendo más servicios: creación y mantenimiento de FAQs para las asignaturas, creación de foros de debate para titulaciones y asignaturas, almacenamiento y difusión de apuntes de cada asignatura, etc..

También queremos mejorar el sistema de navegación incluyendo un motor de búsqueda en el sitio web. Y abrir el Lleu a estudiantes extranjeros desarrollando las herramientas que nos permitan mantener fácilmente versiones multilingües de las páginas que servimos, así como editar automáticamente libros en formato PDF con toda la información del Lleu.

Y, cómo no, nos hemos propuesto documentar el código: no es lo más divertido, pero habrá que hacerlo.

7 Conclusiones

El desarrollo de Internet liderado por la comunidad del software libre, ha abierto nuevas y hasta hace poco insospechadas oportunidades, no sólo a las empresas sino también a instituciones públicas. También ha transformado radicalmente la ingeniería del software, los nuevos sistemas de información están ahora basados en desarrollo cooperativo, y utilizan Internet y el web como infraestructura básica de comunicaciones.

En la Universitat Jaume I nos hemos subido al tren el software libre, llevando adelante un proyecto de software libre hecho con herramientas de software libre. El objetivo, ofrecer mejores servicios a nuestros estudiantes, proporcionándoles toda la información que precisan… y demostrar que el software libre tiene mucho que decir en la universidad y, en general, en la administración pública. Nuestra experiencia con la primera fase del proyecto fue muy satisfactoria: los estudiantes valoraron muy positivamente el sistema de información. Esperamos que este curso la acogida sea aún mejor, pues el Lleu ofrece ahora mayor cantidad de información.

Sólo nos queda invitaros a participar en nuestro proyecto y contribuir así a la difusión del software libre en la universidad (http://estce.act.uji.es/lleu).