0% ont trouvé ce document utile (0 vote)
63 vues7 pages

Cours UML - Diag Activités

Transféré par

Zexal El
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
63 vues7 pages

Cours UML - Diag Activités

Transféré par

Zexal El
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ENSA Marrakech Cours UML/C# – GI3 Pr Bouzid

2023-2024

IV. Diagramme d’activités

1) Définition
Les diagrammes d’activités sont utilisés pour modéliser l’aspect dynamique d’un système
sous forme de processus (workflow). D’un point de vue métier, ils sont utiles pour décrire les
processus métier d’une entreprise.
Concrètement en UML, ils servent à décrire graphiquement le comportement d’un cas
d’utilisation ou d’une méthode. De plus, la fiche descriptive d’un cas d’utilisation peut
contenir plusieurs scénarios alternatifs et/ou d’exception, il est difficile d’avoir une vision de
l’ensemble des actions. Les diagrammes d’activités viennent ainsi illustrer et consolider la
description textuelle des cas d’utilisation.
2) Eléments d’un diagramme d’activités
Un diagramme d’activités est composé de :
- Actions :
Une action est le plus petit traitement qui puisse être exprimé en UML. Les actions sont des
étapes simples à partir desquelles se construisent des comportements (tels que les activités).
La notion d'action est à rapprocher de la notion d'instruction élémentaire d'un langage de
programmation (comme C++ ou Java). Une action peut être, par exemple :
o une affectation de valeurs à des attributs
o un accès à la valeur d’une propriété structurelle
o la création d’un nouvel objet ou lien
o un calcul arithmétique
o l’émission d’un signal
o la réception d’un signal
o …
Graphiquement en UML, les actions apparaissent dans ce qu’on appelle des nœuds
d’actions : il s’agit d’un nœud d'activité exécutable (i.e. une fonctionnalité exécutable dans
une activité) qui a la forme d’un rectangle avec des coins arrondis. Un nœud d’action doit
avoir un arc entrant.
Notation :

- Activités :
Une activité définit un comportement décrit par un séquencement organisé d'unités dont les
éléments simples sont les actions. Ce séquencement, appelé flot d’exécution, est modélisé
par des nœuds reliés par des transitions (arcs). Une activité peut en plus comporter des
paramètres en entrée ou en sortie (comme pour les opérations et méthodes).

1
ENSA Marrakech Cours UML/C# – GI3 Pr Bouzid
2023-2024

Notation :

N.B : Une activité regroupant des nœuds et des transitions est ce qu’on appelle un «
groupe d'activités ». Un diagramme d’activité est lui-même un groupe d’activités.
Remarque 1 :
Même si les actions et activités peuvent se ressembler au niveau de leur notation, leur sens
diffère. Une activité est un traitement complexe et décomposable en d’autres activités ou en
actions. Une activité peut être interrompue par un événement. Elle peut faire l'objet d'une
description par un diagramme d'activités et on peut y faire référence (appel d’une activité
décrite dans un diagramme). Une action est un traitement simple et non décomposable.
Exemple : Activité « Process Order »

Remarque 2 :
Une activité peut être appelée par une autre activité dans un diagramme. Il s’agit souvent du
cas des relations « include » ou « extend ». La référence à l’activité est représentée par 2
cercles reliés par un trait. Cette référence permet d’alléger le visuel des diagrammes
d’activités.
Exemple :

2
ENSA Marrakech Cours UML/C# – GI3 Pr Bouzid
2023-2024

- Transitions :

Une transition relie une action ou activité à une autre. Elle est modélisée par une flèche.
Exemple :

- Nœuds d’activités :
Un nœud d'activité est un type d'élément abstrait permettant de représenter les étapes d’un
flot d’exécution d'une activité. Il existe 3 types de nœuds :
• Nœuds d’exécution : donnent lieu à l’exécution d'actions (telles que les actions d’un
scénario d’un use case). Les nœuds d’actions (vu en haut) en font partie. Les nœuds
d’exécution sont représentés graphiquement par des rectangles avec des coins
arrondis
• Nœuds de contrôle
• Nœuds d’objet

o Nœuds de contrôle :
Ils permettent de coordonner les traitements entre les activités/nœud d’exécution. Il existe
plusieurs types de nœuds de contrôle.
a. Nœud initial : il s’agit du point de démarrage de l’activité enveloppante
(principale).
Notation :

b. Nœud final : il s’agit du nœud de fin d’activité. L'exécution de l'activité


enveloppante s'achève et tout nœud ou flot actif au sein de l'activité
enveloppante est abandonné.

Notation :

c. Nœud de fin de flot (flow final) : permet de mettre fin à un flot d’exécution
particulier, pour ne pas mettre fin à toute l’activité. En effet, lorsqu’un flot
d’exécution atteint un nœud de fin de flot, le flot en question est terminé,
mais cette fin de flot n’a aucune incidence sur les autres flots actifs de
l’activité enveloppante.
Notation :

d. Nœud de décision / fusion (decision / merge) :


Un nœud de décision (appelé aussi branchement conditionnel) permet de
faire un choix entre plusieurs flots sortants. Il possède un arc entrant et
plusieurs arcs sortants. Les arcs sont accompagnés de conditions de garde
(généralement mises entre crochets). Pour que la transition soit franchie, il
faut que la condition soit remplie.

3
ENSA Marrakech Cours UML/C# – GI3 Pr Bouzid
2023-2024

Un nœud de fusion permet de rassembler plusieurs flots alternatifs entrants


en un seul sortant (il suffit que l’une des conditions de garde soit vraie pour
que le nœud soit franchi). Il n’est pas utilisé pour synchroniser des flots
concurrents (c’est le rôle du nœud d’union).
Graphiquement, les nœuds de décision et de fusion ont la même notation.
Notation :

e. Nœud de bifurcation / d’union (fork / join) :


Le nœud de bifurcation permet à partir d’une transition, démarrer plusieurs
flots concurrents. Les actions sortantes de la bifurcation sont déclenchées en
simultané et traitées en parallèle.
Le nœud d’union permet à partir de plusieurs flots entrants de synchroniser
les traitements vers un seul flot sortant (ou des flots sortants parallèles). Le
nœud d’union ne peut être franchie que lorsque toutes les transitions en
entrée (sur la barre) sont déclenchées, et donc lorsque toutes les actions en
amonts sont toutes finies (d’où la notion de synchronisation).
Graphiquement, les nœuds bifurcation et d’union ont la même notation : une
barre horizontale ou verticale.
Notation :

Exemple récapitulatif : Traitement d’une commande d’un client

o Nœud d’objet :
Les objets de classes peuvent être représentés dans un diagramme d'activités. Ils sont
utilisés ou modifiés par des actions et ils peuvent aussi initier des actions. Ces objets

4
ENSA Marrakech Cours UML/C# – GI3 Pr Bouzid
2023-2024

représentent concrètement des flots de données tels que des arguments d’opérations, des
valeurs de retour, etc. On les représente grâce à des nœuds d'objet dont la notation en UML
est un rectangle.
Notation :
: Type
[état] {contrainte}

Les nœuds d'objet sont liés à des activités/actions sources et cibles par des transitions
appelée flot d’objet (object flow). L’état (ou une liste d'états) de l'objet peut être précisé
entre crochets après ou sous le type de l'objet. On peut également préciser des contraintes
entre accolades, soit à l'intérieur, soit en dessous du rectangle du nœud d'objet.
Exemple :

Remarque :
Un magasin de données peut aussi être représenté dans un diagramme d’activité. L’objectif
est de représenter la persistance des données quand y a besoin. On parle dans ce cas de
nœud de stockage de données et il est représenté comme un objet avec le stéréotype
«datastore».
Notation :

- Les couloirs d’activités (Swimlanes) :


Ils permettent d’indiquer les différentes responsabilités au sein d’un processus. Ainsi, un
diagramme d'activités peut être divisé en partitions qu’on appelle des couloirs d'activités,
chaque partition comprend les actions exécutées par un acteur, une unité organisationnelle
d’une entreprise, le système de manière générale, ou une classe du système. Chaque activité
est allouée à un couloir correspondant à la ressource concernée.
Exemple : cas d’une authentification

5
ENSA Marrakech Cours UML/C# – GI3 Pr Bouzid
2023-2024

3) Exemple d’application
Une société souhaite passer des commandes auprès d’un fournisseur pour l’achat d’un
ensemble de matières premières. Le processus se déroule comme suit :
- le client passe la commande en ligne en remplissant un formulaire
- le service comptable du fournisseur vérifie d’abord la disponibilité des produits puis
établit un devis au client avec le total du prix de la commande
- le client étudie le devis de son fournisseur pour validation : soit il est d’accord et
donc il valide le devis, soit il n’est pas satisfait et donc il annule la commande. Dans
ce dernier cas le processus de commande s’achève. Par contre, dans le cas d’une
validation :
o le service comptable de la société établit une facture et demande au service
livraison de préparer la commande en même temps avec le bon de livraison
o une fois la facture envoyée au client, ce dernier doit la régler
o quand le client paye, le service comptable valide ce paiement
o le service livraison procède ensuite à la livraison de la commande
(uniquement si la commande est prête et le paiement est validé)
o enfin, après livraison, le service comptable clôture le dossier de la commande
du client
Voici le diagramme d’activités correspondant à ce processus de passation de commande :

6
ENSA Marrakech Cours UML/C# – GI3 Pr Bouzid
2023-2024

Vous aimerez peut-être aussi