Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation #45

Merged
merged 53 commits into from
Feb 19, 2024
Merged
Changes from 2 commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
102c10e
Inicio 06_runtime_view
uo289097 Feb 5, 2024
deab241
Primera versión doc 04
UO287747 Feb 5, 2024
83a3a0b
Update 04_solution_strategy.adoc
UO287747 Feb 5, 2024
517128a
Update 04_solution_strategy.adoc
UO287747 Feb 7, 2024
5f68065
Scope and Context doc first version
UO287747 Feb 7, 2024
d619d29
Merge pull request #29 from Arquisoft/doc03_system_scope_and_context
UO287747 Feb 7, 2024
faf368e
Merge pull request #30 from Arquisoft/doc04_solution_strategy
UO287747 Feb 7, 2024
931dd15
Scope and Context doc First version
UO287747 Feb 7, 2024
1722708
Solution Strategy doc First version
UO287747 Feb 7, 2024
a90a659
Primera versión del 12_glossary.adoc
uo276976 Feb 8, 2024
6fdb4a2
Update primera versión 12_glossary.adoc
uo276976 Feb 8, 2024
6c21649
Update 01_introduction_and_goals.adoc
UO287687 Feb 11, 2024
3ecdc7b
Inicio 05_building_block_view.adoc
uo289097 Feb 11, 2024
5892bfe
Update 02_architecture_constraints.adoc
UO287687 Feb 11, 2024
6cfc665
Merge pull request #31 from Arquisoft/UO287687-02_architecture_constr…
UO287687 Feb 11, 2024
1585a29
Update 01_introduction_and_goals.adoc
UO287687 Feb 11, 2024
b6d9e92
Merge pull request #32 from Arquisoft/UO287687-01_introduction_and_go…
UO287687 Feb 11, 2024
489f76c
Árbol de Calidad hecho
uo276839 Feb 11, 2024
8acb8d0
Tabla acabada en 05_building_block_view.adoc
uo289097 Feb 11, 2024
f77f732
Eliminada errata
uo289097 Feb 11, 2024
7faea7a
Primer borrador del punto 10 de la documentación.
uo276839 Feb 11, 2024
d22e147
Update 12_glossary.adoc
uo276976 Feb 11, 2024
8e058c7
Update 11_technical_risks.adoc
uo276976 Feb 11, 2024
ccdbaf8
Primer borrador punto 9 documentación
uo276839 Feb 12, 2024
c54ec80
Level 1 motivation 05_building_block_view.adoc
uo289097 Feb 12, 2024
01368b1
Update 05_building_block_view.adoc
uo289097 Feb 12, 2024
5d9a8a6
Update 05_building_block_view.adoc
uo289097 Feb 12, 2024
f13fecd
Update 05_building_block_view.adoc
uo289097 Feb 12, 2024
68fb4ca
Merge pull request #35 from Arquisoft/UO276839-Develop
uo276839 Feb 16, 2024
16b8f5c
Update 05_building_block_view.adoc
uo289097 Feb 17, 2024
b5b4749
Update 05_building_block_view.adoc
uo289097 Feb 17, 2024
3a43724
Update 05_building_block_view.adoc
uo289097 Feb 17, 2024
988e118
Update 05_building_block_view.adoc
uo289097 Feb 17, 2024
b3281a9
Update 05_building_block_view.adoc
uo289097 Feb 17, 2024
9825ab3
Update 05_building_block_view.adoc
uo289097 Feb 17, 2024
44f5546
Update 05_building_block_view.adoc
uo289097 Feb 18, 2024
84f5bb8
Update 05_building_block_view.adoc
uo289097 Feb 18, 2024
146b257
Update 05_building_block_view.adoc
uo289097 Feb 18, 2024
f453af2
Merge pull request #37 from Arquisoft/doc05_builiding_block_view
uo289097 Feb 18, 2024
30637f5
Update 06_runtime_view.adoc
uo289097 Feb 18, 2024
c121049
Update 06_runtime_view.adoc
uo289097 Feb 18, 2024
2a56e7a
Update 06_runtime_view.adoc
uo289097 Feb 18, 2024
b72edd5
Update 06_runtime_view.adoc
uo289097 Feb 18, 2024
f35ef8d
Update 06_runtime_view.adoc
uo289097 Feb 18, 2024
706f329
Update 06_runtime_view.adoc
uo289097 Feb 18, 2024
6ae7bcd
Update 06_runtime_view.adoc
uo289097 Feb 18, 2024
48cc104
Update 06_runtime_view.adoc
uo289097 Feb 18, 2024
25d8581
Merge pull request #39 from Arquisoft/doc06_runtime_view
uo289097 Feb 18, 2024
53c2b16
Update 11_technical_risks.adoc
uo276976 Feb 18, 2024
f332b8d
Update 12_glossary.adoc
uo276976 Feb 18, 2024
f72958e
Update 07_deployment_view.adoc
AlbertoFAz Feb 19, 2024
bc7957b
Update 08_concepts.adoc
AlbertoFAz Feb 19, 2024
5f12db5
Merge pull request #43 from Arquisoft/UO179637
UO287747 Feb 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 60 additions & 44 deletions docs/src/03_system_scope_and_context.adoc
Original file line number Diff line number Diff line change
@@ -1,75 +1,91 @@
ifndef::imagesdir[:imagesdir: ../images]

[[section-system-scope-and-context]]
== System Scope and Context
# System Scope and Context


[role="arc42help"]
****
.Contents
System scope and context - as the name suggests - delimits your system (i.e. your scope) from all its communication partners
(neighboring systems and users, i.e. the context of your system). It thereby specifies the external interfaces.

If necessary, differentiate the business context (domain specific inputs and outputs) from the technical context (channels, protocols, hardware).
---

.Motivation
The domain interfaces and technical interfaces to communication partners are among your system's most critical aspects. Make sure that you completely understand them.
## Contents
### Scope and context

.Form
Various options:
This project aims to develop a quiz game.
The main constraints are developing the game as a web app and using Wikidata to obtain the questions and answers.

* Context diagrams
* Lists of communication partners and their interfaces.
---

## Business Context

.Further Information
[role="arc42help"]

See https://docs.arc42.org/section-3/[Context and Scope] in the arc42 documentation.
### Contents

****
* *Users:* They interact directly with the application through the user interface provided by the frontend using React, HTML, CSS, and JavaScript.
* *Wikidata API:* The application communicates with the Wikidata service to obtain questions and answers related to different topics. Requests are made using the HTTP protocol, and response data is received in JSON format.

---

=== Business Context
### Motivation

[role="arc42help"]
****
.Contents
Specification of *all* communication partners (users, IT-systems, ...) with explanations of domain specific inputs and outputs or interfaces.
Optionally you can add domain specific formats or communication protocols.
Regarding the information exchanged with the application, it will require having a registered account to play, and it will also exchange information with a MongoDB database and Wikidata itself to obtain the questions.

.Motivation
All stakeholders should understand which data are exchanged with the environment of the system.
---

.Form
All kinds of diagrams that show the system as a black box and specify the domain interfaces to communication partners.
### Form

Alternatively (or additionally) you can use a table.
The title of the table is the name of your system, the three columns contain the name of the communication partner, the inputs, and the outputs.
|===

****
| *Quiz Game* | *Comunication Partners* | *Inputs* | *Outputs*
| Users | User Interface | User answers | Game questions
| Wikidata API | API Service | Question requests | JSON Responses

**<Diagram or Table>**
|===

**<optionally: Explanation of external domain interfaces>**
---

=== Technical Context
### Context diagram
[plantuml, "context", png]
----
component "App" as app

[role="arc42help"]
****
.Contents
Technical interfaces (channels and transmission media) linking your system to its environment. In addition a mapping of domain specific input/output to the channels, i.e. an explanation which I/O uses which channel.
:User: -> [app]: Answer question
[app] -> User: Return result

database DB
[app] -> DB: Ask for question
DB -> [app]: Return question

.Motivation
Many stakeholders make architectural decision based on the technical interfaces between the system and its context. Especially infrastructure or hardware designers decide these technical interfaces.
component "WikiData" as wd
[app] --> wd: Ask for keyword
wd --> [app]: Return keyword
----

---

## Technical Context

[role="arc42help"]

.Form
E.g. UML deployment diagram describing channels to neighboring systems,
together with a mapping table showing the relationships between channels and input/output.
### Contents

****
* *HTTP Channel:* The application uses the HTTP protocol to communicate with the Wikidata API service.
* *MongoDB Data Channel:* Interactions with the MongoDB database allow for storing and retrieving questions and answers.

**<Diagram or Table>**
---

**<optionally: Explanation of technical interfaces>**
### Deployment diagram
[plantuml, "deployment", png]
----
node "Aplication Server" as app
node "DB Server" as db {
artifact "MongoDB Server"
}
node Wikidata as w
node Interface as i

**<Mapping Input/Output to Channels>**
app - db
app -- w
app -- i
----