2. Descripción General - migueltovarb/ISWREQUERIMIENTOS202502-1danielchauxcampusucceduco GitHub Wiki

2.1 Perspectiva del Producto

El Sistema de Gestión de Talleres y Seminarios es un producto nuevo y autocontenido que no reemplaza ningún sistema existente.

El sistema funcionará como una aplicación web independiente, accesible desde navegadores modernos en computadoras de escritorio, tabletas y dispositivos móviles.

El sistema dependera de alguno sistemas externos para el correcto funcionamiento del mismo.

Diagrama de Contexto:

El siguiente diagrama ilustra las fronteras del sistema, los actores principales que interactúan con él, y las interfaces con sistemas externos:

2.2 Funciones del Producto

El sistema se estructura en torno a un modelo conceptual orientado a objetos que refleja las entidades principales del dominio del problema y sus relaciones. Este modelo guiará el diseño de la base de datos y la arquitectura del sistema.

2.2.1 Descrición de Clases principales

2.2.2.1 Participante: Representa a cualquier persona que se registra en el sistema. Atributos: ID único, nombre completo, documento de identidad, email, celular, programa académico, tipo de participante (estudiante/docente/egresado), contraseña encriptada, indicador de email verificado, fecha de registro. Métodos: iniciar sesión, recuperar contraseña, editar perfil.

2.2.2.2 Conferencista: Representa a profesionales que imparten talleres. Atributos adicionales: formación académica, experiencia, temas que imparte, foto profesional, lista de talleres asignados. Métodos: crear taller, registrar asistencia, ver evaluaciones recibidas.

2.2.2.3 Administrador: Representa al personal con privilegios elevados. Métodos: aprobar taller, rechazar taller, crear taller, modificar taller, generar reportes, gestionar usuarios.

2.2.2.4 Taller: Representa un evento académico (taller, seminario). Atributos: ID único, título, descripción, fecha de inicio, fecha de fin, modalidad (presencial/virtual/híbrida), capacidad máxima, capacidad mínima, cupos disponibles, lugar físico, enlace virtual, duración en horas, público objetivo, estado (borrador/pendiente aprobación/publicado/confirmado/cancelado/finalizado), calificación promedio, costo. Métodos: publicar, modificar, cancelar.

2.2.2.5 Sesión: Representa cada encuentro individual dentro de un taller (un taller puede tener múltiples sesiones). Atributos: ID único, fecha, hora de inicio, hora de fin, tema, enlace de videoconferencia, estado. Relación: pertenece a un Taller.

2.2.6 Asistencia: Representa el registro de asistencia de un participante en una sesión específica. Atributos: fecha, estado (presente/ausente/tarde), observaciones. Métodos: registrar, modificar. Relaciones: asociada a una Inscripción y una Sesión.

2.2.2.7 Certificado: Representa los certificados digitales generados. Atributos: código único de verificación, código QR, fecha de emisión, URL del archivo PDF. Métodos: generar, verificar. Relación: asociado a una Inscripción.

2.2.2.8 Evaluación: Representa las evaluaciones que los participantes realizan sobre los talleres. Atributos: calificación de contenido (1-5), calificación de metodología (1-5), calificación de dominio del ponente (1-5), calificación de pertinencia (1-5), satisfacción general (1-5), comentarios opcionales, fecha de evaluación. Métodos: enviar. Relación: asociada a una Inscripción.

2.2.2.9 Pago: Representa transacciones de pago para talleres con costo. Atributos: ID de transacción, monto, método de pago (PSE/tarjeta/consignación), estado, fecha de pago, comprobante. Métodos: procesar, reembolsar. Relación: asociado a una Usuario.

2.3 Clases de Usuarios y Características

Clase de Usuario Descripción Frecuencia de Uso Nivel Técnico Funciones
Participante Estudiantes, docentes y egresados interesados en capacitarse mediante talleres y seminarios. Representan el grupo más amplio (500-1000 usuarios activos mensuales). Altisima Básico Registro, verificación de email, consulta de catálogo, inscripción, cancelación, recepción de notificaciones, descarga de certificados, evaluación de talleres.
Conferencista Profesionales especializados que imparten los talleres y seminarios. Tienen conocimientos en su área de especialidad. Media Especializado Creación de talleres, consulta de talleres asignados, registro de asistencia desde móviles, visualización de evaluaciones recibidas, actualización de perfil profesional.
Administrador Personal de la universidad responsable de la gestión operativa del sistema. Coordinadores académicos y personal administrativo. Alta Avanzado Aprobación/rechazo de talleres, creación directa de talleres, modificación de talleres, gestión de usuarios (crear, editar, desactivar), configuración de parámetros del sistema, generación y exportación de reportes, resolución de problemas.

2.4 Entorno de Operación

2.4.1 Sistema operativo

  • CPU: Procesador de 2.5 GHz o superior
  • Memoria RAM: 4 GB mínimo (8 GB recomendado).
  • Almacenamiento: 100 GB SSD o superior.
  • Conectividad de red estable con al menos 10 Mbps de subida y bajada.
  • Python 3.10+ con frameworks como FastAPI o Django.
  • Resolución mínima de pantalla: 320 × 568 píxeles (dispositivos móviles) hasta 3840 × 2160 (4K).
  • Conexión a Internet mínima de 1 Mbps (recomendada: 5 Mbps)
  • HTML5

2.4.2 Bases de datos:

  • PostgreSQL 14+ o MySQL 8.0+
  • GitHub (SRS)

2.5 Restricciones de Diseño e Implementación

2.5.1 Restricciones de Hardware

  • El sistema deberá operar en los servidores institucionales o en infraestructura en la nube aprobada por la universidad.
  • No se contempla el uso de hardware especializado (por ejemplo, lectores biométricos o impresoras térmicas).
  • El rendimiento deberá optimizarse para asegurar tiempos de respuesta inferiores a 3 segundos por solicitud.

2.5.2 Restricciones de Software y Tecnológicas

  • Se empleará un diseño web de tres capas (presentación, lógica de negocio y datos), basada en tecnologías abiertas.
  • El uso de herramientas, librerías o frameworks deberá ser con licencia institucional vigente.
  • Se deberán mantener interfaces compatibles con los sistemas externos definidos.

2.5.3 Requisitos de Lenguaje y Comunicación

  • El sistema deberá estar disponible inicialmente en idioma español. Se dejará la estructura preparada para una futura internacionalización.
  • Todas las comunicaciones entre cliente y servidor utilizaran el protocolo HTTPS.

2.5.4 Restricciones de Seguridad informativa

  • Se deben implementar encriptación de contraseñas.
  • El acceso a la administración del sistema deberá requerir autenticación con privilegios elevados.
  • Los datos sensibles deberán almacenarse siguiendo las normas de seguridad y confidencialidad institucionales.

2.5.5 Restricciones de Diseño y Estándares de Programación

  • Se deben incluir comentarios descriptivos y documentación técnica de cada módulo.
  • El cliente (la universidad) será responsable del mantenimiento posterior del software, por lo que el código debe ser modular, legible y fácilmente actualizable.

2.6 Documentación del Usuario

Usuario Descripción Formato de entrega
Participante 1er Momento Documento resumido con pasos básicos para acceder, registrarse, iniciar sesión y participar en talleres. PDF distribuido junto con el lanzamiento del sistema.
Participante 2do Momento Documento que describe las funcionalidades principales del sistema, procedimientos de uso, registro, inscripción, asistencia, descarga de certificados y solución de problemas comunes. PDF institucional y versión en línea (HTML).
Conferencista Sistema de ayuda contextual integrado en la interfaz web que explica el funcionamiento de cada módulo mediante tooltips e íconos de información. Implementado en HTML y JavaScript.
Administrador Manual de instrucciones detalladas para la configuración del sistema, gestión de usuarios, aprobación de talleres, reportes y mantenimiento básico. PDF técnico con capturas de pantalla y ejemplos de configuración.
Tutorial Interactivo / Video Guía Serie de videos cortos o recorrido interactivo que explica las funciones principales (registro, inscripción, asistencia, certificados). Videos MP4 alojados en la intranet o en un canal institucional.

2.7 Suposiciones y Dependencias

2.7.1 Suposiciones:

2.7.1.1 Se asume que la universidad dispondrá de un servidor institucional o servicio en la nube con acceso seguro y respaldos automáticos.

2.7.1.2 Se asume que los usuarios cuentan con acceso a Internet estable y dispositivos compatibles.

2.7.1.3 Se asume la disponibilidad de una pasarela de pagos institucional o comercial para el manejo de talleres con costo.

2.7.1.4 Se asume que el personal administrativo y los instructores recibirán capacitación básica en el uso del sistema antes del despliegue.

2.7.1.5 Se asume que los lineamientos de identidad visual y accesibilidad de la universidad se mantendrán sin cambios significativos durante el desarrollo.

2.7.2 Dependencias:

2.7.2.1: El sistema depende de este servicio para enviar correos de verificación, recordatorios y certificados. Fallas en este servicio afectarán la comunicación con los usuarios.

2.7.2.2 La creación automática de sesiones virtuales depende del correcto funcionamiento y acceso a las APIs externas.

2.7.2.3 El sistema depende de la integración con plataformas de pago seguras para procesar transacciones de talleres con costo.

2.7.2.4 El cumplimiento de la normativa sobre protección de datos personales afecta directamente la arquitectura de seguridad y almacenamiento.

2.7.2.5 El mantenimiento, actualizaciones y soporte del sistema dependerán de la disponibilidad del equipo técnico designado por la universidad.