From 107ca7a93902247c7d205c56a6e8fcbf5d6e0be7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20D=C3=ADaz=20N=C3=BA=C3=B1ez?= Date: Mon, 12 Feb 2024 15:54:14 +0100 Subject: [PATCH] Finished docs-5-6 --- docs/src/05_building_block_view.adoc | 34 +++++++- docs/src/06_runtime_view.adoc | 113 ++++++++++++++++++++++----- 2 files changed, 125 insertions(+), 22 deletions(-) diff --git a/docs/src/05_building_block_view.adoc b/docs/src/05_building_block_view.adoc index df5c29c8..f08d36db 100644 --- a/docs/src/05_building_block_view.adoc +++ b/docs/src/05_building_block_view.adoc @@ -63,18 +63,46 @@ In the best case you will get away with examples or simple signatures. **** -_****_ +[plantuml,"Whitebox Overall System",png] +---- +actor User as User +rectangle "WIQ" { + User --> WIQ : Interacts with +} + +rectangle "Wikidata" { + WIQ --> Wikidata : Requests data to generate questions +} +---- + Motivation:: -__ +El propósito de esta whitebox es proporcionar una visión clara, sencilla y sin entrar en detalles de cómo el sistema WIQ interactúa con el servicio +externo de Wikidata para obtener los datos necesarios para generar preguntas. Al presentar esta interacción de manera clara, +los stakeholders pueden comprender fácilmente cómo se integra el sistema WIQ con fuentes externas de datos y cómo se utiliza esa +información para cumplir con los requisitos del sistema relacionados con la generación automática de preguntas. Contained Building Blocks:: -__ +[cols="e,2e" options="header"] +|=== +| Nombre | Descripción + +| User +| Representa al usuario que interactúa con la aplicación WIQ. + +| WIQ +| Representa la aplicación principal WIQ. + +| Wikidata +| Servicio externo utilizado por WIQ para obtener datos y generar preguntas. +|=== + Important Interfaces:: __ +ToDo [role="arc42help"] **** diff --git a/docs/src/06_runtime_view.adoc b/docs/src/06_runtime_view.adoc index e10f375b..3c7a30b8 100644 --- a/docs/src/06_runtime_view.adoc +++ b/docs/src/06_runtime_view.adoc @@ -37,29 +37,104 @@ See https://docs.arc42.org/section-6/[Runtime View] in the arc42 documentation. **** -=== - - -* __ -* __ +=== Autenticación del usuario +[plantuml,"Sequence diagram 1",png] +---- +actor Usuario +participant "WIQ Frontend" as Frontend +participant "WIQ Backend" as Backend +database BaseDeDatos as Data + +Usuario -> Frontend: Iniciar sesión +Frontend -> Backend: Petición de autenticación +Backend -> Data: Consulta de datos de usuario +Data --> Backend: Datos de usuario +Backend --> Frontend: Respuesta de autenticación +Frontend --> Usuario: Confirmación de inicio de sesión +---- -It is possible to use a sequence diagram: +=== Generación de una pregunta +[plantuml,"Sequence diagram 2",png] +---- +actor Usuario +participant "WIQ Frontend" as Frontend +participant "WIQ Backend" as Backend +database BaseDeDatos as DB +database Wikidata as Data + +Usuario -> Frontend: Solicita generación de pregunta +Frontend -> Backend: Petición de generación de pregunta +Backend -> DB: Consulta de datos relevantes en BD +DB --> Backend: Datos obtenidos de BD +Backend -> Data: Consulta de datos relevantes en Wikidata +Data --> Backend: Datos obtenidos de Wikidata +Backend -> Backend: Generación de pregunta y respuestas +Backend --> Frontend: Pregunta generada +---- -[plantuml,"Sequence diagram",png] +=== Usuario responde una pregunta +[plantuml,"Sequence diagram 3",png] ---- -actor Alice -actor Bob -database Pod as "Bob's Pod" -Alice -> Bob: Authentication Request -Bob --> Alice: Authentication Response -Alice --> Pod: Store route -Alice -> Bob: Another authentication Request -Alice <-- Bob: another authentication Response +actor Usuario +participant "WIQ Frontend" as Frontend +participant "WIQ Backend" as Backend +database BaseDeDatos as Data + +Usuario -> Frontend: Responder pregunta +Frontend -> Backend: Enviar respuesta +Backend -> Data: Consulta de datos de la pregunta +Data --> Backend: Datos de la pregunta +Backend -> Backend: Evaluar respuesta +Backend --> Frontend: Resultado de la respuesta ---- -=== +=== Usuario consulta su historial +[plantuml,"Sequence diagram 4",png] +---- +actor Usuario +participant "WIQ Frontend" as Frontend +participant "WIQ Backend" as Backend +database BaseDeDatos as DB + +Usuario -> Frontend: Consultar historial +Frontend -> Backend: Petición de historial +Backend -> DB: Consulta de historial del usuario +DB --> Backend: Datos del historial +Backend --> Frontend: Historial del usuario +---- -=== ... +=== Acceso a la información de los usuarios a través de un API +[plantuml,"Sequence diagram 5",png] +---- +actor Usuario +participant "WIQ Frontend" as Frontend +participant "WIQ Backend" as Backend +database BaseDeDatos as DB +participant "API de Usuarios" as UserAPI + +Usuario -> Frontend: Acceder a información de usuario +Frontend -> Backend: Petición de información de usuario +Backend -> DB: Consulta de datos del usuario +DB --> Backend: Datos del usuario +Backend -> UserAPI: Consulta de información del usuario +UserAPI --> Backend: Datos del usuario a través del API +Backend --> Frontend: Datos del usuario +---- -=== +=== Acceso a la información de las preguntas generadas a través de un API +[plantuml,"Sequence diagram 6",png] +---- +actor Usuario +participant "WIQ Frontend" as Frontend +participant "WIQ Backend" as Backend +database BaseDeDatos as DB +participant "API de Preguntas" as QuestionAPI + +Usuario -> Frontend: Acceder a información de preguntas +Frontend -> Backend: Petición de información de preguntas +Backend -> DB: Consulta de datos de preguntas +DB --> Backend: Datos de las preguntas +Backend -> QuestionAPI: Consulta de información de preguntas +QuestionAPI --> Backend: Datos de las preguntas a través del API +Backend --> Frontend: Datos de las preguntas +----