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.