Concerns, Atributos de calidad y Decisiones de arquitectura - SebaUSM/GRUPO02-2025-PROYINF GitHub Wiki
En esta sección se identifican y analizan tres concerns principales junto con su impacto en los atributos de calidad del sistema y las decisiones arquitectónicas tomadas:
Concern 1: Notificaciones de actualizaciones.
- Atributo de calidad asociado: Availability
- Impacto: La capacidad del sistema para notificar cambios o actualizaciones en tiempo y forma es crucial para mantener la disponibilidad del servicio. Si los usuarios o subsistemas no reciben notificaciones de manera oportuna, podrían operar sobre versiones obsoletas, provocar fallos o generar datos inconsistentes..
- Decisión arquitectónica:
- Incorporación de un sistema de notificaciones robusto (por ejemplo, mediante RabbitMQ, WebSockets o colas de eventos).
- Registro y monitoreo de entrega de notificaciones para asegurar que los cambios llegan a todos los destinatarios relevantes.
- Mecanismos de reintento y fallback en caso de que el destinatario esté temporalmente desconectado.
Concern 2: Sistema de encriptación de contraseñas.
- Atributo de calidad asociado: Security
- Impacto: El manejo inadecuado de contraseñas pone en riesgo la confidencialidad y seguridad del sistema. Si las contraseñas se almacenan sin encriptar o con técnicas débiles, alguien podría comprometer la plataforma ante una brecha lo que afecta directamente a la confianza de los usuarios y la integridad del sistema.
- Decisión arquitectónica:
- Utilizar funciones de hashing seguro como bcrypt, scrypt o Argon2, en lugar de técnicas obsoletas como MD5 o SHA-1.
- Transmisión segura mediante HTTPS obligatorio.
- Separación de responsabilidades mediante un módulo de autenticación dedicado.
Concern 3: Respaldo de datos y boletines.
- Atributo de calidad asociado: Availability
- Impacto: La generación de respaldos periódicos garantiza que el sistema pueda recuperarse y mantenerse disponible para los usuarios tras un error o pérdida de datos.
- Decisión arquitectónica:
- Respaldos automáticos cada 24 horas.
- Almacenamiento seguro y accesible.
- Notificación al administrador sobre éxito o fallo del respaldo.
Estos concerns se incorporan progresivamente en el diseño del sistema para asegurar que los atributos de calidad estén alineados con los objetivos del producto y los riesgos identificados en el contexto de desarrollo ágil.