Gestión de Eventos de Modelaje y sistema de votación de modelos
Cargando...
Fecha
Título de la revista
ISSN de la revista
Título del volumen
Editor
Universidad Nacional de Tucumán, Facultad de Ciencias Exactas y Tecnología, Departamento de Eléctrica, Electrónica y Computación
Resumen
Resumen elaborado con IA
Resumen del Trabajo de Graduación
Este proyecto se centra en el desarrollo de una solución tecnológica propietaria para la empresa HSModelaje, una academia de formación para modelos, con el fin de resolver sus principales dificultades operativas.
1. Contexto y Problema
El proyecto surge de la necesidad de HSModelaje de superar las limitaciones y altos costos de las soluciones genéricas del mercado.
Los principales retos identificados que el sistema busca resolver son:
Gestión de Entradas: Venta, distribución y control de accesos para los eventos.
Gestión de Espacios: Administración de los lugares donde se realizan las actividades.
Sistema de Votación: Implementación de un sistema de votación para modelos, destinado al uso de los jueces.
2. Objetivos del Proyecto
Objetivo General
Desarrollar una solución tecnológica integral que mejore la eficiencia en la ejecución de los procesos de la empresa, optimizando los tiempos de gestión y control. A su vez, el proyecto sirve como una aplicación práctica de los conocimientos adquiridos en Ingeniería en Computación (análisis de requerimientos, diseño y desarrollo de software).
Objetivos Específicos
Diseñar e Implementar un sistema basado en tecnologías web para la academia, facilitando: la organización de eventos, la administración de entradas (ventas, distribución y control de accesos), y la votación de jueces de manera eficiente.
Investigar y Aplicar tecnologías web modernas (lenguajes, frameworks y bases de datos).
Garantizar un diseño con las siguientes características:
Interfaz móvil fácil e intuitiva.
Rápido y de fácil implementación.
Capacidad de almacenar y procesar datos para la toma de decisiones gerenciales.
3. Alcance y Diseño del Sistema (Según Índice)
El resto del informe detalla la especificación del sistema, el cual debe soportar usuarios con roles definidos (Organizador, Portero, Moderador, Jueces, Público).
El sistema se encargará de:
Gestión Centralizada: Registro de eventos, modelos, patrocinadores y gastos.
Venta de Entradas: Registro manual o a través de pasarela de pago, con la generación de un código QR único para acreditación y un enlace para la votación de jueces.
Control de Acceso: Un usuario "Portero" verificará la validez del QR al ingreso.
Votación en Tiempo Real: Un usuario "Moderador" gestionará la votación (iniciar, reiniciar, finalizar) de los modelos participantes, y los jueces emitirán su voto a través de una interfaz móvil.
Informes: Generación de reportes sobre ventas, asistencia y resultados de votación.
En cuanto a la ingeniería de software, se seleccionó el Modelo de Prototipado Evolutivo con la metodología V-Script. La arquitectura es de tipo Monolítica (con Frontend y Backend separados) y utiliza API REST y WebSockets para comunicación en tiempo real. Finalmente, se detallan las herramientas de desarrollo (React, Laravel, MySQL) y los planes de pruebas funcionales y de aceptación.
Descripción
Indice general
1. Introducci ́on 4
2. Objetivos 5
2.1. Objetivos generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Objetivos espec ́ıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Especificaci ́on de requisitos complementarios del software 6
3.1. An ́alisis de requisitos del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Identificaci ́on de los usuarios modelos . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3. Cat ́alogo de requisitos del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3.1. Objetivos y alcance del sistema . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3.2. Definiciones, acr ́onimos y abreviaturas . . . . . . . . . . . . . . . . . . . . 7
3.3.3. Descripci ́on general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3.4. Suposiciones y dependencias . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3.5. Requisitos de Usuario y Tecnol ́ogicos . . . . . . . . . . . . . . . . . . . . . 9
3.3.6. Requisitos de Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.7. Requisitos de rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.8. Requisitos de Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.9. Restricciones de dise ̃no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.9.1. Seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.9.2. Base de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.9.3. Ajuste a est ́andares, pol ́ıtica de respaldo y pol ́ıtica de borrado . 10
4. Modelo de ciclo de vida 11
4.1. Selecci ́on de un modelo de ciclo de vida . . . . . . . . . . . . . . . . . . . . . . . 11
4.2. Selecci ́on de metodolog ́ıa de desarrollo de software . . . . . . . . . . . . 11
5. Especificaci ́on C 13
5.1. Modelizaci ́on del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.1.1. Diagrama de Actores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.1.2. Diagrama de Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.1.3. Diagrama de Subsistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.4. Listado de Casos de uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1.5. Diagramas de Caso de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.1.6. Descripci ́on textual de los caso de uso y diagramas de actividad . .. . . 28
5.1.7. Diagramas de Clase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1.8. Ficha t ́ecnica de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.1.9. Diagramas de transici ́on de estados de clases . . . . . . . . . . . . . . . . 57
5.1.10. Diagramas de secuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.2. Identificaci ́on de roles, sus funciones y restricciones . . . . . . . . . . . . . . . . . 63
5.2.1. Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
1
5.2.2. Funciones de usuarios por rol . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2.3. Restricciones de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3. Guiones y Escenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3.1. Diagrama de transici ́on de escenarios . . . . . . . . . . . . . . . . . . . . . 67
5.3.1.1. Diagrama de transici ́on de escenarios - Organizadores . . . . . . 68
5.3.1.2. Diagrama de transici ́on de escenarios - Moderadores . . . . . . . 69
5.3.1.3. Diagrama de transici ́on de escenarios - Validadores . . . . . . . . 69
5.3.1.4. Diagrama de transici ́on de escenarios - Calificadores . . . . . . . 70
5.3.1.5. Diagrama de transici ́on de escenarios - P ́ublico . . . . . . . . . . 70
5.3.2. Tabla de transici ́on de escenarios . . . . . . . . . . . . . . . . . . . . . . . 71
5.3.2.1. Tabla de transici ́on de escenarios - Organizadores . . . . . . . . 71
5.3.2.2. Tabla de transici ́on de escenarios - Moderadores . . . . . . . . . 75
5.3.2.3. Tabla de transici ́on de escenarios - Validadores . . . . . . . . . . 75
5.3.2.4. Tabla de transici ́on de escenarios - Calificadores . . . . . . . . . 76
5.3.2.5. Tabla de transici ́on de escenarios - P ́ublico . . . . . . . . . . . . 76
5.3.3. Descripci ́on funcional de escenarios . . . . . . . . . . . . . . . . . . . . . . 76
6. Especificaci ́on D 97
6.1. Arquitectura de Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.1.1. Arquitectura Monol ́ıtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.1.1.1. Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.1.1.2. Desventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.1.2. Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.1.3. Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.1.4. API REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.1.4.1. Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.1.5. WebSockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.1.5.1. Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2. Dise ̃no del modelo l ́ogico y f ́ısico de datos del sistema . . . .. . . . . . 101
6.2.1. Modelo l ́ogico relacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.3. Arquitectura f ́ısica del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.3.1. Arquitectura Cliente-Servidor v ́ıa Internet . . . . . . . . . . . . . . . . . . 102
6.3.1.1. Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.3.1.2. Desventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.4. Modelo de Despliegue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.5. Modelo de Seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.5.1. Autenticaci ́on basada en JWT . . . . . . . . . . . . . . . . . . . . . . . . 104
6.5.2. Estructura general de un JWT . . . . . . . . . . . . . . . . . . . . . . . . 104
6.5.3. Validaci ́on del Token . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.5.4. Uso de JWT en WebSockets (WSS) . . . . . . . . . . . . . . . . . . . . . 104
6.5.5. Buenas Pr ́acticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
7. Codificaci ́on 105
7.1. Elecci ́on del lenguaje de programaci ́on . . . . . . . . . . . . . . . . . . . . . . . . 105
7.1.1. Selecci ́on del lenguaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
7.1.1.1. JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
7.1.1.2. PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
7.1.1.3. MySQL 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.1.2. Frameworks y librer ́ıas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.1.2.1. React . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.1.2.2. Laravel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.2. Herramientas de Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
2
7.2.0.1. MySQL Workbench . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.2.0.2. ER/Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.2.0.3. Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.2.0.4. GitHub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.2.0.5. Visual Studio Code . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.3. Herramientas de Documentaci ́on . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.3.0.1. Enterprise Architect . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.3.0.2. PlantUML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.3.0.3. LaTeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.3.0.4. Draw.io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8. Pruebas 110
8.1. Pruebas de Caja Negra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
8.1.1. Pruebas Funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
8.1.2. Pruebas de Interfaz de Usuario . . . . . . . . . . . . . . . . . . . . . . . . 110
8.2. Pruebas de Caja Blanca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.2.1. Pruebas de Procedimientos Almacenados . . . . . . . . . . . . . . . . . . 111
8.2.2. Pruebas de API Laravel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.3. Pruebas con el Cliente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.3.1. Pruebas de Aceptaci ́on del Usuario . . . . . . . . . . . . . . . . . . . . . . 111
8.3.2. Validaci ́on de Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
8.4. Resultados y Correcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
9. Conclusiones 113
9.1. Sobre el Proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.2. Personales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Bibliograf ́ıa 115
Anexo 116
10.1. Documentaci ́on Agil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
10.2. C ́odigo Fuente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
10.3. Descripci ́on textual de los casos de uso y diagramas de actividad . . 116
10.3.1. Sesiones y Perfil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
10.3.2. Gesti ́on de Usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
10.3.3. Gesti ́on Eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.3.4. Gesti ́on de Zonas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.3.5. Gesti ́on de Entradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10.3.6. Gesti ́on de Patrocinadores . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
10.3.7. Gesti ́on Gastos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
10.3.8. Gesti ́on Votaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
10.3.9. Gesti ́on Participantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
10.3.10.Gesti ́on de Jueces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
10.3.11.Gesti ́on de M ́etricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
10.3.12.Gesti ́on de Establecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . 275
10.3.13.Gesti ́on de Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

