-
Notifications
You must be signed in to change notification settings - Fork 2
/
DiagrammesActivites.qmd
128 lines (97 loc) · 5.51 KB
/
DiagrammesActivites.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# Diagrammes d'activités
Ce chapitre contient des informations sur les diagrammes d'activités en UML. Les détails se trouvent dans le chapitre F25/A28\ {{< fa solid book >}}.
::: {.callout}
Les diagrammes d'activités servent à modéliser des processus d'affaires (de métier), des enchaînements d'activités (*workflows*), des flots de données et des algorithmes complexes.
:::
Voici les éléments importants d'un diagramme d'activités:
- début et fin (activité)
- partition
- action
- nœud d'objet
- débranchement et jointure (parallélisme)
- décision et fusion (exclusion mutuelle)
La @fig-ActivityDiagramExampleGitCommit présente un exemple de diagramme d'activité décrivant de manière générale une partie du processus de travail d'une personne utilisant `git` pour la gestion de code source.
```{.plantuml genurl="true" #fig-ActivityDiagramExampleGitCommit caption="Diagramme d'activité pour un processus simple avec Git." }
@startuml
!include normal.pumlinclude
skinparam DefaultTextAlignment center
start
note right : Début
:Rédiger code;
note right : Activité
:Code modifié]
note right : Nœud d'objet
if (Garder\nmodifications ?) then (Oui)
note right : Décision et fusion
:Ajouter code à
//staging//;
:Code prêt à enregistrer
au depôt Git]
:Faire « commit »
au dépôt Git;
else (Non)
:Défaire modifications
au code;
endif
stop
note right : Fin
@enduml
```
## Diagrammes de flots de données (DFD)
Pour la modélisation de flots de données, il existe une notation pour les [diagrammes de flots de données (DFD)](https://fr.wikipedia.org/wiki/Diagramme_de_flux_de_donn%C3%A9es)\ {{< fa brands wikipedia-w >}}.
Il ne s'agit pas de l'UML, mais cette notation est encore utilisée (depuis les années 1970).
Un exemple de diagramme d'activités dans le cadre d'un cours de programmation utilisant GitHub Classroom est illustré sur la @fig-GitHubClassroomActivities.
Ce diagramme explique comment GitHub Classroom permet à l'étudiant ou étudiante qui accepte un devoir (*assignment* en anglais) sur GitHub Classroom de choisir son identité universitaire (activité en couleur rose), mais seulement si l'enseignant ou enseignante a téléversé la liste de classe (activité en couleur rose) *avant* d'envoyer les invitations à la communauté étudiante.
```{.plantuml genurl="true" #fig-GitHubClassroomActivities caption="Diagramme d'activités pour les activités séquentielles de GitHub Classroom (contexte de l'ÉTS avec Moodle)." }
@startuml
!include normal.pumlinclude
skinparam DefaultTextAlignment center
'title Enchaînement d'activités pour chaque //classroom// (groupe-cours)
|Enseignant ou Enseignante|
start
:Créer
//Classroom//;
#ffdddd:Importer liste de classe
(Identifiants Moodle);
:Créer
//Assignment//
(//Individual/Team//);
:Partager (courriel) URL d'invitation;
|#ddffdd|Étudiant ou Étudiante|
:Ouvrir URL;
#ffdddd:Choisir identifiant Moodle;
:Choisir équipe (ou créer équipe);
|GitHub|
:Dupliquer dépôt
(au besoin, avec le compte
d'un(e) membre de l'organisation);
stop
@enduml
```
## Exercices
Ces exercices devraient vous aider à comprendre les diagrammes d'activités en UML.
Vous devez vous référer au livre de @craig_uml_2005 pour la bonne notation (chapitre F25/A28 \faBook<i class="fa-solid fa-book"></i>).
{{< include _callout_conseils_diagrammes.qmd >}}
::: {#exr-locationVoitures}
### Location de voitures
Esquissez le diagramme d'activités lors de la réception de voitures louées (après la location) dans une compagnie.
Pour le diagramme, faites attention à la **notation UML**: cela comprend les objets (pour la voiture et pour la facture), le début et la fin de l'activité, les débranchements, les jointures, les décisions et les fusions.
- Les rôles sont le client, le réceptionniste (qui gère la documentation et le paiement de la location) et l'agent (qui gère le traitement des voitures avant la prochaine location).
- Le client rend la voiture et les clés au réceptionniste.
- Le réceptionniste note le kilométrage et le niveau d'essence pour calculer la facture.
- Le client paye sa location, selon le montant sur la facture.
- L'agent inspecte la voiture pour la propreté. Si elle n'est pas assez propre, alors l'agent doit laver, rincer et sécher l'extérieur et nettoyer l'intérieur. Ce travail devrait commencer le plus vite possible, après que le réceptionniste a fini de noter les informations pour la facture.
Voir [une solution avec PlantUML](http://www.plantuml.com/plantuml/uml/PP71QeH038RlUOf0B_eAqqDtAHGAPIaMsbCFWnirg9dfJ1GMV26VmnVhwEuMf9U1_FcI_CaSejgWGzz1R5cy3RR7g9UEqXkut3BJSySaEi76WYb8pe4GFXth4EWHfeUZAFyCzDMmqbGiSqbUsObmJ36O6uca26MtpF4RpCaf1MpxJHGUoGv8CPAKgMFbGWkcNcPPvf0mg6nvctKtOrwkKchrRYyxPgr6MriMc8xrbNwLwAbSHy9uzyqLPZuu7-WfHsr8C7C3vq1T9Cp4IGxcpOwx6bDmShXJFjA-pLuwaQhRJB5eMe5f270cx2p-GUcANC7_QoKTj_sZEW-75AwVy0i0).
:::
::: {#exr-DevoirMoodle}
### Soumission de devoir Moodle
Dessinez un diagramme d'activités qui modélise ce qui se passe lorsque vous faites un devoir dans Moodle.
Votre diagramme doit comprendre les activités de l'enseignant et de l'étudiant (dans les partitions séparées).
Le devoir doit être un _objet_ dans le diagramme.
:::
::: {#exr-DevoirGoogleClassroom}
### Soumission de devoir Google Classroom
Dessinez un diagramme d'activités qui modélise ce qui se passe lorsque vous faites un devoir dans Google Classroom.
Votre diagramme doit comprendre les activités de l'enseignant et de l'étudiant (dans les partitions séparées).
Le devoir doit être un _objet_ dans le diagramme.
:::