Instituto Polit�cnico Nacional
Instituto Politécnico Nacional
"La Técnica al Servicio de la Patria"

Boletín No. 102
1o. de marzo de 2024




BARPA, LA APLICACIÓN PARA GENERACIÓN DE HORARIOS

 

Rogelio Daryl Barbosa Trujillo1, MSC.      Miriam Barbosa Trujillo2, ME.


DIRECCIÓN GENERAL DE EDUCACIÓN TECNOLÓGICA

CBTIS 142 1


CETIS 146 2


Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. ,      Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

 

Resumen

Toda institución requiere tener un horario definido de trabajo lograr sus objetivos, sobre todo en las instituciones educativas. En un centro escolar, se tienen que generar diversos horarios para los actores que participan en el ambiente educativo. Los docentes, alumnos, encargados de los laboratorios, centros de cómputo y demás personal son los que requieren conocer en que momentos será la interacción entre ellos, motivo por el cual es de suma importancia el poder generar uno de manera adecuada y eficiente, pudiendo generarse de manera manual, pero el problema es que depende mucho de la experiencia y habilidad de quien lo elabora, además de todos los riesgos que conlleva el generarlos una persona. Para solucionar ese problema se propone el desarrollo de un software que permita la elaboración de los horarios, en el cual se incluyan avisos, alertas y validaciones que permita a la persona poder identificar posibles errores o fallos en el mismo, con lo cual se logra ahorro de recursos.

 

Abstract

Every institution requires having a schedule to working hours to reach their goals, especially in education institutions. In a school center, they must be generated many schedules for the actors involved in the educational environment. Teachers, students, laboratory heads, computational center, and all the workers require to know when they will be interactive with them, reason for which is very important be able to generate in a way adequate and efficient, can be generated manually, but the problem that is that it depends a lot on the experience and skills of the person who makes it, in addition to all the risk that come with being generated by a single person. To resolve that problem, it is proposed the development of software to generate schedules in which notices are included, alerts and validate possible mistakes or errors in it, thereby saving resources.

 

1. Introducción

La generación de horarios eficientes y siguiendo las buenas prácticas es una actividad bastante tediosa y compleja. Los principales retos que se tiene es que deben de cubrir ciertos requisitos que el usuario debe asignar como lo son: evitar la existencia de horas ahorcadas (horas que quedan libres entre horas de actividad), equilibrio en las entradas y salidas de los alumnos, que no exista días con 2 o 3 horas seguidas de una sola asignatura, o que existan horas sandwitch (una hora de la asignatura al inicio y otra al final, con varias en medio de otras asignaturas).

Hacer estas actividades de manera tradicional es muy lento, por lo que se propone el desarrollo de una App de creación de horarios, como una alternativa a los comerciales ya existentes.

2. Estado del arte

Los artículos relacionados con el tema se encontró el de “Pavel y Bzar (2019) en su artículo Class Schedule System, el cual que es un software que permite al usuario final el editar, agregar, modificar, guardar y actualizar registros. De igual manera permite la generación de reportes de grupo, docentes, materias entre otras. El sistema es una aplicación web utilizando el lenguaje de programación PHP y MySql como gestor de base de datos. Es un sistema que es totalmente pensado para trabajarlo desde un navegador web. No se explica más allá de su funcionalidad, pero muestra algunas imágenes de su página principal y algunos reportes.”(Pavel, Bzar, 2019 )

En el artículo inteligencia artificial auxiliando al sistema de horarios del clases (Minchuang Huang, 2021), se explica que debido a la complejidad de la generación de horarios que cada vez involucra una mayor cantidad de elementos y que toda la labor de elaboración recae en una sola persona se busca que sea la tecnología sea quien apoye en la elaboración de los horarios aplicando técnicas de inteligencia artificial, considerando que a pesar de la automatización, es necesaria una revisión humana de los horarios generados o propuestos. Se utiliza un navegador web, así como una arquitectura Peer to Peer (P2P), uso de Html, Hojas de estilo en cascada (CSS), JavaScript, Spring en Modelo Vista Controlador (MVC), conexión con base de datos de Java (JDBC), pool de conexión a base de datos (BDCP), y como base de datos gratuito MySql. Se muestra una lista de módulos funcionales del sistema de apoyo.

El servidor utiliza un servidor de base de datos utilizando el gestor MySql, un servidor Tomcat con 4 capas, siendo: 1) Capa de vista, programada en JSP, 2) Capa de control, vista de curso del API y clases del API, 3) Capa lógica de negocios con los módulos de administración de curso y módulo de administración de clases 4) Capa de datos, administrando la capa de datos del curso y administración de la capa de datos. También incluye una descripción de las tablas, así como sus tipos de datos en cada uno de los campos de las mismas.

3. Reglas de Negocio

Las reglas de negocio las va a colocar el encargado de la creación de los horarios, pero entre las generales y que la mayoría de horarios debe de cubrir son las siguientes:

  • Deberá de existir una hora de entrada y una hora de salida.
  • Existencia de un receso por turno.
  • Definir horarios de turnos (en caso de haber más de uno).
  • Definir duración de cada clase.
  • Definir materias, así como la cantidad de horas y docente que imparte cada una.

Hay que poner especial énfasis en las siguientes validaciones:

  • Evitar el choque o solapamiento de horas de diferentes materias en un mismo grupo y/o salón de clases.
  • Distribución y gestión de salones de clases / talleres / laboratorios para las diferentes actividades existentes.

4. Desarrollo

Se utilizará para el desarrollo un servidor web Linux en su distribución Ubuntu Server donde se hospedará el sistema, además de utilizar como gestor de base de datos MySQL, de manera conjunta se utilizará HTML 5, Java Script y CSS3 para la programación de la parte visual del sistema, siendo exclusivamente accesible de manera web, con las ventajas de que será accesible de todo sitio donde tenga conexión a internet, siendo multi dispositivo y multiplataforma, además de permitir un manejo de gestión de usuarios sencillo, debido a que serán credenciales que se manejarán directamente desde el servidor.

En la primera etapa, que es el diseño se crearon los siguientes diagramas que serán las bases para desarrollar el sistema. La figura 1 muestra el diagrama de clases del sistema.

 

Figura 1. Diagrama de Clases.

 

En la figura 2 se muestra la propuesta del diagrama de entidad relación para el sistema, así como su relación entre las clases.

 

Figura 2. Diagrama de Entidad Relación.

 

La parte más importante del desarrollo corresponde al manejo de las validaciones desde la base de datos, ya que es necesario hacer la validación de horas, evitando que estas se traslapen, así como cuidar los salones.

Conclusiones

De la información mostrada en el proceso de análisis, se seguirá con el trabajo para tener una primera versión del sistema y posteriormente aplicar las pruebas necesarias para el sistema, además de que en un próximo artículo se mostrará los avances y las pruebas que se estarán realizando al mismo. También se deberá de analizar si es viable utilizar un sistema completamente web o combinar una aplicación de escritorio con el servidor web.

Referencias

  1. ASC Horarios. (s.f.). ASC Horarios.asctimetables. Recuperado el 19 de febrero de 2024. https://www.asctimetables.com

  2. s.a.(s.f.). Grupo CF Developer. grupocfdeveloper. Recuperado el 19 de febrero de 2024. https://www.grupocfdeveloper.com/plataforma-para-colegios.php

  3. Pavel Younus Abdullah, Bzar Khird Hussan. (2019). Class Chedule System.

  4. Minchuan Huang et al (2021). J. Phys.: Conf. Ser. 1792 012063