Describes the relevant requirements and the driving forces that software architects and development team must consider. +These include
+WIQ! es un proyecto desarrollado para la asignatura "Arquitectura de Software" del grado de Ingeniería Informática de la Escuela de Ingeniería Informática de la Universidad de Oviedo. Este proyecto toma como base el proyecto wiq, puesto a la disposición de los alumnos por los profesores de la asignatura. +WIQ! ha sido encargado a la empresa HappySw por RTVE, con el objetivo de recrear su famoso concurso Saber y ganar en una versión web accesible para todo el mundo. Este proyecto será realizado por el equipo de desarrollo es1a formado por: +>>>>>>> 3eb24632ad8f32234457b6498042b6f03b9cfc5e
-
@@ -581,55 +533,56 @@
1. Introduction and Goals
WIQ! is a software by means of which users can emulate being the participants of the quiz show Saber y ganar, which has numerous functionalities:
+WIQ! es un software mediante el cual los usuarios pueden emular ser los participantes del concurso Saber y ganar, que cuenta con numerosas funcionalidades:
-
-
Play several of the game modes seen on the show.
+Jugar a varios de los modos de juego vistos en el programa
-
-
Register to be able to keep track of their statistics in the game
+Registrarse para poder llevar registro de sus estadísticas en el juego
-
-
Play with friends
+Jugar con amigos
-
-
Adjust the themes of the questions, the answer time, the number of questions… +
Ajustar las temáticas de las preguntas, el tiempo de respuesta, el número de preguntas… *
1.1. Requirements Overview
+=== Requirements Overview
+-
-
The system will have at least one web frontend that will be deployed and accessed via the web.
+El sistema contará al menos con un frontend web que estará desplegado y el acceso será a través de la Web.
-
-
Users will be able to register in the system and consult the history of their participation in the system: number of games, number of correct/failed questions, times, etc.
+Los usuarios podrán registrarse en el sistema y consultar el histórico de su participación en el sistema: número de juegos, preguntas acertadas/falladas, tiempos, etc.
-
-
Questions will be automatically generated from Wikidata data.
+Las preguntas serán generadas automáticamente a partir de los datos de Wikidata.
-
-
Questions must be answered within a given time limit.
+Las preguntas deberán responderse en un plazo de tiempo determinado.
-
-
Each question will have one correct answer and several incorrect or distracting answers. Both correct and incorrect answers will be generated automatically.
+Cada pregunta tendrá una respuesta correcta y varias respuestas incorrectas o distractoras. Tanto la respuesta correcta como las incorrectas se generarán automáticamente.
-
-
The system shall allow access to user information through an API.
+El sistema permitirá acceder a la información de los usuarios a través de un API.
-
-
The system shall allow access to the information of the generated questions through an API.
+El sistema permitirá acceder a la información de las preguntas generadas a través de un API.
=== Quality Goals
1.2. Quality Goals
1 |
-Usability |
-The application should be intuitive for users, making it easy for them to interact with the application regardless of their skills. |
+Usabilidad |
+La aplicación debe ser intuitiva para los usuarios, facilitándoles la interacción con la misma independientemente de sus habilidades. |
2 |
-Mantainability |
-The application must have a well-defined and structured design, so that it is easy to make modifications and/or extensions. |
+Mantenibilidad |
+La aplicación debe contar con un diseño bien definido y estructurado, de tal forma que sea sencillo realizar modificaciones y/o ampliaciones. |
3 |
-Privacy |
-The application must guarantee the privacy of its users' information, with mechanisms in place to prevent intrusions into the system. |
+Privacidad |
+La aplicación debe garantizar la privacidad de la información de sus usuarios, contando con mecanismos para evitar intrusiones en el sistema. |
=== Stakeholders
1.3. Stakeholders
Role/Name | -Contact | -Expectations | +<<<<<<< HEAD |
---|---|---|---|
Students (HappySw) |
-Martín Cancio Barrera, Iyán Fernández Riol, Rodrigo García Iglesias and Alfredo Jirout Cid |
-The students are the developers of the application. They are in charge of the complete development, which will improve their programming and teamwork skills. |
+Role/Name |
Users |
-Anyone who uses the application |
-Users are the ones who will ultimately use the application, so it must be intuitive and easy to understand. |
+Contact |
Teachers |
-José Emilio Labra Gayo, Pablo González González, Jorge Álvarez Fidalgo and Cristian Augusto Alonso. |
-They are the supervisors of the project, and will help the students toensure that the project comes to fruition. |
+Expectations |
RTVE |
-RTVE |
-They are the main stakeholders in the application, as they are the ones who commissioned it, so that their viewers can use it. |
+Alfredo Jirout Cid |
2. Architecture Constraints
-Architecture constraint | -Description | ++ |
---|---|---|
Aprobar (opcional) |
||
Tecnología de Desarrollo |
-The application must be developed using web technologies compatible with RTVE’s requirements and standards. |
+Rodrigo Gracía Iglesias |
Plataforma de Implementación |
-The application must be implemented on a web hosting platform that meets RTVE’s performance, security and scalability requirements. |
+|
Cumplimiento de Normativas de Privacidad |
-The architecture must ensure compliance with data privacy regulations, such as GDPR, to protect users' information. |
+No tomar de ejemplo a Miguel |
Compatibilidad con Navegadores |
-The application should be compatible with a wide range of popular web browsers to ensure a consistent user experience. |
+Iyán Fernández Riol |
Seguridad de la Información |
-Strong security measures, such as user authentication, access control and data encryption, must be implemented to protect users' confidential information. |
+|
Escalabilidad |
-The architecture must be scalable to handle increased user traffic without compromising performance. |
+Sacar matricula |
Mantenibilidad del Código |
-Software development practices that promote clean and well-documented code should be followed to facilitate future upgrades and maintenance. |
+Martín Cancio Barrera |
Tiempo de Desarrollo |
-The application must be developed within a specific time frame, which may influence architectural decisions and technology selection. |
++ |
Ser feliz |
3. System Scope and Context
-3.1. Business Context
-|Role/Name|Contact|Expectations
| Estudiantes (HappySw) +| Martín Cancio Barrera, Iyán Fernández Riol, Rodrigo García Iglesias y Alfredo Jirout Cid +| Los estudiantes son los desarrolladores de la aplicación. Están a cargo del desarrollo completo, lo que mejorará sus habilidades tanto de programación como de trabajo en grupo.
| Usuarios +| Cualquier persona que utilice la aplicación +| Los usuarios son los que en última instancia van a utilizar la aplicación, por lo que debe ser intuitiva y fácil de entender.
3.2. Technical Context
-| Profesores +| José Emilio Labra Gayo, Pablo González González, Jorge Álvarez Fidalgo y Cristian Augusto Alonso +| Son los supervisores del proyecto, y ayudarán a los estudiantes para asegurarse de que el proyecto llegue a buen puerto.
| RTVE +| RTVE +| Son los principales interesados en la aplicación, puesto que son los que la han encargado, para que sus espectadores puedan utilizarla. +>>>>>>> 3eb24632ad8f32234457b6498042b6f03b9cfc5e
<<<< + |
+
| Restricción de Arquitectura | Descripción
| Tecnología de Desarrollo | La aplicación debe desarrollarse utilizando tecnologías web compatibles con los requisitos y estándares de RTVE.
+| Plataforma de Implementación | La aplicación debe ser implementada en una plataforma de alojamiento web que cumpla con los requisitos de rendimiento, seguridad y escalabilidad de RTVE.
+| Cumplimiento de Normativas de Privacidad | La arquitectura debe garantizar el cumplimiento de las regulaciones de privacidad de datos, como GDPR, para proteger la información de los usuarios.
+| Compatibilidad con Navegadores | La aplicación debe ser compatible con una amplia gama de navegadores web populares para garantizar una experiencia de usuario consistente.
+| Seguridad de la Información | Se deben implementar medidas de seguridad sólidas, como autenticación de usuarios, control de acceso y encriptación de datos, para proteger la información confidencial de los usuarios.
+| Escalabilidad | La arquitectura debe ser escalable para manejar un aumento en el tráfico de usuarios sin comprometer el rendimiento.
+| Mantenibilidad del Código | Se deben seguir prácticas de desarrollo de software que promuevan un código limpio y bien documentado para facilitar futuras actualizaciones y mantenimiento.
+| Tiempo de Desarrollo | La aplicación debe desarrollarse dentro de un marco de tiempo específico, lo que puede influir en las decisiones arquitectónicas y en la selección de tecnologías.
+<<<< + +=== Business Context +[plantuml, "businesscontext", png] +---- +Actor user as "User" +component wiq [system] as "WIQ!" +component apiusers [extern] as "API Users" +component apiquestions [extern] as "API Questions" +component wikidata [extern] as "Wikidata" +component authentication [extern] as "Authentication" +user -down.> wiq +wiq -left.> apiusers +wiq -.> apiquestions +wiq -right.> wikidata +wiq -.> authentication +---- +=== Technical Context +[plantuml, "technicalcontext", png] +---- +Actor user as "User" +Actor admin as "Admin" +node cloud as "Cloud"{ + component wiq as "WIQ! Webapp" +} +component wikidata as "Wikidata" +user -down→ cloud: HTTP/HTTPS +admin -down→ cloud: SSH +wikidata -right- cloud: REST +---- +<<<< + +[role="arc42help"] |
+