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.
- Loading branch information
Showing
4 changed files
with
91 additions
and
229 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
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,45 +2,9 @@ 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. | ||
.Further Information | ||
See https://docs.arc42.org/section-1/[Introduction and Goals] in the arc42 documentation. | ||
**** | ||
|
||
* The system will provide non-registered users with the option to sign up. | ||
* The system will provide unidentified users with the option to log in. | ||
* The system can only be used by registered users. | ||
|
@@ -54,105 +18,10 @@ See https://docs.arc42.org/section-1/[Introduction and Goals] in the arc42 docum | |
* The system will offer registered users access the ranking of the game. | ||
* The system will set a time limit for registered users to respond to each question. | ||
|
||
==== Functional Requirements | ||
===== Users Sign up. | ||
[none or no-bullet] | ||
* FR-USU 1. The system will offer to an unregistered user a registration form. | ||
* FR-USU 2. The system will request the necessary data to register the new user. | ||
[none or no-bullet] | ||
** FR-USU 2.1. The system will request the following 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 2.1.4. All data fields are mandatory. | ||
* FR-USU 3. When any value entered by the new user is invalid, the user will receive a message notifying the error and will not be able to register. | ||
* FR-USU 4. When all the values entered by the new user are valid, the system will 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 will 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 will 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 will 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 will 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 will 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 will be displayed. | ||
*** FR-ULI 1.3.2. When the user exists in the persistence system, but the passwords do not match, a message will 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 will 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 will allow all registered users to access their historical data from their participation. | ||
[none or no-bullet] | ||
** FR-DMU 1.1. Registered users will be able to access the number of games they have played. | ||
** FR-DMU 1.2. Registered users will be able to access the number of questions they have answered correctly. | ||
** FR-DMU 1.3. Registered users will be able to access the number of questions they have answered incorrectly. | ||
** FR-DMU 1.4. Registered users will be able to access the time they have spent within the system. | ||
** FR-DMU 1.5. Registered users will be able to access the ranking of the game. | ||
See the complete functional requirements in the xref:#section-annex[Annex] of the documentation. | ||
|
||
===== Play to WIQ. | ||
[none or no-bullet] | ||
* FR-PWIQ 1. The system will 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 will automatically generate a question to the registered user. | ||
** FR-PWIQ 2.2. In each round, the system will provide the registered user with four automatically generated possible answers. | ||
** FR-PWIQ 2.3. In each round, there will always be only one correct answer. | ||
** FR-PWIQ 2.4. The system will 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 will 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 will earn 10 points. | ||
***** FR-PWIQ 3.1.1.1.2. When the registered user is in the ninth round, the system will end the game. | ||
***** FR-PWIQ 3.1.1.1.3. When the registered user is not in the ninth round, the system will 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 will end the game. | ||
***** FR-PWIQ 3.1.1.2.2. When the registered user is not in the ninth round, the system will 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 will end the game. | ||
*** FR-PWIQ 3.2.2. When the registered user is not in the ninth round, the system will move to the next round. | ||
|
||
=== 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 | ||
|
@@ -168,39 +37,11 @@ A table with quality goals and concrete scenarios, ordered by priorities | |
|=== | ||
|
||
=== 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 | ||
| RTVE | Client | _<Expectation-1>_ | ||
| HappySw | Software Development Team | _<Expectation-2>_ | ||
| Registered user | _<Contact-3>_ | _<Expectation-2>_ | ||
| Usability expert | _<Contact-3>_ | _<Expectation-2>_ | ||
| Accesibility expert | _<Contact-3>_ | _<Expectation-2>_ | ||
| Security expert | _<Contact-3>_ | _<Expectation-2>_ | ||
| Design expert | _<Contact-3>_ | _<Expectation-2>_ | ||
| DNS provider | _<Contact-3>_ | _<Expectation-2>_ | ||
| Translation team | _<Contact-3>_ | _<Expectation-2>_ | ||
| Project Manager | _<Contact-3>_ | _<Expectation-2>_ | ||
| Wikidata | _<Contact-3>_ | _<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,80 @@ | ||
ifndef::imagesdir[:imagesdir: ../images] | ||
|
||
[[section-annex]] | ||
== Annex | ||
=== Functional Requirements | ||
==== Users Sign up. | ||
[none or no-bullet] | ||
* FR-USU 1. The system will offer to an unregistered user a registration form. | ||
* FR-USU 2. The system will request the necessary data to register the new user. | ||
[none or no-bullet] | ||
** FR-USU 2.1. The system will request the following 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 2.1.4. All data fields are mandatory. | ||
* FR-USU 3. When any value entered by the new user is invalid, the user will receive a message notifying the error and will not be able to register. | ||
* FR-USU 4. When all the values entered by the new user are valid, the system will 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 will 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 will 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 will 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 will 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 will 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 will be displayed. | ||
*** FR-ULI 1.3.2. When the user exists in the persistence system, but the passwords do not match, a message will 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 will 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 will allow all registered users to access their historical data from their participation. | ||
[none or no-bullet] | ||
** FR-DMU 1.1. Registered users will be able to access the number of games they have played. | ||
** FR-DMU 1.2. Registered users will be able to access the number of questions they have answered correctly. | ||
** FR-DMU 1.3. Registered users will be able to access the number of questions they have answered incorrectly. | ||
** FR-DMU 1.4. Registered users will be able to access the time they have spent within the system. | ||
** FR-DMU 1.5. Registered users will be able to access the ranking of the game. | ||
|
||
==== Play to WIQ. | ||
[none or no-bullet] | ||
* FR-PWIQ 1. The system will 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 will automatically generate a question to the registered user. | ||
** FR-PWIQ 2.2. In each round, the system will provide the registered user with four automatically generated possible answers. | ||
** FR-PWIQ 2.3. In each round, there will always be only one correct answer. | ||
** FR-PWIQ 2.4. The system will 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 will 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 will earn 10 points. | ||
***** FR-PWIQ 3.1.1.1.2. When the registered user is in the ninth round, the system will end the game. | ||
***** FR-PWIQ 3.1.1.1.3. When the registered user is not in the ninth round, the system will 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 will end the game. | ||
***** FR-PWIQ 3.1.1.2.2. When the registered user is not in the ninth round, the system will 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 will end the game. | ||
*** FR-PWIQ 3.2.2. When the registered user is not in the ninth round, the system will move to the next round. |