pág. 2462
APLICACIÓN DE ESCRITORIO PARA LA
GESTIÓN DE PLANES Y HORARIOS
ACADÉMICOS EN LA COORDINACIÓN DE
POSGRADOS EN LA MAESTRÍA EN
INGENIERÍA PARA LA INNOVACIÓN Y
DESARROLLO TECNOLÓGICO

DESKTOP APPLICATION FOR THE MANAGEMENT OF

ACADEMIC PLANS AND SCHEDULES IN GRADUATE

STUDIES COORDINATION IN THE MASTER'S DEGREE IN

ENGINEERING FOR INNOVATION AND TECHNOLOGICAL

DEVELOPMENT

Marcos David Chino Cuamacateco

Universidad Autónoma de Guerrero

Lucia Flores Ibañez

Universidad Autónoma de Guerrero

Ing. Cristian Omar Torres Chegue

Universidad Autónoma de Guerrero

Dr. Angelino Feliciano Morales

Universidad Autónoma de Guerrero

Dr. Rene Edmundo Cuevas Valencia

Universidad Autónoma de Guerrero
pág. 2463
DOI:
https://doi.org/10.37811/cl_rcm.v10i4.25274
Aplicación de escritorio para la gestión de planes y horarios académicos en
la coordinación de posgrados en la Maestría en Ingeniería para la
Innovación y Desarrollo Tecnológico

Marcos David Chino Cuamacateco
1
chinocuamacatecomarcosdavid@gmail.com

https://orcid.org/0009-0007-1637-3900

Universidad Autónoma de Guerrero

México

Lucia Flores Ibañez

luciafloresibanez234@gmail.com

https://orcid.org/0009-0006-9623-0450

Universidad Autónoma de Guerrero

México

Ing. Cristian Omar Torres Chegue

13005354@uagro.mx

https://orcid.org/0009-0000-1798-0912

Universidad Autónoma de Guerrero

México

Dr. Angelino Feliciano Morales

afmorales@uagro.mx

http://orcid.org/0000-0002-7707-7319

Universidad Autónoma de Guerrero

México

Dr. Rene Edmundo Cuevas Valencia

reneecuevas@uagro.mx

http://orcid.org/0000-0001-9528-7603

Universidad Autónoma de Guerrero

México

RESUMEN

La administración de horarios en posgrados de ingeniería implica resolver simultáneamente
restricciones de disponibilidad docente, asignación de aulas, distribución semestral de materias,
distinción entre tronco común y optativas, y coordinación entre Líneas de Investigación e Incidencia
Social (LIES). Este artículo describe la implementación de una aplicación de escritorio en Python con
Flet, que automatiza la gestión de planes de estudio y horarios en la Coordinación de Posgrado de la
Maestría en Ingeniería para la Innovación y Desarrollo Tecnológico (MIIDT) de la Universidad
Autónoma de Guerrero. El sistema adopta una arquitectura en capas y aplica Domain-Driven Design
(DDD): entidades con reglas explícitas, objetos de valor inmutables, especificaciones componibles y
reglas de validación encapsuladas. La persistencia se realiza con SQLAlchemy en MySQL, y la
exportación de horarios con ReportLab en PDF. La metodología siguió un enfoque iterativo-
incremental, con un backlog de ocho épicas ejecutado en seis sprints. Se espera que el sistema reduzca
un 90 % el tiempo requerido para la elaboración de horarios y elimine los conflictos de traslape mediante
validación automática en tiempo real. La validación técnica del software se realizó mediante 77 pruebas
automatizadas desarrolladas con Pytest, incluyendo pruebas unitarias, de integración y de fuerza bruta,
todas ejecutadas exitosamente.

Palabras clave: aplicación; gestión; administración; MIIDT; DDD.

1Autor principal.

Correspondencia:
reneecuevas@uagro.mx
pág. 2464
Desktop Application for the Management of Academic Plans and Schedules

in Graduate Studies Coordination in the Master's Degree in Engineering

for Innovation and Technological Development

ABSTRACT

Managing schedules in engineering graduate programs requires simultaneously solving constraints of

faculty availability, classroom allocation, semester
-based course distribution, distinction between core
and elective courses, and coordination among Researc
h and Social Impact Lines (LIES). This article
describes the implementation of a desktop application built in Python with Flet, which automates the

management of study plans and schedules at the Graduate Studies Coordination of the MIIDT at the

Universidad
Autónoma de Guerrero. The system adopts a layered architecture and applies Domain-
Driven Design (DDD): entities with explicit invariants, immutable value objects, composable

specifications, and encapsulated validation rules. Persistence is handled with SQ
LAlchemy over
MySQL, and schedule exports are produced with ReportLab in PDF. The methodology followed an

iterative
-incremental approach, with a backlog of eight epics executed across six sprints. The system is
expected to reduce the time required for sche
dule preparation by 90% and eliminate overlap conflicts
through real
-time automatic validation. The software's technical validation was carried out through 77
automated tests developed with Pytest, including unit, integration, and brute
-force tests, all executed
successfully.

Keywords:
implementation; management; administration; MIIDT; DDD.
Artículo recibido
13 mayo 2026
Aceptado para publicación: 2
1 junio 2026
pág. 2465
INTRODUCCIÓN

La programación de horarios en las universidades es, sin duda, una de las tareas administrativas más
complicadas de resolver: se trata esencialmente de un problema de satisfacción de restricciones
(Constraint Satisfaction Problem, CSP), definido por Russell y Norvig (2020) como aquel en el que un
conjunto de variables debe tomar valores dentro de un dominio finito sujetos a restricciones que limitan
las combinaciones válidas entre ellas, ya que exige coordinar al mismo tiempo distintos recursos
(docentes, aulas, periodos escolares y planes de estudio) cada uno sujeto a sus propias condiciones de
disponibilidad, compatibilidad y orden de precedencia. Según Bashab et al. (2023), este problema se
vuelve difícil en el nivel posgrado, donde influyen factores como la variedad de líneas de
especialización, las cargas de trabajo distintas entre docentes de tiempo completo y de asignatura, y la
necesidad de encajar las materias obligatorias del tronco común junto con las optativas.

La coordinación de posgrado de la Maestría en Ingeniería para la Innovación y Desarrollo Tecnológico
(MIIDT) de la Universidad Autónoma de Guerrero (UAGro) desde su creación en 2014 a operado
mediante procedimientos manuales en hojas de cálculo sin validación automática de restricciones (
traslape de horarios, asignación de aulas a varios docentes al mismo tiempo ,etc.), lo que generaba
errores frecuentes de traslape, inconsistencias entre planes de estudio y horarios publicados, y un alto
costo en tiempo administrativo.

Este trabajo describe la implementación de una solución que automatiza el ciclo completo: creación de
planes de estudio con sus líneas de especialización, asignación de materias a semestres, registro de
horarios con validación automática de restricciones en tiempo real, historial de horarios por periodo
escolar, consulta de carga horaria por docente y exportación de documentos PDF institucionales.
Después de analizar las diferentes propuestas de solución se llegó a la conclusión que la opción más
adecuada es una aplicación de escritorio para Windows construida con Python y Flet (motor de
renderizado de Flutter), con persistencia en MySQL a través de SQLAlchemy y una arquitectura en
capas cuyos principios de Domain-Driven Design siguen Özkan et al. (2025).

Antecedentes. Los sistemas de gestión de horarios universitarios se remontan a los años 1960, cuando
los primeros algoritmos de backtracking se aplicaron a la planificación de exámenes (citados en Bashab
et al., 2023). En las décadas de 1980 y 1990 surgieron los primeros Sistemas de Información de
pág. 2466
Estudiantes (SIS). Akour y Alenezi (2022) documentan la tendencia más amplia de transformación
digital de la educación superior a nivel mundial.

En la primera década del siglo XXI emergieron plataformas de segunda generación: Banner (Ellucian),
PeopleSoft Campus Solutions (Oracle) y SAP Student Lifecycle Management. Akour y Alenezi (2022)
señalan que la adopción de este tipo de sistemas institucionales de gran escala en la educación superior
está condicionada por su alto costo de licenciamiento y por la complejidad de su configuración, lo que
las vuelve poco accesibles para coordinaciones de posgrado con recursos limitados, como es el caso de
la MIIDT.

En el software libre, el proyecto FET (Free Timetabling Software) (Lalescu, 2024) resuelve el UCTP
mediante algoritmos heurísticos de asignación automática, pero está orientado principalmente a
educación básica y media, y carece de gestión de LIES, distinción tronco común/optativa, integración
con planes de estudio formales y generación de PDF con membrete personalizable.

Useche et al. (2022) observan que la adopción de sistemas de programación especializados en América
del Sur sigue siendo limitada en comparación con las plataformas generales, y algunos problemas en la
especialización no están claros. Por ejemplo, en México, el Sistema Integral de Información del TecNM
incluye horarios de licenciatura, pero no las particularidades de posgrado de SECIHTI, y en Guerrero el
Sistema Integral de Administración Escolar (SIAE) de la UAGro tampoco incluye LIES, categorización
de materias por tipo, o múltiples cohortes en el mismo plan de posgrado, lo cual es el tipo de brecha
funcional que motivó este proyecto.

Desde la ingeniería de software, Sangabriel-Alarcón et al. (2024) establecen el Diseño Guiado por el
Dominio (DDD): la lógica de negocio debe residir en el núcleo del dominio (en entidades con su propia
identidad y reglas, objetos de valor inmutables y especificaciones claras).

Santiago-Salazar y Rico-Bautista (2024) complementan este enfoque con evidencia empírica sobre la
Arquitectura Limpia: las capas están diseñadas de tal manera que sus dependencias siempre apuntan
hacia adentro (hacia el dominio) para aumentar la mantenibilidad en comparación con arquitecturas sin
esta separación. Este proyecto hace esto tal como se establece en el código fuente: los comentarios de
prohibición al inicio de cada módulo de dominio ('PROHIBIDO: importar Flet aquí', 'PROHIBIDO:
acceder a la base de datos aquí') son la manifestación concreta de la inversión de dependencias.
pág. 2467
Estado del arte. Bashab et al. (2023) revisaron 47 algoritmos de solución para el problema de
asignación de horarios universitarios conocido como University Course Timetabling Problem (UCTP,
por sus siglas en inglés) y concluyeron que los enfoques metaheurísticos (algoritmos de búsqueda
inteligente que exploran muchas combinaciones posibles sin garantizar la mejor solución, pero que la
encuentran en tiempos razonables), en el que se aborda los algoritmos genéticos, la búsqueda tabú
(algoritmos de optimización) y las colonias de hormigas (técnicas inspiradas en la naturaleza), superan
a los métodos exactos en instancias de tamaño real; el 62 % de los sistemas revisados aplican
restricciones duras y blandas.

De estos hallazgos se retoma únicamente la clasificación de restricciones: el sistema aquí desarrollado
valida solo restricciones duras, en tiempo real y mediante reglas de dominio explícitas; la incorporación
de metaheurísticas para la generación automática de horarios queda fuera de alcance y se plantea como
trabajo futuro.

Ceschia et al. (2023) realizan una revisión sistemática de las formulaciones estándar y los bancos de
pruebas (benchmarks) del problema de asignación de horarios educativos, identificando seis
formulaciones de referencia y reportando resultados del estado del arte en calidad de solución, técnicas
de búsqueda y tiempos de ejecución, este trabajo se retoma como referencia de los formatos y
restricciones típicas del problema de horarios que el sistema debe representar.

Zhong et al. (2024) encuentran que los sistemas con arquitectura en capas y patrón Repository son fáciles

de mantener que los sistemas sin esta separación. Con base en ese hallazgo, la arquitectura implementada
separa explícitamente las capas de Aplicación e Infraestructura, con el patrón Repository cubriendo todo
el acceso a datos. Sangabriel-Alarcón et al. (2024), en su revisión sistemática, documentan que el Diseño
Guiado por el Dominio (DDD) mejora la capacidad de mantenimiento cuando las reglas de negocio son
complejas y evolutivas, hallazgo aplicable a coordinaciones con múltiples LIES.

Percival y Gregory (2020), en su obra de referencia sobre patrones arquitectónicos en Python, muestran
que el patrón de Repositorio (Repository) junto con SQLAlchemy mantiene el dominio libre de
dependencia de infraestructura, lo que facilita las pruebas al reemplazar la base de datos real con
simulaciones en pruebas unitarias. Ese principio es el que permite, en la implementación descrita en el
pág. 2468
apartado de la metodología, que las clases HorarioRepository y PlanesRepository encapsulen el acceso
a MySQL sin que el dominio dependa de SQLAlchemy.

Useche et al. (2022) consideran que la llegada de la pandemia permitió la aceleración de la
transformación digital en instituciones latinoamericanas. Bajo ese panorama es en el que se ubica la
necesidad de la MIIDT de modernizar un proceso administrativo que seguía dependiendo de hojas de
cálculo sin automatización. García Yáñez et al. (2024) informan sobre una plataforma de programación
web para una universidad en Tampico, México, que reduce los errores de superposición. Romaguera et
al. (2024) describen un sistema web basado en un algoritmo genético mejorado cuya separación entre la
lógica de asignación y la interfaz facilita la iteración.

Ambos antecedentes comparten el objetivo de reducir errores de traslape mediante software, pero
ninguno modela las particularidades de un posgrado con Líneas de Investigación e Incidencia Social
(LIES) ni la distinción entre tronco común y optativas. Esa brecha funcional, no cubierta por ninguno
de los dos, es la que se atiende de forma específica en el sistema desarrollado (la comparación se retoma
con detalle más adelante).

Flet (2024) encuentra tiempos de renderizado de menos de 16 ms gracias al motor Flutter con un modelo
de componentes reactivo que prefiere separar la presentación de la lógica de negocio. Por ese motivo se
seleccionó Flet frente a Tkinter, PyQt5 o wxPython (otras bibliotecas para construir interfaces de
escritorio en Python) para construir la capa de presentación. Wahyudi et al. (2022) destacaron las
ventajas de MySQL para instituciones con recursos limitados, debido a que no requiere costos de
licenciamiento, soporta grandes volúmenes de información y ofrece compatibilidad multiplataforma,
características que justifican su selección en este proyecto.

Lukasczyk et al. (2023) demostraron que combinar técnicas de generación de pruebas en Python mejora
la cobertura (el porcentaje del código que efectivamente se ejecuta y verifica durante las pruebas) y
ayuda a detectar errores antes de la integración, lo que respalda la estrategia de pruebas unitarias, de
integración y de fuerza bruta adoptada en el desarrollo.

Özkan et al. (2025) concluyeron que, para organizaciones medianas, los sistemas monolíticos
(aplicaciones construidas como un solo programa unificado, más simples de instalar y mantener) con
buena separación de capas y DDD son más prácticos que las arquitecturas de microservicios, en términos
pág. 2469
de despliegue, costo e infraestructura. Sobre esa base se decidió construir el sistema como una aplicación
monolítica de escritorio en lugar de una arquitectura distribuida o de microservicios, dado el tamaño de
la coordinación y sus recursos institucionales.

Resumen del Estado del Arte. La Tabla 1 resume los antecedentes y trabajos del estado del arte
revisados, y para cada uno el autor, el nombre del trabajo, una breve descripción de cómo se
realizó este trabajo, las herramientas utilizadas y la relevancia del trabajo dentro del campo.

Tabla 1. Resumen de antecedentes y estado del arte.

Autor
Nombre del
trabajo
Descripción del trabajo Herramientas
utilizadas
Vigencia
Akour y
Alenezi
(2022)

Higher education
future in the era of
digital
transformation

Estudian la tendencia global
de transformación digital en
la educación superior y el
costo/complejidad de los SIS
de gran escala

Revisión
documental

2022 –
vigente,
referencia
general de
contexto

Bashab et al.
(2023)

Optimization

techniques in

university

timetabling problem

Revisión de 47 algoritmos
metaheurísticos para el
UCTP; clasifica restricciones
duras y blandas

Revisión
sistemática de
literatura

2023 –
vigente, área
de
investigación
activa

Ceschia et al.
(2023)

Educational

timetabling:

Problems,

benchmarks, and

state
-of-the-art
results

Revisión de las
formulaciones actuales y
evaluación comparativa del
problema de programación
educativa en su conjunto.

Revisión
sistemática de
literatura

2023 –
vigente

Flet (2024)

Flet: Build multi
-
platform apps in

Python powered by

Flutter

Documentación oficial del
framework de interfaz gráfica
utilizado para la capa de
presentación

Flet / Flutter
(Python)

2024 –
vigente,
versión activa
(0.28)

García Yáñez
et al. (2024)

Development of a
web-based
timetabling software

Plataforma de programación
web para una universidad
mexicana que reduce errores
de superposición

Desarrollo web
(working
paper)

2024 –
vigente