Boulkrinat Samia
Samia BOULKRINAT
(Basé sur le cours de Ilhem BOUSSAID )
20/04/2022 1
Plan
Boulkrinat Samia
1 – Introduction
2 – Présentation
3 – Eléments du diagramme
4 – Nœuds de contrôle
5 – Couloirs d’activités
6 – Objets
7 – Actions liées à des signaux
8 – Activité
9 – Démarche pour tracer un diagramme d’activité
10 – Modéliser l’algorithme d’une méthode
11 – Documenter un cas d’utilisation
12- Récapitulatif des types de nœuds
13- Récapitulatif des types d'actions
20/04/2022 2
Boulkrinat Samia
1. Introduction
Utilisé pour décrire :
1. La succession des étapes qu’un système doit accomplir afin de
réaliser une certaine tâche
2. Les use-cases et la façon dont ils sont inter-reliés
3. La représentation des activités concurrentes
Similaire à un diagramme d’état où chaque transition est causée par
la terminaison d’une activité.
Souvent associé à plusieurs classes.
20/04/2022 3
Boulkrinat Samia
1. Introduction
I.1 Objectifs
Représenter les activités séquentielles d’un processus
Chaque activité est une suite d’actions
Modéliser par un graphe orienté {actions, transitions}
Remplir panier
reste des produits
assez de produits
payer produits valider produits
en ligne panier
20/04/2022 4
Boulkrinat Samia
2. Présentation
2.1 Utilisation du diagramme
Représenter un processus métier (point de vue Fonctionnel)
qui fait quoi, où, comment ?
Point de vue Fonctionnel : décrit l’ensemble des actions
réalisées par le système
Point de vue Dynamique : décrit le contenu procédurale
d’une opération d’une classe d’une manière précise
20/04/2022 5
Boulkrinat Samia
2. Présentation
2.2 Description du diagramme
Un cas d’utilisation montre ce que fait ou doit faire le système
Scénario décrit ce que fait l’acteur et le système
Scénario peut être représenté par un diagramme d’activité
Présenter "l’algorithme"
Visualiser l’aspect temporel des interactions
Décrire le sens des interactions (acteur-système)
Distinguer le cas nominal des variantes
20/04/2022 6
Boulkrinat Samia
3. Eléments du diagramme
3.1 Diagramme d'activité
Un état de départ et un état de terminaison
Ensemble d'activité (nœuds du graphe)
Transition entre activités (Contraintes de passage d'une
activité vers une autre)
Couloirs d'activité (swimlanes) : répartition d'activités
entre acteurs
20/04/2022 7
Boulkrinat Samia
3. Eléments du diagramme
Act : Nom_act
Nom de
l'activité
Nom de
l'action Nœud de
Flux
décision
Nœud
initial
Autre ...
action
Nœud
d'action
...
20/04/2022 8
Boulkrinat Samia
3. Eléments du diagramme
Activité : action (une opération élémentaire) ou traitement à un
niveau plus fin d’une activité.
Activité composite : ensemble d'activités hiérarchiquement
imbriquées.
Transition : passage d’une activité à l’autre autre.
Nom de
l'action
Nom de {Poids=n} Autre
l'action action
Autre
action 2
20/04/2022 9
Boulkrinat Samia
4. Nœuds de contrôle
Nœud(s) initial /initiaux : marquant le début d’activité(s) unique ou
des flots concurrents
Nœud final : terminant la/les activité(s)
20/04/2022 10
Boulkrinat Samia
4. Nœuds de contrôle
Nœud de décision (choix, alternative) : un branchement conditionnel
via un losange d’où partent toutes les alternatives.
[condition a]
action autre action
Nœud de [condition b]
décision
Garde
Nœud de fusion : est un nœud de contrôle rassemblant plusieurs
flots alternatifs entrants en un seul flot sortant.
... ...
Nœud de
fusion
20/04/2022 11
Boulkrinat Samia
4. Nœuds de contrôle
Synchronisation :
1. Concurrence : Début d’une exécution en parallèle (fork).
2. Synchronisation : Si tous les flots entrants sont prêts, on continue (join).
Réceptionner matériel
Fork
Contrôler Vérifier
matériel facture
Join
Inventorier matériel
20/04/2022 12
Boulkrinat Samia
4. Nœuds de contrôle
Itération : Deux manières de représenter l’itération.
1 2
Emprunter Emprunter
livres livres
* Pour chaque livre Vérifier
disponibilité
Vérifier
disponibilité [ livre disponible ]
[ livre disponible ]
Réaliser
emprunt
Réaliser
emprunt
[ reste livre à emprunter ]
[plus de livre]
20/04/2022 13
Boulkrinat Samia
4. Nœuds de contrôle
Nœud initial 1
Condition de garde 3
Activité 2
Nœud de
4
décision
Bifurcation ou
débranchement 5
(fork)
Union ou
jointure (join)
6
Nœud de
7 fusion
Nœud final 8
20/04/2022
Boulkrinat Samia
5. Couloirs d’activités
Couloirs d’activités (Swimlanes) :
1. Chaque partitions situe les actions par rapport aux entités du système
2. Entité peut être : acteur, classe, objet, système
3. Une action ne participe qu’à une partition
Client Commercial Magasinier
Passer commande
Payer Enregistrer commande Exécuter commande
Livrer commande
Récupérer commande
1 2 3
20/04/2022
Boulkrinat Samia
6. Objets
6.1 Objectif
Un objet peut apparaître dans un diagramme d’activité, au sein
des couloirs d’activités ou en dehors
Objet
Objet 1
[état]
Utilisation des objets :
En entrée ou en sortie d’une action
Pour représenter des flux d’objets ou des changements d’état
Représentation des flux d’objets :
Action Objet Action
{effet de {effet
sortie} 2 d'entrée}
Connecteur Connecteur
3
Objet Objet
Action Objet Action
{effet de {effet
sortie} d'entrée}
20/04/2022
Boulkrinat Samia
6. Objets
6.2 Exemple
20/04/2022 17
Boulkrinat Samia
7. Actions liées à des signaux
7.1 Objectif
Un signal est une information provenant d’une action
externe à l’activité en cours : "arrivée d’une commande"
Un signal temporel exprime le passage du temps :
"attendre 10 seconde", "fin du mois", . . .
Réception action
action Action d’envoi
d’un signal
d’un signal
1 2
Réception
d’un signal
temporel
20/04/2022 18
Boulkrinat Samia
7. Actions liées à des signaux
7.2 Exemple
Fin du Envoyer le
1 rapport mensuel Demande
mois
d'annulation
Annuler la
3 commande
Attendre 2 heures
Traiter la Demander Réception du Envoyer la
4 commande paiement commande
paiement
20/04/2022 19
Boulkrinat Samia
8. Activité
8.1 Objectif
Encapsulation du flux des actions qui la réalisent
Paramétrée par les objets entrant
Résultat de
Paramètres sortie
d'entrées Ensemble
d'actions
1 3 4
2 3
20/04/2022 20
Boulkrinat Samia
8. Activité
8.2 Exemple
20/04/2022 21
Boulkrinat Samia
8. Activité
8.3 Exemple
20/04/2022 22
Boulkrinat Samia
8. Activité
8.4 Exemple
20/04/2022 23
Boulkrinat Samia
Identifier le processus à représenter.
1. S’agit-il d’un UC ? Un processus métier englobant plusieurs UC? Une
méthode d’une classe ?
2. Ajouter au diagramme une note avec le nom et une description du
processus
Ajouter les nœuds initial et final
Ajouter les activités /actions
1. Une activité pour chaque étape majeur du UC ou du processus
2. Les actions pour chaque activité et les actions individuelles du processus
Ajouter les transitions entre les activités / actions
Ajouter les branchements
1. Les décisions à prendre (décision / fusion)
2. Les activités à réaliser en parallèle (fork / join)
20/04/2022 24
Boulkrinat Samia
10.1 Exemple
Une chaîne en langage C, est codée comme un tableau de caractères
non nuls, terminé par un caractère spécial. Exemple : s=hello! est
codée s[0] =’h’, s[1]= ’e’, s[2]=’l’, s[3]=’l’, s[4]=’o’, s[5]=’ !’, s[6]=’\0’
La fonction strlen prend en entrée un tableau de caractères et rend en
sortie un entier relatif à la taille de la chaîne
1 Paramètre 2
en entrée
Programme C de
la fonction strlen
Paramètre
en sortie Diagramme d’activité de
la fonction strlen
20/04/2022 25
11. Documenter un cas d’utilisation
Boulkrinat Samia
11.1 Exemple
Pour s’inscrire dans une formation, le candidat doit :
Remplir les formulaires.
Vérifier les formulaires. S’ils sont incorrects, demander de l’aide
avant de les remplir à nouveau.
Soumettre l’inscription, si les formulaires sont corrects.
Payer les taxes (droits d’inscription) d’une part et comparaître à la
journée d’accueil d’autre part, si l’inscription est acceptée.
20/04/2022 26
11. Documenter un cas d’utilisation
Boulkrinat Samia
11.2 Démarche
1. Processus à représenter :
Demande d’inscription
2. Activités :
Remplir le formulaire
Vérifier le formulaire
Demander de l’aide
Soumettre inscription
Payer les taxes
Comparaître journée d’accueil
3. Décisions :
Si les formulaires sont corrects
Si l’inscription est acceptée
4. Activités parallèles :
Payer taxes
Comparaître journée d’accueil
20/04/2022 27
11. Documenter un cas d’utilisation
Boulkrinat Samia
11.3 Diagramme d'activité
Demande d’inscription
Activités
Processus
à représenter
Décision
Nœud
de fusion
Synchronisation
Nœud
alternative
Activités
parallèles
20/04/2022 28
12. Récapitulatif des types de nœuds
Boulkrinat Samia
Type de nœud Symbole Description
Point de démarrage Début du diagramme.
Point d'arrêt Fin du diagramme
Alternative Pour choisir entre plusieurs flots sortants. Il a un arc entrant et plusieurs
arcs sortants, avec une conditions de garde.
Fusion Nœud rassemblant plusieurs flots alternatifs entrants en un seul flot sortant
Synchronisation Réalisation de Branchement (fork) : concurrence ou parallèle et Jonction
(join) : réaliser plusieurs actions pour réaliser une action en-dessous
Fin de flot Fin d'un flot d'activité
Action Opérations et traitement à réaliser
Lot d'action Actions du cas d’utilisation correspond à l’appel d’un cas d’utilisation
interne (lié par « include » ou « extend »).
Transition Passage d'une activité vers une autre
Couloirs Ils indiquent qui (l’utilisateur ou le système) réalise les actions
(Swimlanes)
Activité structurée Représentant une partie structurée d'une activité. Trois types de nœud
d'activité structurée: conditionnel, boucle et séquentiel.
20/04/2022 29
13. Récapitulatif des types d'actions
Boulkrinat Samia
Action Symbole Description
Appeler (Call Operation) Invocation d'une opération sur un objet
Comportement Invocation d'une activité
(Call Behaviour)
Envoyer (Send) Création d'un un message et transmission à un objet cible
Accepter événement (Accept Cette action bloque l'exécution en cours jusqu'à la réception
Event) du type d'événement spécifié,
Accepter appel (Accept Call) Il s'agit d'une variante de l'action Accept event pour les
appels synchrones.
Répondre (Reply) Transmettre un message en réponse à la réception d'une
action de type Accept call.
Créer (Create) Instanciation d'un objet
Détruire (destroy) Destruction d'un objet.
Lever exception (raise Lever explicitement une exception.
exception)
Accepter événement temps Signal temporel exprimant le passage du temps.
(Accept Time Event)
Encapsulation Encapsulation d'un flux d'activités.
Pin d'entrée ou de sortie Spécifier les valeurs passées en argument à une activité et
d'une activité les valeurs de retour
20/04/2022 30