From 2dfc402fb4502b17c5d2d87ffbc87cc840f0c0a6 Mon Sep 17 00:00:00 2001 From: UO285267 Date: Mon, 12 Feb 2024 10:34:30 +0100 Subject: [PATCH] Updates --- images/diagramaDespliegue.png | Bin 0 -> 48594 bytes index.html | 397 ++++++++++++++++++---------------- 2 files changed, 208 insertions(+), 189 deletions(-) create mode 100644 images/diagramaDespliegue.png diff --git a/images/diagramaDespliegue.png b/images/diagramaDespliegue.png new file mode 100644 index 0000000000000000000000000000000000000000..59b6fcebe19c3355199a572c4e5df4b6ad781226 GIT binary patch literal 48594 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 QJp}xm(>2y9*CIsxA6Z%ge*gdg literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 5a486f2e..a0f80c8c 100644 --- a/index.html +++ b/index.html @@ -451,14 +451,20 @@

arc42 T
  • 1.3. Stakeholders
  • -
  • 2. Architecture Constraints
  • +
  • 2. Restricciones de arquitectura + +
  • 3. System Scope and Context
  • -
  • 4. Solution Strategy
  • +
  • 4. Estrategia de solución
  • 5. Building Block View
  • -
  • 7. Deployment View +
  • 7. Vista de Despliegue
  • 8. Cross-cutting Concepts @@ -494,7 +501,7 @@

    arc42 T
  • 10.2. Quality Scenarios
  • -
  • 11. Risks and Technical Debts
  • +
  • 11. Riesgos y deudas técnicas
  • 12. Glossary
  • @@ -709,7 +716,7 @@

    1.3. Stakeholders

    -

    2. Architecture Constraints

    +

    2. Restricciones de arquitectura

    @@ -735,9 +742,108 @@

    2. Architecture Constraints

    +
    +

    2.1. Requisitos técnicos

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + +
    ConstraintExplicación

    Wikidata

    Las preguntas serán generadas automáticamente a partir de datos de Wikidata.

    GitHub

    Usaremos GitHub para mantener el proyecto en un repositorio remoto, comunicarnos, asignar tareas y documentar las actas.

    Docker

    El proyecto será desplegado a través de Docker.

    Pruebas

    Deberán ser implementadas pruebas de cobertura, aceptación y carga.

    +
    +
    +

    2.2. Restricciones organizativas

    + ++++ + + + + + + + + + + + + + + + + + + + + +
    ConstraintExplicación

    Miembros del grupo

    El proyecto se llevará a cabo en un equipo con 6 miembros que trabajarán de forma conjunta.

    Entregas

    El trabajo conlleva un calendario de entregas específico:
    +* Documentación 0.1 será entregada en la semana 4.
    +* Prototipo 0.1 en la semana 7.
    +* Prototype 1.0 y documentación 1.0 en la semana 10.
    +* Prototipo 1.1 y documentación 1.1 en la semana 13.

    Reuniones y acta

    Es obligatorio hacer una reunión de equipo en cada clase y tomar su correspondiente acta.

    +
    +
    +

    2.3. Decisiones tomadas

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + +
    ConstraintExplicación

    Documentación

    Documentaremos el proyecto siguiendo el modelo arc42.

    Lenguajes

    Se usará NodeJS y React para implementar los distintos requisitos de la aplicación.

    Base de datos

    Se usará MongoDB como base de datos del proyecto.

    Idioma

    La documentación será en español.

    +

    3. System Scope and Context

    @@ -838,48 +944,33 @@

    3.2. Technical Context

    -

    4. Solution Strategy

    +

    4. Estrategia de solución

    -
    -
    -
    Contents
    -

    A short summary and explanation of the fundamental decisions and solution strategies, that shape system architecture. It includes

    -
    -
    -
      -
    • -

      technology decisions

      -
    • -
    • -

      decisions about the top-level decomposition of the system, e.g. usage of an architectural pattern or design pattern

      -
    • -
    • -

      decisions on how to achieve key quality goals

      -
    • -
    • -

      relevant organizational decisions, e.g. selecting a development process or delegating certain tasks to third parties.

      -
    • -
    +
    Solución pensada:
    +

    El programa usado como solución consiste en una página en la que los usuarios pueden crear una cuenta a la que +acceder para a una partida en la que tendran que responder varias preguntas. Se debe poder guardar tanto las preguntas como +el ratio de aciertos del usuario en una base de datos.

    -
    Motivation
    -

    These decisions form the cornerstones for your architecture. They are the foundation for many other detailed decisions or implementation rules.

    +

    Las partidas tendrán aproximadamente diez preguntas y cada pregunta mostrará cuatro opciones, siendo solo una +la respuesta correcta. Cada pregunta tendrá una duración máxima de, aproximadamente, 30 segundos. Esto fue decidido para +facilitar la generación de las preguntas y la jugabilidad.

    -
    Form
    -

    Keep the explanations of such key decisions short.

    +
    Tecnologías pensadas para su uso:
    +

    La solución pensada originalmente consiste en usar Node.js y React para llevar a cabo la programación del +sistema, usando consultas a Wikidata para realizar las preguntas y obtener las respuestas más actualizadas.

    -

    Motivate what was decided and why it was decided that way, -based upon problem statement, quality goals and key constraints. -Refer to details in the following sections.

    +

    El uso de Wikidata para realizar las perguntas fue una de las limitaciones impuestas sobre nuestro proyecto. El uso de React y +Node.js se debe a que el proyecto inicial dado estaba escrito usando dicho entorno y biblioteca de código y se decidió seguir usandolo +para evitar problemas debido a errores de compatibilidad si se trataban de cambiar.

    -
    Further Information
    -

    See Solution Strategy in the arc42 documentation.

    -
    -
    +

    Si bién aun estar por confirmar, también se tenía pensado el uso de MongoDB para la base de datos. Se decidió usar este tipo +de base de datos debido, en su gran mayoría, a la familiaridad con dicho sistema y debido que algunos de los objetos que se +requieren guardar es más sencillo de hacer en una base de datos NoSQL.

    @@ -1289,147 +1380,52 @@

    6.4. <Runtime Scenario n>

    -

    7. Deployment View

    +

    7. Vista de Despliegue

    -
    -
    -
    -
    Content
    -

    The deployment view describes:

    -
    -
    -
      -
    1. -

      technical infrastructure used to execute your system, with infrastructure elements like geographical locations, environments, computers, processors, channels and net topologies as well as other infrastructure elements and

      -
    2. -
    3. -

      mapping of (software) building blocks to that infrastructure elements.

      -
    4. -
    -
    -
    -

    Often systems are executed in different environments, e.g. development environment, test environment, production environment. In such cases you should document all relevant environments.

    -
    -
    -

    Especially document a deployment view if your software is executed as distributed system with more than one computer, processor, server or container or when you design and construct your own hardware processors and chips.

    -
    -
    -

    From a software perspective it is sufficient to capture only those elements of an infrastructure that are needed to show a deployment of your building blocks. Hardware architects can go beyond that and describe an infrastructure to any level of detail they need to capture.

    -
    -
    -
    Motivation
    -

    Software does not run without hardware. -This underlying infrastructure can and will influence a system and/or some -cross-cutting concepts. Therefore, there is a need to know the infrastructure.

    -
    -
    -
    Form
    -

    Maybe a highest level deployment diagram is already contained in section 3.2. as -technical context with your own infrastructure as ONE black box. In this section one can -zoom into this black box using additional deployment diagrams:

    -
    -
    -
      -
    • -

      UML offers deployment diagrams to express that view. Use it, probably with nested diagrams, -when your infrastructure is more complex.

      -
    • -
    • -

      When your (hardware) stakeholders prefer other kinds of diagrams rather than a deployment diagram, let them use any kind that is able to show nodes and channels of the infrastructure.

      -
    • -
    -
    -
    Further Information
    -

    See Deployment View in the arc42 documentation.

    -
    -
    +

    Diagrama de despliegue

    -

    7.1. Infrastructure Level 1

    -
    -
    +

    7.1. Motivación

    -

    Describe (usually in a combination of diagrams, tables, and text):

    -
    -
    -
      -
    • -

      distribution of a system to multiple locations, environments, computers, processors, .., as well as physical connections between them

      -
    • -
    • -

      important justifications or motivations for this deployment structure

      -
    • -
    • -

      quality and/or performance features of this infrastructure

      -
    • -
    • -

      mapping of software artifacts to elements of this infrastructure

      -
    • -
    -
    -
    -

    For multiple environments or alternative deployments please copy and adapt this section of arc42 for all relevant environments.

    -
    -
    -
    -
    -

    <Overview Diagram>

    -
    -
    -
    -
    Motivation
    -
    -

    <explanation in text form>

    -
    -
    Quality and/or Performance Features
    -
    -

    <explanation in text form>

    -
    -
    Mapping of Building Blocks to Infrastructure
    -
    -

    <description of the mapping>

    -
    -
    +

    El sistema se desplegara en una maquina virtual de Azure, dentro de la maquina cada micro servicio que compone la aplicación, + la base de datos y la web estarna desplegados en un contenedor docker ya que es como nos han proporcionado la integración continua inicial.

    -

    7.2. Infrastructure Level 2

    -
    -
    -
    -

    Here you can include the internal structure of (some) infrastructure elements from level 1.

    -
    +

    7.2. Características de Calidad y/o Rendimiento

    -

    Please copy the structure from level 1 for each selected element.

    -
    +

    Completar mas adelante

    -
    -

    7.2.1. <Infrastructure Element 1>

    -
    -

    <diagram + explanation>

    -
    -
    -
    -

    7.2.2. <Infrastructure Element 2>

    -
    -

    <diagram + explanation>

    -
    -
    -

    …​

    -
    -
    -
    -

    7.2.3. <Infrastructure Element n>

    -
    -

    <diagram + explanation>

    -
    +
    +

    7.3. Componentes de la infraestructura

    + ++++ + + + + + + + + + + + + + + + + +
    ElementDescription

    WebApp

    Es el frontend de nuestra aplicación al cual se accederá desde un navegador.

    ServiceGateway

    Es la REST API de nuestra aplicación a la cual se conecta WebApp y se podrá acceder desde el exterior para obtener datos de los usuarios.Esta parte junta todas las operaciones de los microservicios en un único puerto.

    -

    8. Cross-cutting Concepts

    @@ -1708,31 +1704,54 @@

    10.2. Quality Scenarios

    -

    11. Risks and Technical Debts

    +

    11. Riesgos y deudas técnicas

    -
    -
    -
    -
    Contents
    -

    A list of identified technical risks or technical debts, ordered by priority

    -
    -
    -
    Motivation
    -

    “Risk management is project management for grown-ups” (Tim Lister, Atlantic Systems Guild.)

    -
    -
    -

    This should be your motto for systematic detection and evaluation of risks and technical debts in the architecture, which will be needed by management stakeholders (e.g. project managers, product owners) as part of the overall risk analysis and measurement planning.

    -
    -
    -
    Form
    -

    List of risks and/or technical debts, probably including suggested measures to minimize, mitigate or avoid risks or reduce technical debts.

    -
    -
    -
    Further Information
    -

    See Risks and Technical Debt in the arc42 documentation.

    -
    -
    -
    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Riesgos/Deudas técnicasDescripción

    Despliegue en servidor

    Puede haber errores de conexión con la máquina que despliega la aplicación. Además, si la desplegamos en servicios como Azure o AWS, la aplicación depende de una fuente externa, por lo que, podría darse la situación de no poder desplegar la web por una causa ajena.

    Inconsistencias de datos

    Al utilizar Wikidata para responder sacar la respuesta a preguntas, puede haber ciertas inconsistencias en los datos. Estos son actualizados por usuarios independientes y puede ocurrir que exista alguna respuesta que no tiene algún dato actualizado o incluso datos erróneos

    Utilizar dependencias antiguas/inseguras

    Puede ser un problema utilizar librerías o frameworks antiguos, expuestos a vulnerabilidades de seguridad o que dejen de funcionar, ya que, han sido modificados.

    Pruebas insuficientes

    No hacer las suficientes pruebas puede ser problema para el producto final de la aplicación. Son necesarias para verificar que todo funciona correctamente y como es esperado. Si no es así será detectado mediante las pruebas.

    Registro de usuarios

    Los usuarios han de poder registrarse con una contraseña asociada a su nombre de usuario, lo que puede dar lugar a problemas de seguridad si alguien quiere averiguar la contraseña de algún usuario. Por lo que se debería de garantizar el transporte de datos seguro.

    Carga muy alta de datos

    Si la aplicación llegase a tener registrados una alta carga de usuarios (millones), hay que tener en cuenta que para cada usuario habrá que guardar un histórico de todas sus partidas. Además, de guardar en la base de datos los diferentes tipos de preguntas.

    Alta demanda de peticiones

    Podría haber problemas de rendimiento si hay un número elevado de usuarios jugando al mismo tiempo. Eso podría colapsar la máquina y base de datos que dan soporte al juego.

    Usabilidad en la web

    Se intentará que la aplicación sea lo más usable posible y que pueda llegar al máximo número de personas y rangos de edad; evitando colores parecidos, mala legibilidad y haciendo la aplicación lo más intuitiva posible.