From a6d6737f4af5fa8e79e450844e1b16ff6ce0a42e Mon Sep 17 00:00:00 2001 From: Fernando Jose Gonzalez Sierra Date: Mon, 19 Feb 2024 13:51:27 +0100 Subject: [PATCH] Updates --- images/03_1_contexto-negocio.png | Bin 0 -> 37945 bytes index.html | 162 ++++++------------------------- 2 files changed, 29 insertions(+), 133 deletions(-) create mode 100644 images/03_1_contexto-negocio.png diff --git a/images/03_1_contexto-negocio.png b/images/03_1_contexto-negocio.png new file mode 100644 index 0000000000000000000000000000000000000000..cfd5ab5b505e67a4c46937dbca7e7ab6e96720ff GIT binary patch literal 37945 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 T
  • 1.3. Stakeholders
  • -
  • 2. Limitaciones de Arquitectura - -
  • +
  • 2. Limitaciones de Arquitectura
  • 3. System Scope and Context
  • -
  • 11. Riesgos y Deudas Técnicas - -
  • +
  • 11. Risks and Technical Debts
  • 12. Glossary
  • @@ -789,33 +779,12 @@

    2. Limitaciones de Arquitectura

    -
    Contents
    -

    Any requirement that constraints software architects in their freedom of design and implementation decisions or decision about the development process. These constraints sometimes go beyond individual systems and are valid for whole organizations and companies.

    -
    -
    -
    Motivation
    -

    Architects should know exactly where they are free in their design decisions and where they must adhere to constraints. -Constraints must always be dealt with; they may be negotiable, though.

    -
    -
    -
    Form
    -

    Simple tables of constraints with explanations. -If needed you can subdivide them into -technical constraints, organizational and political constraints and -conventions (e.g. programming or versioning guidelines, documentation or naming conventions)

    -
    -
    -
    Further Information
    -

    See Architecture Constraints in the arc42 documentation.

    -
    -
    -
    -

    Este proyecto está limitado por una serie de pautas marcadas por los responsables de la asignatura. Por ello esta aplicación está desarrollada siguiendo una serie de requisitos los cuales nombraremos a continuación.

    -
    -

    2.1. Limitaciones técnicas

    +
    +

    === Limitaciones técnicas

    +
    @@ -844,9 +813,9 @@

    2.1. Limitaciones técnicas

    +
    +

    === Limitaciones organizativas

    -
    -

    2.2. Limitaciones organizativas

    @@ -877,9 +846,9 @@

    2.2. Limitaciones organizativas

    +
    +

    === Convenciones

    -
    -

    2.3. Convenciones

    @@ -906,9 +875,10 @@

    2.3. Convenciones

    -
    +
    +

    3. System Scope and Context

    @@ -970,11 +940,10 @@

    3.1. Business Context

    -
    -

    <Diagram or Table>

    +
    +
    +Diagrama de contexto de negocio
    -
    -

    <optionally: Explanation of external domain interfaces>

    @@ -1056,20 +1025,24 @@

    4. Solution Strategy

    • -

      JavaScript: Este lenguaje es muy buena opción para utilizar en proyectos en que se emplé la tecnología REACT. Nos pareció mejor opción que otros lenguajes como TypeScript -debido a que su compresión y manejo es más sencillo.

      +

      Microservicios: +Enfoque arquitectónico donde el software está compuesto por pequeños servicios independientes. Lo hemos elegido por encima de MVC, por la facilidad a la hora de modificar una parte de la aplicación sin afectar al resto.

    • -

      React: Esta libreria de JavaScript permite la creación de interfaces de usuario para la aplicacion web, simplificando la creación de interfaces gráficas.

      +

      Docker: +Este programa es utilizado para desplegar aquí la aplicación web y realizar las pruebas pertinentes. Facilidad a la hora de desplegar junto con una máquina virtual de Azure.

    • -

      Docker: Utilizaremos los contenedores de Docker como lugar donde desplegar la aplicacion web, de manera que pueda probarse la aplicación de forma aislada.

      +

      Wikidata: +API impuesta al equipo de desarrollo como requisito del sistema, su proposito en la aplicación es la obtención de información de diferentes temas para un posterior desarrollo de preguntas.

    • -

      Firebase: Esta API nos servirá como sistema de autenticación del usuario para poder llevar un registro de su historial de partidas, así como algunas de sus estadísticas.

      +

      Javascript: +Lenguaje de programación interpretado, no tipado y facil de aprender y desarrollar. Utilizado para desarrollar todos los microservicios.

    • -

      WikiData: Se trata de otra API a partir de la cual se generarán aleatoriamente las preguntas y respuestas, tanto correctas como incorrectas, que el usuario visualizará.

      +

      React: +Biblioteca de Javascript que se centra en el desarrollo de interfaces. Actualmente está en un momento de auge, por lo que aprender esta tecnologia sería bueno para el mercado laboral.

    @@ -1900,7 +1873,7 @@

    10.2. Quality Scenarios

    -

    11. Riesgos y Deudas Técnicas

    +

    11. Risks and Technical Debts

    @@ -1925,46 +1898,9 @@

    11. Riesgos y Deudas Técnicas

    -
    -

    11.1. Riesgos Técnicos

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - -
    RiesgoExplicación

    Abandono

    Durante el desarrollo del proyecto cabe la posibilidad de que alguno de los miembros que conforman el equipo abandone este, provocando un serio problema el ritmo y carga -de trabajo de los demás compañeros.

    Otras Asignaturas

    Las demás asignaturas en la que están matriculados los miembros del equipo puede exigir una carga importante de trabajo por lo que provocar que el equipo no dedique el -suficiente tiempo al desarrollo de este proyecto.

    Errores

    Durante las pruebas de la aplicación pueden surgir errores que nos obliguen a realizar importantes cambios en esta. Esto puede provocar que el equipo invierta más horas de -las planeadas para solucionar este tipo de problemas.

    Caída de Servicios

    El desarrollo del proyecto puede verse afectado si alguno de los servicios utilizados, como por ejemplo Docker, pueden no funcionar en algún momento. Esto podría bloquear la entrega de alguna de las -funcionalidades del proyecto.

    -

    12. Glossary

    @@ -2017,52 +1953,12 @@

    12. Glossary

    -

    API

    -

    Interfaz de programación de aplicaciones que permite la comunicación entre diferentes programas de software.

    - - -

    Arc42

    -

    Un marco de arquitectura que proporciona un conjunto de prácticas y plantillas para documentar y diseñar arquitecturas de software.

    - - -

    Back-end

    -

    La parte de un sitio web o aplicación que no es visible para los usuarios finales y se encarga del procesamiento de la lógica del negocio y la gestión de los datos.

    - - -

    Contenedor

    -

    Entorno virtual ligero que contiene todo lo necesario para ejecutar una aplicación, incluidas bibliotecas, herramientas y códigos.

    - - -

    Docker

    -

    Plataforma de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software.

    - - -

    Front-end

    -

    La parte de un sitio web o aplicación que interactúa directamente con los usuarios, visible y accesible en el navegador.

    - - -

    GitHub

    -

    Plataforma de desarrollo colaborativo para alojar proyectos utilizando el sistema de control de versiones Git.

    - - -

    IDE

    -

    Entorno de desarrollo integrado que proporciona herramientas y características para facilitar la escritura y depuración de código.

    - - -

    JavaScript

    -

    Lenguaje de programación utilizado principalmente para agregar interactividad y dinamismo a sitios web.

    - - -

    Saber y Ganar

    -

    Programa de televisión español de tipo concurso de preguntas y respuestas culturales.

    - - -

    TypeScript

    -

    Lenguaje de programación de código abierto desarrollado por Microsoft que es un superset de JavaScript y añade tipos estáticos opcionales a la sintaxis del lenguaje.

    +

    <Term-1>

    +

    <definition-1>

    -

    WikiData

    -

    Base de datos colaborativa libre que almacena datos estructurados para respaldar proyectos de la Fundación Wikimedia.

    +

    <Term-2>

    +

    <definition-2>