Skip to content

Commit

Permalink
Merge pull request #21 from Arquisoft/laura
Browse files Browse the repository at this point in the history
Laura
  • Loading branch information
uo283055 authored Feb 12, 2024
2 parents 7a020f7 + 97aade1 commit 3ff6455
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 59 deletions.
Binary file added docs/images/08-MindMapConceptosTransversales.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions docs/src/03_system_scope_and_context.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ La aplicación permitirá a los usuarios no solo acumular dinero al participar e
Al acceder a la página principal de la aplicación, los usuarios podrán ver una interfaz que les permitirá iniciar sesión para acceder a su cuenta. En caso de ser su primera vez y no tener cuenta, tendrá la opción de registrarse. Una vez autenticados, los usuarios se encontrarán con la opción tanto empezar un nuevo juego como de ver su historial
de jugadas anteriores.
Dentro del historial, este le mostrará el número de partidas totales realizadas y por cada una de ellas el número de respuestas acertadas, el dinero conseguido y el tiempo total
Dentro del historial, este le mostrará el número de partidas totales realizadas y por cada una de ellas la fecha en la que se jugó, el número de respuestas acertadas, el dinero conseguido y el tiempo total
que le llevó completarlo.
Aparte de eso también tendrán la opción de visualizar el listado completo de usuarios registrados hasta la fecha.
Expand All @@ -36,7 +36,7 @@ Aparte de eso también tendrán la opción de visualizar el listado completo de
Para el desarrollo de este proyecto usaremos la API de Wikidata tanto para generar automaticamente las preguntas como para obtener
las respuestas correctas a las mismas.
Respecto al lenguaje de programación se usará JavaScript, utilizando React para el desarrollo del front-end. Además
haremos uso de Node.js y la implementación de microservicios para el back-end. Respecto a la base de datos usaremos una NonSQL como MongoDB.
haremos uso de Node.js y la implementación de microservicios para el back-end. Respecto a la base de datos usaremos una NonQL como MongoDB.
|===
| Interfaz técnica | Explicación
Expand Down
97 changes: 40 additions & 57 deletions docs/src/08_concepts.adoc
Original file line number Diff line number Diff line change
@@ -1,73 +1,56 @@
ifndef::imagesdir[:imagesdir: ../images]

[[section-concepts]]
== Cross-cutting Concepts
== Conceptos transversales


=== Descripción de conceptos
==== Dominio
[role="arc42help"]
****
.Content
This section describes overall, principal regulations and solution ideas that are relevant in multiple parts (= cross-cutting) of your system.
Such concepts are often related to multiple building blocks.
They can include many different topics, such as
* models, especially domain models
* architecture or design patterns
* rules for using specific technology
* principal, often technical decisions of an overarching (= cross-cutting) nature
* implementation rules
.Motivation
Concepts form the basis for _conceptual integrity_ (consistency, homogeneity) of the architecture.
Thus, they are an important contribution to achieve inner qualities of your system.
Some of these concepts cannot be assigned to individual building blocks, e.g. security or safety.
.Form
The form can be varied:
* concept papers with any kind of structure
* cross-cutting model excerpts or scenarios using notations of the architecture views
* sample implementations, especially for technical concepts
* reference to typical usage of standard frameworks (e.g. using Hibernate for object/relational mapping)
.Structure
A potential (but not mandatory) structure for this section could be:
* Domain concepts
* User Experience concepts (UX)
* Safety and security concepts
* Architecture and design patterns
* "Under-the-hood"
* development concepts
* operational concepts
Note: it might be difficult to assign individual concepts to one specific topic
on this list.
image::08-Crosscutting-Concepts-Structure-EN.png["Possible topics for crosscutting concepts"]
.Further Information
See https://docs.arc42.org/section-8/[Concepts] in the arc42 documentation.
* *Dinamismo en temáticas:* En la aplicación, el juego desarrollado te permite contestar a una gran variedad de preguntas específicas de distintas temáticas como años, lugares y autores de todas las distintas áreas existentes como historia, geografía y música entre otras.
* *Registro de actividad:* La aplicación permitirá al usuario registrado ver todo su historial de jugadas realizadas, así como los detalles de cada una: fecha en la que se jugó, número de aciertos/fallos, dinero conseguido y tiempo total de finalización.
****

==== Experiencia de usuario (UX)
[role="arc42help"]
****
* *Intefaz usable:*
|===
| Facilidad de uso
| Se mostrará un diseño de interfaz sencilla de uso, predecible y familiar, colocando todos los elementos y opciones importantes de la aplicación de forma que sean fácilmente accesibles. Se usará también un estilo que hará alusión al famoso juego de "Saber y Ganar" en el que está basado.
=== _<Concept 1>_

_<explanation>_

| Intuitiva
| El sistema de juego de la aplicación seguirá lo más fielmente posible el formato de preguntas y respuestas del juego de "Saber y Ganar" en base al número de preguntas que se harán en cada jugada, el tiempo disponible para cada pregunta, el número de respuestas disponibles a seleccionar y la cuantía del premio para generar una sensación de familiaridad.
| Solidez
| Los tiempos de espera de carga de la aplicación se buscarán que sean los mínimos posibles para que la experiencia sea fluida.
|===
=== _<Concept 2>_
* *Inmediata retroalimnetacion:* El usuario verá de forma inmediata si ha acertado o no la pregunta contestada. Así como el historial de jugadas estará actualizado en todo momento.
****

_<explanation>_
==== Seguridad y protección
[role="arc42help"]
****
* *Control de acceso seguro:* Seguridad en la autenticación del usuario, comprobando que sean correctos los datos introducidos y no dejando entrar en caso contrario.
* *Registro de actividad:* La aplicación está hecha para garantizar la protección de los usuarios respecto a las contraseñas, las cuales se encripta. También el historial de jugadas esta protegido ya que cada usuario solo puede ver su propio historial.
****

...
==== "Under-the-hood"
[role="arc42help"]
****
* *Persistencia:* Tanto los datos del usuario como de las jugadas quedarán almacenados asegurando su integridad y disponilibilidad.
* *Mantenibilidad:* El código está escrito de forma clara y legible, se sigue un enfoque modular que permitirá la facilidad en su mantenimiento a la hora de tener que corregir fallos o añadir alguna mejora.
* *Extensibilidad:* Aplicación construida de forma que se podrá añadir de una forma sencilla nuevas funcionalidades en el futuro sin afectar en gran manera a partes ya existentes.
****

=== _<Concept n>_
==== Desarrollo
[role="arc42help"]
****
* *Implementación:* Para la creación de esta aplicación se usará el lenguaje de programación JavaScript, para el front-end se utilizará React, Node.js y la construccion de microservicios para el back-end y MongoDB para la gestion de la base de datos NoSQL.
* *Pruebas:* La aplicación será probada con el fin de poder garantizar el buen funcionamiento de todas susfuncionalidades, para ello se llevarán a cabo distintas pruebas unitarias que nos permitan detectar y corregir posibles fallos.
****

_<explanation>_
=== Mapa de conceptos
image::08-MindMapConceptosTransversales.png["Mind Map conceptos transversales"]

0 comments on commit 3ff6455

Please sign in to comment.