generated from Arquisoft/wiq_0
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #36 from Arquisoft/chore/gonzaloA/docu
Chore/gonzalo a/docu
- Loading branch information
Showing
7 changed files
with
166 additions
and
146 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
node_modules | ||
coverage | ||
docs/build | ||
docs/build | ||
.vscode | ||
.DS_Store |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
@startuml | ||
title Quality attributes | ||
agent Quality | ||
agent Security | ||
agent Reliability | ||
agent Transferability | ||
agent Usability | ||
agent "Performance Efficiency" | ||
agent Maintainability | ||
agent Availability | ||
agent Compatibility | ||
agent "Functional Suitability" | ||
|
||
Quality --- Security | ||
Quality --- Reliability | ||
Quality --- Transferability | ||
Quality --- Usability | ||
Quality --- "Performance Efficiency" | ||
Quality --- Maintainability | ||
Quality --- Availability | ||
Quality --- Compatibility | ||
Quality --- "Functional Suitability" | ||
@enduml |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,92 +2,46 @@ ifndef::imagesdir[:imagesdir: ../images] | |
|
||
[[section-introduction-and-goals]] | ||
== Introduction and Goals | ||
|
||
[role="arc42help"] | ||
**** | ||
Describes the relevant requirements and the driving forces that software architects and development team must consider. | ||
These include | ||
* underlying business goals, | ||
* essential features, | ||
* essential functional requirements, | ||
* quality goals for the architecture and | ||
* relevant stakeholders and their expectations | ||
**** | ||
RTVE has hired the company HappySw, composed of students from the Oviedo School of Software Engineering, to develop a new experimental version of the quiz show Saber y Ganar. This application will be called WIQ, where users will be able to register and log in to play. The application will consist of answering questions of different types generated with Wikidata. For each question answered correctly, points will be obtained. | ||
|
||
=== Requirements Overview | ||
|
||
[role="arc42help"] | ||
**** | ||
.Contents | ||
Short description of the functional requirements, driving forces, extract (or abstract) | ||
of requirements. Link to (hopefully existing) requirements documents | ||
(with version number and information where to find it). | ||
.Motivation | ||
From the point of view of the end users a system is created or modified to | ||
improve support of a business activity and/or improve the quality. | ||
.Form | ||
Short textual description, probably in tabular use-case format. | ||
If requirements documents exist this overview should refer to these documents. | ||
Keep these excerpts as short as possible. Balance readability of this document with potential redundancy w.r.t to requirements documents. | ||
* The system shall provide non-registered users with the option to sign up. | ||
* The system shall provide unidentified users with the option to log in. | ||
* The system shall only be used by registered users. | ||
* The system shall have a game mode with 9 rounds. | ||
* In each round, the system shall generate a question. | ||
* In each round, the system shall generate four answers, with only one being correct. | ||
* The system shall offer registered users access to the number of games they have played. | ||
* The system shall offer registered users access the number of questions they have answered correctly. | ||
* The system shall offer registered users access the number of questions they have answered incorrectly. | ||
* The system shall offer registered users access the time they have spent within the system. | ||
* The system shall offer registered users access the ranking of the game. | ||
* The system shall set a time limit for registered users to respond to each question. | ||
|
||
See the complete functional requirements in the xref:#section-annex[Annex] of the documentation. | ||
|
||
|
||
.Further Information | ||
See https://docs.arc42.org/section-1/[Introduction and Goals] in the arc42 documentation. | ||
**** | ||
|
||
=== Quality Goals | ||
|
||
[role="arc42help"] | ||
**** | ||
.Contents | ||
The top three (max five) quality goals for the architecture whose fulfillment is of highest importance to the major stakeholders. | ||
We really mean quality goals for the architecture. Don't confuse them with project goals. | ||
They are not necessarily identical. | ||
Consider this overview of potential topics (based upon the ISO 25010 standard): | ||
image::01_2_iso-25010-topics-EN.drawio.png["Categories of Quality Requirements"] | ||
.Motivation | ||
You should know the quality goals of your most important stakeholders, since they will influence fundamental architectural decisions. | ||
Make sure to be very concrete about these qualities, avoid buzzwords. | ||
If you as an architect do not know how the quality of your work will be judged... | ||
.Form | ||
A table with quality goals and concrete scenarios, ordered by priorities | ||
**** | ||
[options="header",cols="1,3"] | ||
|=== | ||
|Goal|Description | ||
| Functional suitability | The system shall fulfill its intended purpose effectively and efficiently, allowing users to register, log in, play the quiz, and access their user statistics. | ||
| Security | The system must prioritize user data security. It must implement robust authentication mechanisms for user registration and login. The API access points for user information and generated questions must be secured with proper authorization. | ||
| Reliability | The system should be reliable in generating questions from Wikidata, ensuring that questions are accurate and diverse. The system must handle user registrations, logins, and game data storage without errors. | ||
| Availability | The system must be available 99.99% of the time a user tries to access it. | ||
| Maintainability | The system must be designed and implemented in a way that facilitates easy maintenance and updates. | ||
| Performance efficiency | The system must deliver optimal performance, ensuring responsive interactions for users. The automatic generation of questions from Wikidata and the real-time gameplay must be efficient. The system must handle N concurrent users. | ||
| Usability | The system must provide a user-friendly interface, making it easy for users to register, log in, and play the game. The system learning time for a user should be less than 4 hours. | ||
| Compatibility | The system must be compatible with various web browsers and devices, ensuring a seamless experience for users regardless of their choice of platform. It has to be well-optimized for different screen sizes and functionalities. | ||
| Transferability | The system must allow for easy transfer of user data and game-related information through its APIs. | ||
|=== | ||
|
||
=== Stakeholders | ||
|
||
[role="arc42help"] | ||
**** | ||
.Contents | ||
Explicit overview of stakeholders of the system, i.e. all person, roles or organizations that | ||
* should know the architecture | ||
* have to be convinced of the architecture | ||
* have to work with the architecture or with code | ||
* need the documentation of the architecture for their work | ||
* have to come up with decisions about the system or its development | ||
.Motivation | ||
You should know all parties involved in development of the system or affected by the system. | ||
Otherwise, you may get nasty surprises later in the development process. | ||
These stakeholders determine the extent and the level of detail of your work and its results. | ||
.Form | ||
Table with role names, person names, and their expectations with respect to the architecture and its documentation. | ||
**** | ||
|
||
[options="header",cols="1,2,2"] | ||
[options="header",cols="1,1,2"] | ||
|=== | ||
|Role/Name|Contact|Expectations | ||
| _<Role-1>_ | _<Contact-1>_ | _<Expectation-1>_ | ||
| _<Role-2>_ | _<Contact-2>_ | _<Expectation-2>_ | ||
| RTVE | [email protected] | To have a new experimental version of the Saber y Ganar quiz show. | ||
| HappySw | [email protected] | Develop a good application that fullfills the requirements expected by the client. | ||
| Registered user | Unknown | To play with an entertaining and easy-to-use application. An application with which the user learn about different topics. | ||
| Wikidata | [email protected] | Being able to offer service allowing people to use the data through the API. | ||
|=== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
ifndef::imagesdir[:imagesdir: ../images] | ||
|
||
[[section-annex]] | ||
== Annex | ||
=== Functional Requirements | ||
==== Users Sign up. | ||
[none or no-bullet] | ||
* FR-USU 1. The system shall allow an unregistered user to register in the application. | ||
* FR-USU 2. The system shall request the necessary data to register the new user. | ||
[none or no-bullet] | ||
** FR-USU 2.1. The system shall request the following mandatory data to register the new user: | ||
[none or no-bullet] | ||
*** FR-USU 2.1.1. Username. | ||
*** FR-USU 2.1.2. Email address. | ||
*** FR-USU 2.1.3. Password. | ||
* FR-USU 3. The system shall not allow the user to be registered when any value entered by the new user is invalid. | ||
* FR-USU 4. When all the values entered by the new user are valid, the system shall check if the user is already registered in the persistence system. | ||
[none or no-bullet] | ||
** FR-USU 4.1. When a user with the same data is already found in the persistence system, the user shall not be able to create a new account since it already exists. | ||
** FR-USU 4.2. When no user matching the data is found in the persistence system. | ||
[none or no-bullet] | ||
*** FR-USU 4.2.1. The new user shall be registered in the system. | ||
|
||
==== Users Log in. | ||
[none or no-bullet] | ||
* FR-ULI 1. The system must allow an unidentified user to log in. | ||
[none or no-bullet] | ||
** FR-ULI 1.1. The system shall request the email address as the user identifier. | ||
[none or no-bullet] | ||
*** FR-ULI 1.1.1. The system must check that its format is valid. | ||
*** FR-ULI 1.1.2. It is a mandatory field. | ||
** FR-ULI 1.2. The system shall request the user's password. | ||
[none or no-bullet] | ||
*** FR-ULI 1.2.1. It is a mandatory field. | ||
** FR-ULI 1.3. The system shall automatically validate the entered data to verify when it corresponds to a registered user account. | ||
[none or no-bullet] | ||
*** FR-ULI 1.3.1. When the user is not stored in the persistence system, an error message shall be displayed. | ||
*** FR-ULI 1.3.2. When the user exists in the persistence system, but the passwords do not match, a message shall be displayed to the user notifying them of the error. | ||
*** FR-ULI 1.3.3. When the user is stored in the persistence system and the passwords match, the user shall be logged in. | ||
* FR-ULI 2. The system must allow users who are logged in to log out. | ||
|
||
==== Data management by the user. | ||
[none or no-bullet] | ||
* FR-DMU 1. The system shall allow all registered users to access their historical data from their participation. | ||
[none or no-bullet] | ||
** FR-DMU 1.1. Registered users shall be able to access the number of games they have played. | ||
** FR-DMU 1.2. Registered users shall be able to access the number of questions they have answered correctly. | ||
** FR-DMU 1.3. Registered users shall be able to access the number of questions they have answered incorrectly. | ||
** FR-DMU 1.4. Registered users shall be able to access the time they have spent within the system. | ||
** FR-DMU 1.5. Registered users shall be able to access the ranking of the game. | ||
|
||
==== Play to WIQ. | ||
[none or no-bullet] | ||
* FR-PWIQ 1. The system shall only allow registered users to play the WIQ game. | ||
* FR-PWIQ 2. The game consists of nine rounds. | ||
[none or no-bullet] | ||
** FR-PWIQ 2.1. In each round, the system shall automatically generate a question to the registered user. | ||
** FR-PWIQ 2.2. In each round, the system shall provide the registered user with four automatically generated possible answers. | ||
** FR-PWIQ 2.3. In each round, there shall always be only one correct answer. | ||
** FR-PWIQ 2.4. The system shall automatically end the game after completing the ninth round. | ||
* FR-PWIQ 3. The registered user must respond to the question before the specified time expires. | ||
[none or no-bullet] | ||
** FR-PWIQ 3.1. When the specified time has not ended, and the registered user has provided an answer: | ||
[none or no-bullet] | ||
*** FR-PWIQ 3.1.1. The system shall check if the answer is correct. | ||
[none or no-bullet] | ||
**** FR-PWIQ 3.1.1.1. When the answer is correct: | ||
[none or no-bullet] | ||
***** FR-PWIQ 3.1.1.1.1. The registered user shall earn 10 points. | ||
***** FR-PWIQ 3.1.1.1.2. When the registered user is in the ninth round, the system shall end the game. | ||
***** FR-PWIQ 3.1.1.1.3. When the registered user is not in the ninth round, the system shall move to the next round. | ||
**** FR-PWIQ 3.1.1.2. When the answer is incorrect: | ||
[none or no-bullet] | ||
***** FR-PWIQ 3.1.1.2.1. When the registered user is in the ninth round, the system shall end the game. | ||
***** FR-PWIQ 3.1.1.2.2. When the registered user is not in the ninth round, the system shall move to the next round. | ||
** FR-PWIQ 3.2. When the specified time has ended: | ||
[none or no-bullet] | ||
*** FR-PWIQ 3.2.1. When the registered user is in the ninth round, the system shall end the game. | ||
*** FR-PWIQ 3.2.2. When the registered user is not in the ninth round, the system shall move to the next round. |