Skip to content

Commit

Permalink
Merge pull request #25 from Arquisoft/uo238688
Browse files Browse the repository at this point in the history
Uo238688
  • Loading branch information
marcosMachadoMenendez authored Feb 18, 2024
2 parents 4dc06de + cd24984 commit ab5e8cb
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 104 deletions.
Binary file added docs/images/diag_contexto_business.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/diag_contexto_tecnico.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
85 changes: 27 additions & 58 deletions docs/src/03_system_scope_and_context.adoc
Original file line number Diff line number Diff line change
@@ -1,75 +1,44 @@
ifndef::imagesdir[:imagesdir: ../images]

[[section-system-scope-and-context]]
== System Scope and Context
== Ámbito del sistema y contexto


[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.
=== Contexto de negocio

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.
image::diag_contexto_business.png["Diagrama de contexto de negocio"]

.Form
Various options:
[cols="1,1"]
|===
|Actor |Descripción

* Context diagrams
* Lists of communication partners and their interfaces.
|Usuario
|Los usuarios interactuan con el sistema viendo y respondiendo preguntas

|Wikidata
|Las preguntas y sus respuestas se obtienen de wikidata
|===

.Further Information
=== Contexto técnico

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

****
image::diag_contexto_tecnico.png["Diagrama de contexto técnico"]

[cols="1,1,1"]
|===
|Interfaz |Descripción |I/O

=== Business Context
|Usuario
|Los usuarios interactuan con el WebApp del sistema viendo y respondiendo preguntas
|Salida: acciones del usuario

[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.
|Azure
|La WebApp del sistema se despliega en Azure y muestra a los usuarios información obtenida de la API de Wikidata
|Entrada: acciones del usuario y datos de preguntas +
Salida: preguntas y respuestas generadas automáticamente

.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.
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.
****

**<Diagram or Table>**

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

=== Technical Context

[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.
.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.
.Form
E.g. UML deployment diagram describing channels to neighboring systems,
together with a mapping table showing the relationships between channels and input/output.
****

**<Diagram or Table>**

**<optionally: Explanation of technical interfaces>**

**<Mapping Input/Output to Channels>**
|Wikidata
|El sistema llama a la API REST de wikidata para obtener los datos de las preguntas y respuestas que se generarán automáticamente
|Salida: datos de preguntas
|===
105 changes: 59 additions & 46 deletions docs/src/10_quality_requirements.adoc
Original file line number Diff line number Diff line change
@@ -1,73 +1,86 @@
ifndef::imagesdir[:imagesdir: ../images]

[[section-quality-scenarios]]
== Quality Requirements
== Requisitos de calidad


[role="arc42help"]
****
=== Árbol de calidad

.Content
This section contains all quality requirements as quality tree with scenarios. The most important ones have already been described in section 1.2. (quality goals)

Here you can also capture quality requirements with lesser priority,
which will not create high risks when they are not fully achieved.
[cols="1,1,1,1"]
|===
|Categoría |Calidad |Descripción |Escenario

.Motivation
Since quality requirements will have a lot of influence on architectural
decisions you should know for every stakeholder what is really important to them,
concrete and measurable.
|Adecuación funcional
|Corrección funcional
|El sistema deberá marcar que las respuestas correctas a las preguntas se corresponden con wikidata
|SC1

|Eficiencia de desempeño
|Comportamiento temporal
|El sistema deberá responder a las acciones de los usuarios en menos de 5 segundos bajo condiciones normales
|SC2

.Further Information
|
|Utilización de recursos
|El sistema deberá usar recursos inferiores a los establecidos por Azure
|

See https://docs.arc42.org/section-10/[Quality Requirements] in the arc42 documentation.
|Seguridad
|Integridad
|El sistema deberá proteger los datos del usuario contra accesos y modificaciones no autorizados
|

****
|Usabilidad
|Reconocibilidad de la adecuación
|El sistema deberá ser fácil de usar para un usuario que conozca "Saber y ganar"
|SC3

=== Quality Tree
|
|Estética de la interfaz de usuario
|El sistema deberá tener una interfaz que facilite al usuario jugar correctamente
|

[role="arc42help"]
****
.Content
The quality tree (as defined in ATAM – Architecture Tradeoff Analysis Method) with quality/evaluation scenarios as leafs.
|Mantenibilidad
|Capacidad para ser modificado
|La capa de interfaz deberá estar separada de la lógica de negocio
|

.Motivation
The tree structure with priorities provides an overview for a sometimes large number of quality requirements.
|
|Capacidad para ser probado
|Se deberán poder crear pruebas unitarias
|

.Form
The quality tree is a high-level overview of the quality goals and requirements:
|Portabilidad
|Adaptabilidad
|El sistema deberá porder usarse en las últimas versiones de Chrome y Firefox
|

* tree-like refinement of the term "quality". Use "quality" or "usefulness" as a root
* a mind map with quality categories as main branches
|Fiabilidad
|Disponibilidad
|El sistema deberá registrar un fallo cuando no sea posible obtener datos de la API de wikidata correctamente
|SC4

In any case the tree should include links to the scenarios of the following section.
|===


****
=== Escenarios de calidad

=== Quality Scenarios
[cols="1,1"]
|===
|ID |Escenario

[role="arc42help"]
****
.Contents
Concretization of (sometimes vague or implicit) quality requirements using (quality) scenarios.
|SC1
|Un usuario puede comprobar que la respuesta correcta a su pregunta coincide con Wikidata

These scenarios describe what should happen when a stimulus arrives at the system.
|SC2
|Al responder una pregunta, el sistema muestra si es correcta o falsa en menos de 5 segundos

For architects, two kinds of scenarios are important:
|SC3
|Un nuevo usuario que conozca "Saber y ganar" puede aprender a jugar en menos de 5 minutos

* Usage scenarios (also called application scenarios or use case scenarios) describe the system’s runtime reaction to a certain stimulus. This also includes scenarios that describe the system’s efficiency or performance. Example: The system reacts to a user’s request within one second.
* Change scenarios describe a modification of the system or of its immediate environment. Example: Additional functionality is implemented or requirements for a quality attribute change.
|SC4
|Si no se puedan obtener datos de Wikidata, se le mostrará un mensaje de error al usuario al generar la pregunta

.Motivation
Scenarios make quality requirements concrete and allow to
more easily measure or decide whether they are fulfilled.
|===

Especially when you want to assess your architecture using methods like
ATAM you need to describe your quality goals (from section 1.2)
more precisely down to a level of scenarios that can be discussed and evaluated.
.Form
Tabular or free form text.
****

0 comments on commit ab5e8cb

Please sign in to comment.