Estructura de los archivos .sgsv de Vitruvio

 Estructura de los archivos .sgsv de Vitruvio

¿Cómo es posible almacenar la información de los turnos de clases de 24 brigadas en un solo archivo de tan solo 1,22Kb aproximadamente?

    Al abrir un archivo .sgsv de Vitruvio encontramos en su mayoría números y en menor cuantía caracteres de texto ¿Qué significan estos números?, analizaremos por secciones la información contenida dentro del archivo:
 
“mss#”: Lo primero que encontramos es una secuencia de validación del archivo, pensado para agilizar el proceso de lectura de archivos incompatibles o corruptos y para evitar incompatibilidades con versiones actualizadas de la aplicación. 
  1. Lo primero es la secuencia de caracteres “mss”: al leer un archivo se descartan aquellos que no pueden ser leídos por la aplicación (video, audio, pdf, imágenes, etc) y también se descartan aquellos archivos de texto que no hayan sido creados para leer con Vitruvio
  2. Lo siguiente es un número que indica la versión mínima necesaria de la aplicación para leer dicho archivo, por ejemplo la secuencia “mss5” indica que es necesaria la versión 5 de la aplicación para la lectura del horario.
    Lo siguiente es una llave, de ser compatible el archivo con la aplicación, esta llave indica donde comienza la información real  de los horarios de los turnos de clases.
    Luego encontramos una secuencia de 8 números. Para entenderlos es necesario analizarlos en pares. Tomaremos como ejemplo la secuencia “05032402”
  1. El primer par es “05” e indica la cantidad de turnos de clases (materias) por día.
  2. El segundo par es “03” y en nuestro caso indica la cantidad de brigadas repartidas entre los grupos. En nuestro sistema universitario los estudiantes se organizan en brigadas nombradas con números enteros (Brigada 1,Brigada 2,…, Brigada n) de 20 a 25 estudiantes aproximadamente, a su vez estas brigadas están contenidas dentro de grupos nombrados con letras alfabéticas (Grupo A, Grupo B, Grupo C,…), generalmente un grupo contiene 3 brigadas, aunque esta estructura fluctúa en dependencia del año académico.
  3. El tercer par es “24” e indica el total de brigadas que están contenidas dentro del archivo. En este caso 24 brigadas, lo que supone los horarios de 540 estudiantes aproximadamente en un solo archivo.
  4. El cuarto y último par indica el número de la semana docente, en nuestra universidad, al ser publicados semanalmente los horarios era necesario conocer esta información, aunque en otras universidades, en caso de publicar  los horarios con otra frecuencia, quincenal, mensual, trimestral, semestral esta información sería reemplazada.
    Seguido encontramos el primer arreglo de datos. Esta es la información contenida dentro de dos corchetes “[ ]” separando cada dato por comas “,”. Este arreglo indica, en orden, los nombres de las materias del horario, en nuestro caso (Embriología, Sistema Cardiovascular, Sangre y Sistema Inmune, Inglés, Educación Física, etc).

    En el arreglo cada número representa el ID de una materia, en la aplicación están incluidas todas las materias con su ID correspondiente.

    Lo siguiente es otro arreglo, pero antes de este hay un guión bajo "_" para establecer un límite entre el primer y segundo arreglo. Este segundo arreglo contiene información sobre cada turno de clase que contiene el horario (lugar, tema, FOE). 

    Dentro del arreglo hay varios arreglos dentro, cada uno de esos arreglos contiene la información de los turnos de cada materia que definimos en el primer arreglo, pero: ¿cómo puede contener toda la información si solo hay números?

    Analizaremos un turno de clases, por ejemplo la secuencia “46474802031”:

    Al igual que hicimos anteriormente es necesario analizar esta secuencia en pares

    La primera sección que tomaremos irá desde el inicio de la secuencia hasta el producto de 2 por la cantidad de brigadas por grupos que definimos anteriormente en este caso es 3 por tanto la primera secuencia va desde el principio hasta el sexto carácter sería “464748”. 

  • Al analizarla en pares 46, 47 y 48 estos números representan el ID del lugar donde será impartido el turno de clase, en nuestro caso representa los Laboratorios de Histología 1, 2 y 3. Al haber 3 brigadas por grupo la primera brigada del grupo impartirá el turno de clase en el Laboratorio de Histología 1, la segunda brigada en el 2 y la tercera en el 3.

    El par siguiente a esta frecuencia es “02” e indica la FOE del turno de clase, en este caso una Conferencia, luego muy relacionado con este par esta el siguiente “03” e indica el número de frecuencia de la FOE. Entonces la información se traduce como Conferencia 3.

    El último número no representa un par, es uno solo e indica el sumario y el tema. Que veremos más adelante en otro arreglo.

    Toda esta información puede cambiar, reducirse o agregarse nueva información en versiones posteriores de la aplicación, adaptada en dependencia de la estructura de los horarios en las diferentes universidades.  

    Lo siguiente es otro arreglo que indica los turnos de clases organizados por orden de impartición en cada grupo. El arreglo contiene varios arreglos, que representan a cada grupo y dentro contienen el ID de los turnos que serán impartidos durante la semana en orden. Este ID hace referencia a la información contenida en el arreglo 2.

    Le sigue otro arreglo que contiene la información de los horarios de cada turno de clase. 

 

Esta estructura puede adaptarse a todas las necesidades particulares de cualquier universidad. 

    Utilizar esta estructura posee enormes ventajas; al utilizar ID en lugar de la información directa ahorramos bytes de datos y por tanto la información de los horarios de múltiples brigadas puede ser almacenada en un archivo de tan solo 1,22Kb, además puede ser almacenada en un código QR, que en definitiva, es la herramienta de Vitruvio más utilizada por los estudiantes.

Comentarios

Entradas más populares de este blog

Vitruvio. Una aplicación para la gestión de horarios docentes

Historia del logo de MSomnium Studios