-
Notifications
You must be signed in to change notification settings - Fork 2
/
Fiabilité.qmd
55 lines (37 loc) · 3.54 KB
/
Fiabilité.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Fiabilité
Le chapitre A36/F30\ {{< fa solid book >}} présente le problème de la fiabilité pour le système NextGen POS.
C'est le basculement vers un service local en cas d'échec d'un service distant.
![Comment tolérer une panne de connexion ou de service? Dans un système comme NextGen POS, des pannes de systèmes externes, comme les calculateurs de taxes ou la base de données des descriptions de produits, peuvent arriver et doivent être tolérées pour permettre les ventes de produits.](images/PanneConnexionService.svg "Comment tolérer une panne de connexion ou de service?"){width=70% #fig-PanneConnexionService}
Voici les points importants:
- Définition des termes, F30.3/A36.3\ {{< fa solid book >}}:
- **Faute:** la cause première du problème.
- **Erreur:** la manifestation de la faute lors de l'exécution. Les erreurs sont détectées (ou non).
- **Échec:** déni de service causé par une erreur.
- Les solutions proposées par l'architecte système et documentées par Larman impliquent les concepts suivants:
- Mise en cache locale d'informations recherchées au service distant, F30.2/A36.2\ {{< fa solid book >}}.
- Utilisation d'Adaptateur [@GoF1994] pour réaliser le service redondant (lecture d'information), F30.2/A36.2\ {{< fa solid book >}}.
- Réalisation d'un scénario dans le cas d'utilisation pour supporter l'échec de tout (rien ne va plus) en permettant au Caissier de saisir l'information (description et prix), F30.3/A36.3\ {{< fa solid book >}}.
Dans ce cas, il faut bien gérer les exceptions.
- Utilisation de Procuration (Proxy) de redirection [@GoF1994] pour basculer vers un service local en cas de panne (écriture d'information), F30.4/A36.4\ {{< fa solid book >}}.
::: {.callout-important}
Faire une conception pour la fiabilité nécessite de l'expérience (ou l'utilisation des patterns). Le livre de @hanmer_patterns_2007 est une bonne référence pour en savoir plus.
L'utilisation de services dans le nuage (infonuagique) amène une redondance de serveurs.
Cependant, même un service Web a besoin de [redondance dans les zones géographiques](https://aws.amazon.com/about-aws/global-infrastructure/), car une erreur de configuration ou une crise régionale (ouragan, tremblement de terre) pourraient affecter toute une grappe de serveurs.
:::
## Exercices
::: {#exr-faute_erreur_echec}
### Faute, Erreur, Échec
Pour chaque scénario, indiquez la faute, l'erreur et l'échec (selon les définitions dans ce manuel).
**Scénario 1: Guichet automatique**
Lors de son contrôle d'un guichet automatique, une technicienne constate qu'il n'y a plus de billets.
Alors, elle remet des billets de 20 \$ et de 50 \$.
La prochaine personne qui utilise ce guichet automatique indique qu'elle veut retirer 100 \$, mais elle est surprise quand elle reçoit 5 billets de 50 $ (pour 250 \$).
- Faute: <!-- La technicienne a mal posé les billets -->
- Erreur: <!-- personne constate qu'elle reçoit plus d'argent que demandé -->
- Échec: <!-- Trop d'argent a été versé vers la personne -->
**Scénario 2: Vaisseau spatial**
Une mise à jour du logiciel de contrôle sur un vaisseau spatial est effectuée par un ingénieur sur Terre. Ce nouveau programme contient une mauvaise référence pour stocker les valeurs de configuration du réacteur. Lorsque le programme effectue ce stockage, il y a une corruption du programme qui contrôle l'orientation de l'antenne pour la communication avec la Terre. Ensuite, l'antenne ne pointe plus vers la Terre, et la communication est coupée à jamais.
- Faute:
- Erreur:
- Échec:
:::