1.1. Vista de Requerimientos
Creación de usuarios e historial
Un usuario se podrá registrar en la web y consultar los resultados de sus anteriores partidas.
Creación de usuarios
Para acceder al juego, el usuario tendrá que estar registrado en la aplicación.
Historial
Un usuario registrado podrá consultar los resultados de sus anteriores partidas a través de un historial.
Preguntas creadas automáticamente
1.2. Metas de Calidad
La interfaz de usuario será sencilla de entender y de usar
Rendimiento
La aplicación tendrá tiempos de carga rápidos y respuestas ágiles
Adaptabilidad
La aplicación se podrá usar en distintos dispositivos
1.3. Partes interesadas (Stakeholders)
-Role/Name
-Contact
-Expectations
+Rol
+Contacto con la aplicación
+Expectativas
@@ -797,7 +807,12 @@ 1.3. Partes interesadas (Stakeholders)
HappySw
Es la empresa de desarrollo de software
-Que el equipo de desarrollo realice un producto extraordinario para que la empresa contratante este satisfecha con el producto final
+Que el equipo de desarrollo realice un producto de buena calidad para que la empresa contratante este satisfecha con el producto final
+
+
+Profesores Arquitectura del Software
+Personas encargadas de evaluar el proyecto
+Esperan que el equipo de desarrollo cumpla con los requisitos obligatorios en la aplicación final
@@ -845,7 +860,8 @@ 2.1. Restricciones técnicas
API Wikidata
-Las preguntas y soluciones a estas deben ser generadas a través de la API de Wikidata, que permite acceder a toda la información alojada en ella. Sin embargo, esta información puede ser poco fiable debido a que es de acceso público y puede ser modificada por cualquiera. También se debe tener en cuenta la estructura de Wikidata a la hora de acceder a los datos, ya que se basa en entidades y relaciones.
+Las preguntas y soluciones a estas deben ser generadas a través de la API de Wikidata, que permite acceder a toda la información alojada en ella. Sin embargo, esta información puede ser poco fiable debido a que es de acceso público y puede ser modificada por cualquiera.
+También se debe tener en cuenta la estructura de Wikidata a la hora de acceder a los datos, ya que se basa en entidades y relaciones, además del tiempo de acceso a esta API la cual puede relentizar el juego.
Desplegar la aplicación en un servidor
@@ -853,11 +869,11 @@ 2.1. Restricciones técnicas
GitHub
-Todo el código de la aplicación se alojará en GitHub y se usarán ramas para ejecutar cualquier tipo de cambio significativo a la apliación. Los commits deben tener nombres explicativos.
+Todo el código de la aplicación se alojará en GitHub y se usarán ramas para ejecutar cualquier tipo de cambio significativo a la apliación. Los commits deben tener nombres explicativos y podría haber conflictos en los merge.
Pruebas
-Se crearán pruebas de distintos tipos. La aplicación debe pasar estas pruebas para asegurar su funcionamiento.
+Se crearán pruebas de distintos tipos. La aplicación debe pasar estas pruebas para asegurar su funcionamiento, el fallo de alguna de las pruebas bloqueará el despliegue.
@@ -884,6 +900,10 @@ 2.2. Restricciones de organización
HappySw
Es la empresa de desarrollo de software
Que el equipo de desarrollo realice un producto extraordinario para que la empresa contratante este satisfecha con el producto final
Que el equipo de desarrollo realice un producto de buena calidad para que la empresa contratante este satisfecha con el producto final
Profesores Arquitectura del Software
Personas encargadas de evaluar el proyecto
Esperan que el equipo de desarrollo cumpla con los requisitos obligatorios en la aplicación final
API Wikidata
Las preguntas y soluciones a estas deben ser generadas a través de la API de Wikidata, que permite acceder a toda la información alojada en ella. Sin embargo, esta información puede ser poco fiable debido a que es de acceso público y puede ser modificada por cualquiera. También se debe tener en cuenta la estructura de Wikidata a la hora de acceder a los datos, ya que se basa en entidades y relaciones.
Las preguntas y soluciones a estas deben ser generadas a través de la API de Wikidata, que permite acceder a toda la información alojada en ella. Sin embargo, esta información puede ser poco fiable debido a que es de acceso público y puede ser modificada por cualquiera. +También se debe tener en cuenta la estructura de Wikidata a la hora de acceder a los datos, ya que se basa en entidades y relaciones, además del tiempo de acceso a esta API la cual puede relentizar el juego.
Desplegar la aplicación en un servidor
2.1. Restricciones técnicas
GitHub
Todo el código de la aplicación se alojará en GitHub y se usarán ramas para ejecutar cualquier tipo de cambio significativo a la apliación. Los commits deben tener nombres explicativos.
Todo el código de la aplicación se alojará en GitHub y se usarán ramas para ejecutar cualquier tipo de cambio significativo a la apliación. Los commits deben tener nombres explicativos y podría haber conflictos en los merge.
Pruebas
Se crearán pruebas de distintos tipos. La aplicación debe pasar estas pruebas para asegurar su funcionamiento.
Se crearán pruebas de distintos tipos. La aplicación debe pasar estas pruebas para asegurar su funcionamiento, el fallo de alguna de las pruebas bloqueará el despliegue.
Actas e Issues
Todas las decisiones y trabajo hecho se debe ver reflejado en el GitHub del grupo. Cada semana se deben hacer actas donde se tomen decisiones y se reparta el trabajo, que se verá reflejado en los issues.
Evaluaciones intermedias
Cada 3 semanas el proyecto será evaluado y se tomarán nota de los avances y correccciones que se deben hacer para la siguiente evaluación
4.1. Decisiones Tecnológicas
-
-
Microsoft Azure: es una plataforma de computación en la nube que ofrece servicios de infraestructura, plataforma y software como servicio, para poder administrar servicios en línea.
+Microsoft Azure: es una plataforma de computación en la nube que ofrece servicios de infraestructura, plataforma y software como servicio, para poder administrar servicios en línea.
-
-
MongoDB: es un sistema de bases de datos NoSQL, es decir, una base de datos orientada a documentos. Este almacena datos con formato similar JSON, que no tienen que cumplir con una estructura predefinida.
+MongoDB: es un sistema de bases de datos NoSQL, es decir, una base de datos orientada a documentos. Este almacena datos con formato similar JSON, que no tienen que cumplir con una estructura predefinida.
-
-
TypeScript: es un lenguaje de programación de código abierto desarrollado y mantenido por Microsoft. Es un superconjunto tipado de JavaScript que compila a JavaScript puro y es compatible con todas las funcionalidades de este último.
+JavaScript: es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se utiliza para crear páginas web dinámicas.
-
-
WikiData: es una base de datos libre, colaborativa y multilingüe, que sirve como una base de datos secundaria y que recopila datos estructurados para dar soporte a Wikipedia, Wikimedia Commons…
+React: es una biblioteca de JavaScript para construir interfaces de usuario.
-
-
Docker: se utiliza para hacer el despligue de la aplicación.
+WikiData: es una base de datos libre, colaborativa y multilingüe, que sirve como una base de datos secundaria y que recopila datos estructurados para dar soporte a Wikipedia, Wikimedia Commons…
+
+ -
+
Docker: se utiliza para hacer el despligue de la aplicación.
+
+ -
+
Bootstrap: es un framework de código abierto para el diseño de sitios y aplicaciones web.
4.2. Motivaciones
Hemos escogido TypeScript por su mayor parecido a Java, ya que nuestro equipo en su mayoría lo domina. En cuanto React nos basemos en que facilmente se puede crear interfaces. El resto de tecnologías son las más óptimas y las prestablecidas, en el proyecto. Realmente estamos a la espera de los resultados de estas decisiones, ya que en su mayoría son tecnologías desconocidas para el equipo.
-
+
-
+
Microsoft Azure: la universidad nos proporciona crédito para Azure, por lo que no tendremos que pagar por el servicio y es una plataforma que ya conocemos por otras asignaturas del grado.
+
+ -
+
MongoDB: el formato de los datos de MongoDB nos facilita mucho el guardado de datos en la aplicación
+
+ -
+
JavaScript: aunque no lo dominamos completamente, es un lenguaje que nos era familiar y muy usado en el desarrollo web, además combinamos su uso con la biblioteca de React.
+
+ -
+
React: esta biblioteca facilita el uso de los componentes de la aplicación y, además el proyecto inicial lo usaba por lo que no se ha tenido que construir la aplicación desde cero.
+
+ -
+
WikiData: su uso es un requisito obligatorio de esta aplicación pero su istema de consultas SPARQL ha resultado muy útil a la hora de obtener las preguntas de forma dinámica y actualizada para el juego.
+
+ -
+
Docker: ya configurado en el proyecto inicial por lo que pudimos crear contenedores de forma sencilla.
+
+ -
+
Bootstrap: permite crear la interfaz de usuario de forma más sencilla y con diseños más agradables al cliente.
+
+