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

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 :

La figure 16.1 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.

DébutActivitéRédiger codeNœud d'objetCode modifiéDécision et fusionGardermodifications ?OuiNonAjouter code àstagingCode prêt à enregistrerau depôt GitFaire « commit »au dépôt GitDéfaire modificationsau codeFin

Figure 16.1: Diagramme d’activité pour un processus simple avec Git. (PlantUML)

16.1 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) . 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 figure 16.2. 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.

CréerClassroomImporter liste de classe(Identifiants Moodle)CréerAssignment(Individual/Team)Partager (courriel) URL d'invitationOuvrir URLChoisir identifiant MoodleChoisir équipe (ou créer équipe)Dupliquer dépôt(au besoin, avec le compted'un(e) membre de l'organisation)Enseignant ou EnseignanteÉtudiant ou ÉtudianteGitHub

Figure 16.2: Diagramme d’activités pour les activités séquentielles de GitHub Classroom (contexte de l’ÉTS avec Moodle). (PlantUML)

16.2 Exercices

Ces exercices devraient vous aider à comprendre les diagrammes d’activités en UML. Vous devez vous référer au livre de Larman (2005) pour la bonne notation (chapitre F25/A28 ).

Note

Vous pouvez dessiner les diagrammes à la main et en prendre une photo avec une application comme Microsoft Lens (Android, iOS).

Vous pouvez également utiliser PlantUML. Voici des ressources à ce propos :

Méfiez-vous des outils comme Lucidchart ayant seulement des profils superficiels (sans règles) pour l’UML. Voir la figure 13.5 pour plus de détails.

Exercice 16.1 (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.

Exercice 16.2 (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.

Exercice 16.3 (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.