Gestión de Eventos de Modelaje y sistema de votación de modelos

Cargando...
Miniatura

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

Citación

Colecciones

Aprobación

Revisión

Complementado por

Referenciado por