Arquitecturally Significant Requirements (ASR) - migueltovarb/ISWElectiva110202-16 GitHub Wiki

📌 Arquitecturally Significant Requirements (ASR)

🔹 ASR1: Autenticación y Control de Acceso Robustos

ID ASR1
Nombre Autenticación y Control de Acceso Robustos
Descripción La aplicación debe contar con un sistema de autenticación seguro (por ejemplo, tokens JWT o sesiones seguras) y un control de acceso basado en roles (RBAC) que garantice que estudiantes, profesores y administradores accedan únicamente a la información y funcionalidades que les corresponden.

🔹 ASR2: Escalabilidad y Rendimiento Bajo Carga

ID ASR2
Nombre Escalabilidad y Rendimiento Bajo Carga
Descripción Se espera que el sistema soporte un volumen elevado de usuarios concurrentes, especialmente en periodos críticos (inscripción de materias, publicación de notas), manteniendo un tiempo de respuesta óptimo (< 3 segundos) y un uso razonable de los recursos (CPU/memoria).

🔹 ASR3: Disponibilidad y Fiabilidad

ID ASR3
Nombre Disponibilidad y Fiabilidad
Descripción El sistema debe ofrecer alta disponibilidad (mínimo 99,5% de uptime) y tolerancia a fallos, con planes de recuperación ante desastres y una rápida restauración del servicio en caso de incidentes (máximo 4 horas de inactividad).

🔹 ASR4: Seguridad de Datos y Cumplimiento Normativo

ID ASR4
Nombre Seguridad de Datos y Cumplimiento Normativo
Descripción Toda la información sensible (datos personales, académicos) debe protegerse mediante encriptación en tránsito (HTTPS) y almacenamiento seguro (hash + sal para contraseñas). Además, el sistema debe cumplir con normativas de protección de datos (por ejemplo, GDPR o equivalentes locales).

🔹 ASR5: Modularidad y Mantenibilidad

ID ASR5
Nombre Modularidad y Mantenibilidad
Descripción Se demanda una arquitectura modular que facilite la evolución del sistema, la incorporación de nuevas funcionalidades y la corrección de errores, con una alta cobertura de pruebas (≥ 80%) y bajo impacto en el tiempo de inactividad por mantenimiento.

🔹 ASR6: Interoperabilidad y Compatibilidad

ID ASR6
Nombre Interoperabilidad y Compatibilidad
Descripción El sistema debe funcionar correctamente en navegadores Safari y Chrome, integrar React en el frontend y Django en el backend, y comunicarse con una base de datos MySQL, garantizando la coexistencia con la infraestructura institucional existente.

🔹 ASR7: Generación de Reportes y Análisis de Datos

ID ASR7
Nombre Generación de Reportes y Análisis de Datos
Descripción El sistema debe proveer reportes globales y específicos, con capacidad de filtrar por facultad, carrera, semestre, etc., y exportar a PDF, asegurando tiempos de respuesta adecuados.

🔹 ASR8: Usabilidad y Accesibilidad

ID ASR8
Nombre Usabilidad y Accesibilidad
Descripción Se exige que el sistema cumpla con pautas de accesibilidad (WCAG 2.1 AA) y alcance altos niveles de satisfacción en pruebas de usabilidad, ofreciendo una experiencia fluida en diferentes dispositivos.