Concerns, Trade‐Offs y Riesgos - Mati2F/GRUPO07-2025-PROYINF GitHub Wiki

Concerns

1. Integración de datos cientificas

  • Atributo de calidad afectado: Interoperabilidad
  • Descripción concern: El cliente requiere que el sistema se conecte a fuentes de datos externas (dadas por él), para asi asegurarse de la calidad de la información.
  • Impacto en la arquitectura:
    • Es necesario que el backend tenga la capacidad de realizar solicitudes HTTP a sitios webs externos, ya sea para consumir APIs o para obtener contenido HTML y aplicar técnicas de webscrapping.
    • Se necesita procesar la información obtenida para estructurarla según los requerimientos del boletin.
    • Debe manejar posibles errores al intentar obtener la información.
  • Estado actual:
    • Las fuentes no fueron dadas por el cliente
    • No existe la funcionalidad de webscrapping.
  • Propuesta de mejora: Hacer la funcionalidad de webscrapping, ya sea usando APIS o directamente desde el HTML de otras páginas webs. Aunque no se pueda probar con las fuentes del cliente, probar su funcionamiento general.
  • Trade-offs:
    • Posible dependencia de sitios webs externos para obtener la información.
    • Incremente complejidad y mantenimiento del codigo.
  • Riesgos si no se aborda
    • Imposibilidad para obtener información para la creación de los boletines.
    • Información no confiable en los boletines.

2. Roles y permisos

  • Atributo de calidad afectado: Seguridad
  • Descripción concern: Se debe permitir el acceso según roles (administrador, bibliotecologa, lector) para asegurar que solo ciertos roles puedan acceder a las partes de administración, como publicar boletines y modificar borradores.
  • Impacto en la arquitectura:
    • Se requiere implementar un sistema de autorización por roles.
    • Se deben proteger las zonas criticas, para que no se pueda acceder sin el rol necesario.
    • La base de datos debe tener una tabla de usuarios y que exista el campo rol.
    • Confección del CRUD para los usuarios.
    • La visualización de las páginas deben cambiar si es que el usuario esta ingresado o no.
  • Estado actual:
    • Se tiene rol dentro de los posibles usuarios.
    • Se controla el acceso a las diferentes funcionalidades.
    • La visualización de las páginas muestra segun el rol del usuario.
  • Propuesta de mejora: Aunque el sistema ya implemente el control de acceso por roles, una posible mejora es:
    • Incorpar un sistema de baneo temporal o permanente a usuarios.
  • Trade-offs:
    • Mayor control sobre cada usuario pero conlleva una mayor complejidad para comprobar rol y si esta baneado.
    • Cambiar tabla de usuarios, para implementar el campo de baneo.
    • Incluir la opción a cierto rol para que pueda banear otros usuarios.
  • Riesgos si no se aborda
    • Usuarios que no cumplen los terminos de uso no tendrian consecuencias.
    • Dificultad de gestionar usuarios no deseados.

3. Plantillas personalizables

  • Atributo de calidad afectado: Escalabilidad.
  • Descripción concern: El cliente quiere que los boletines puedan generarse a partir de plantillas predefinidas, con la opción de personalización para adaptarse a los requerimientos.
  • Impacto en la arquitectura:
    • Es necesario tener funcionalidades para crear y editar plantillas. (CRUD)
    • Guardar las plantilas en bases de datos.
    • Posibilidad de previsualización de las plantillas.
    • Al hacer un borrador, tener la posibilidad de escoger una plantilla predefinida o hacer una nueva.
  • Estado actual:
    • Hay una estructura para la visualización de boletines y borradores, pero no de plantillas.
    • No se tiene la tabla en la base de datos para las plantillas.
    • Al momento de ingresar los requerimientos no existe la elección de plantillas.
    • No hay creación y modificación de plantillas.
  • Propuesta de mejora:
    • Creación de tabla en la base de datos.
    • Agregar funcionalidad de previsualización de las plantillas.
  • Trade-offs:
    • Mejor rendimiento al crear boletines pero mayor complejidad a tener que hacer las funcionalidades de crear y editar una plantilla.
    • Demasiada capacidad de edición puede dificultar el mantenimiento.
  • Riesgos si no se aborda
    • Dificultad para adaptar los boletines a cambios visuales.
    • No se podría reutilizar material.

4. Envio por correo electronico y redes sociales

  • Atributo de calidad afectado: ??
  • Descripción concern: El sistema debe permitir que los boletines generados puedan compartirse mediante correo electronico y redes sociales.
  • Impacto en la arquitectura:
    • El boletin debe tener la posibilidad de exportarse.
    • Debe existir la funcionalidad para compartir el link a una red social.
  • Estado actual:
    • Se tiene la funcionalidad para compartir el link a redes sociales.
    • Al momento de visualizar un boletin se puede descargar para poder ser exportado/compartido el archivo.
  • Propuesta de mejora:
    • Permitir el enviado a diferentes correos.
  • Trade-offs:
    • Mejor difusión a correos interesados en los temas de los boletines, complejidad para comprobar el uso de una API posible de esto.
  • Riesgos si no se aborda
    • Tener que hacerlo a mano el mandarlo a diferentes correos.