Vous êtes sur la page 1sur 33

V.

DIAGRAMME D'ACTIVITES

● 1. Présentation
● 2. Action
● 3. Activité et nœud d'activité
● 4. Transition
● 5. Les partitions ou couloirs d'activités
● 6. Exercices d'application
1. Présentation
Un diagramme d'activités (activités et transitions)
● Est une variante du diagramme d'états-transitions
● Visualise un graphe d'activités qui modélise le
comportement interne :
- D'une méthode (une réalisation d'une opération)
- D'un cas d'utilisation
- D'un processus impliquant un ou plusieurs
classificateurs (classes / cas d'utilisation /...).
● Ne représente ni la collaboration, ni le comportement
des objets.
1. Présentation (suite)
Un diagramme d'activités (activités et transitions)
● Utile pour la représentation des processus métiers et les
cas d'utilisation.
● Offre une vision proche des langages de programmation
impératif comme C++ ou Java.
● En théorie, tous les mécanismes dynamiques pourraient
être décrits par un diagramme d'activités, mais seuls les
mécanismes complexes ou intéressants méritent d'être
représentés.
2. Action

Une action
● Est le plus petit traitement qui puisse être exprimé
en UML.
● A une incidence sur l’état du système ou en extrait
une information
● La notion d’action est à rapprocher de la notion
d’instruction élémentaire d’un langage de
programmation (comme C++ ou Java).
2. Action (suite)
Une action peut être, par exemple :
● Une affectation de valeur à des attributs ;
● Un accès à la valeur d’une propriété structurelle
(attribut ou terminaison;
● La création d’un nouvel objet ou lien ;
● Un calcul arithmétique simple ;
● L’émission d’un signal ;
● La réception d’un signal
Il existe plusieurs types d'actions :
2. Action (suite)
● Nous distinguons graphiquement plusieurs types
d'actions associés à une communication:
● Send signal,
● Accept event
● Accept time event.
Cela permet de mieux mettre en valeur les
échanges entre les diagrammes de la
spécification
2. Action (suite)
3. Activité et nœud d'activité
Une activité
● Définit un comportement décrit par un
séquencement organisé d’actions.
● Possède éventuellement des paramètres en
entrée ou en sortie, ainsi que des variables
locales au même titre qu'une méthode d’un
objet.
● Peut regrouper des nœuds et des arcs, c’est ce
qu'on appelle « groupe d'activités ». Ces
nœuds et arcs peuvent appartenir à plus d’un
groupe.
3. Activité et nœud d'activité (suite)
Une activité
● Un diagramme d’activités est lui-même un
groupe d’activités.
● Le flot d’exécution est modélisé par des nœuds
reliés par des arcs (transitions)
● Le flot de contrôle reste dans l’activité jusqu’à ce
que les traitements soient terminés.
3. Activité et nœud d'activité (suite)
De la gauche vers la droite, nous avons les nœuds
suivants :
● Un nœud représentant une action, qui est une variété
de nœud exécutable
● Un nœud objet
● Un nœud de décision ou de fusion
● Un nœud de bifurcation ou d'union
● Un nœud initial
● Un nœud final
● Un nœud final de flot
3. Activité et nœud d'activité (suite)
Un noeud d'activité est une étape le long du
flot d’une activité. Il existe trois familles de
nœuds d’activités :
● Les nœuds d’exécutions (executable nodes) ;
● Les nœuds objets (object nodes) ;
● Les nœuds de contrôle (control nodes).
3.1. Noeud exécutable
Un noeud exécutable
● Est un nœud d’activité qu’on peut exécuter
● Il s'agit de :
- Noeuds d'actions
- Noeuds d'activités structurées
3.1.1. Noeuds d'action
● Graphiquement, un nœud d'action est
représenté par un rectangle aux coins arrondis
qui contient sa description textuelle.
● Cette description textuelle peut aller d'un simple
nom à une suite d'actions réalisées par l'activité.
● UML n'impose aucune syntaxe pour cette
description textuelle, on peut donc utiliser une
syntaxe proche de celle d'un langage de
programmation particulier ou du pseudo-code.
3.1.1. Noeuds d'action
Un noeud d'action
● Est une unité fondamentale de fonctionnalité
exécutable dans une activité.
● L'exécution d'une action représente une
transformation ou un calcul quelconque dans le
système modélisé
● Les actions sont généralement liées à des
opérations qui sont directement invoquées.
● Doit avoir au moins un arc entrant.
3.1.2. Noeuds d'activité struturée

Un noeud d'activité structurée


● Est une portion structurée d’une activité donnée qui
n’est partagée avec aucun autre nœud structuré
● Les transitions d'une activité structurée doivent avoir
leurs nœuds source et cible dans le même nœud
d'activité structurée.
● Graphiquement, le contour d’un nœud d’activité
structurée est en pointillé.
● Est dénoté par le stéréotype “structured” et identifé par
un nom unique
3.2. Noeuds de contrôle
Un noeud de contrôle
● Est un nœud d'activité abstrait utilisé pour coordonner les flots
entre les nœuds d'une activité.
● Il existe plusieurs types de nœuds de contrôle :
- Le nœud initial (initial node)
- Le nœud de fin d'activité (final node)
- Le nœud de fin de flot (flow final) ;
- Le nœud de décision (decision node) ;
- Le nœud de fusion (merge node) ;
- Le nœud de bifurcation (fork node) ;
- Le nœud d'union (join node)
3.2.1. Noeud initial
Un noeud initial
● Est un nœud de contrôle à partir duquel le flot
débute lorsque l’activité enveloppante est
invoquée.
● Il possède un arc sortant et pas d’arc entrant.
● Une activité peut avoir plusieurs nœuds initiaux.
● Graphiquement, il est représenté par un petit
cercle plein.
3.2.1. Noeud final
Un noeud initial
● Est un nœud de contrôle possédant un ou
plusieurs arcs entrants et aucun arc sortant.
● Il existe deux types de nœuds finaux :
- Nœud de fin d'activité
- Nœud de fin de flot
3.2.1. Noeud final (suite)
Fin d'activité
Un noeud de fin d'activité
● Lorsque l'un des arcs d'un nœud de fin d'activité
est activé, 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é.
● Graphiquement, un nœud de fin d'activité est
représenté par un cercle vide contenant un petit
cercle plein.
3.2.1. Noeud final (suite)
Fin de flot
Un noeud de fin de flot
● 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.
● Graphiquement, un nœud de fin de flot est
représenté par un cercle vide barré d’un X
3.3. Noeud de décision ou de
branchement conditionnel
Un noeud de décision
● Est un nœud de contrôle qui permet de faire un
choix entre plusieurs flots sortants.
● Lorsque le nœud de décision est atteint, si aucun
arc en aval n’est franchissable (c'est à dire aucune
condition de garde n’est vraie),c’est que le modèle
est mal formé.
● L’utilisation d’une garde [else] est recommandée
après un nœud de décision car elle garantit un
modèle bien formé.
3.4. Noeud de fusion ou de
convergence
Un noeud de fusion
● Est un nœud de contrôle qui rassemble plusieurs
flots alternatifs entrants en un seul flot sortant.
● Il n’est pas utilisé pour synchroniser des flots
concurrents (c’est le rôle du nœud d’union) mais
pour accepter un flot parmi plusieurs.
● Le losange est utilisé pour modéliser le point de
convergence : endroit où deux ou plusieurs chemins
d’exécution mutuellement exclusifs se rejoignent.
3.5. Noeud de bifurcation ou de
débranchement
Un noeud de bifurcation
● Est un nœud de contrôle qui sépare un flot en
plusieurs flots concurrents. Un tel nœud possède
donc un arc entrant et plusieurs arcs sortants.
● Graphiquement, il est représenté un par un trait
plein.
● Dans la bifurcation, les transitions de
débranchement au départ d'une barre de
synchronisation sont déclenchées simultanément, et
par là même, les actions qui suivent démarrent
ensembles.
3.6. Noeud d'union ou de jointure
Un noeud de jointure
● Est un nœud de contrôle qui synchronise des flots
multiples. Un tel nœud possède donc plusieurs arcs
entrants et un seul arc sortant.
● Graphiquement, il est représenté comme un nœud
de bifurcation, par un trait plein
● Dans l’union, la barre de synchronisation 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)
3.7. Noeud d'objets et flots d'objets
Un noeud d'objets
● Permet de définir un flot d’objet (c'est à dire un flot de
données) dans un diagramme d’activités
● Il représente l’existance d’un objet généré par une
action dans une activité et utilisé par d’autres actions
● Il est représenté par un rectangle dans lequel est
mentionné le type de l'objet. Le nom d'un état ou d'une
liste d'états de l'objet est 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 de l'objet
3.7.1. Exemple de diagramme avec
nœud d'objet

● Dans le diagramme d'activités, les objets peuvent être


représentés. Ils sont utilisés ou modifiés par des actions.
● Les nœuds d'objets peuvent aussi initier des actions. Il arrive
aussi que différentes activités manipulent un même objet qui
change alors d’état selon le degré d’avancement du mécanisme
comme dans le diagramme ci-dessus
3.7.2. Pins d'entrées/sorties
Un pin d'entée/sortie
● Permet de spécifier les valeurs passées en
argument à une activité ainsi que ses valeurs de
retour.
● L’activité ne peut débuter que si l’on affecte une
valeur à chacun de ses pins d’entrée.
● Quand l’activité se termine, une valeur doit être
affectée à chacun de ses pins de sortie.
3.7.3. Noeuds de stockage des
données
Un nœud de stockage de données
● Est un nœud tampon central particulier qui assure la
persistance des données.
● Lorsqu'une information est sélectionnée par un flux
sortant, l'information est dupliquée et ne disparaît pas du
nœud de stockage des données.
● Lorsqu'un flux entrant véhicule une donnée déjà stockée
par le nœud de stockage des données, cette dernière est
écrasée par la nouvelle.
● Ce nœud est représenté comme un nœud d'objet détaché
avec le stéréotype « datastore »
3.7.3. Noeuds de stockage des
données (suite)

● Après avoir recruté le personnel, il est stocké dans le


nœud de stockage des données de façon permanente,
appelé dans ce cas "Base de données du Personnel".
● Ceux qui n'ont pas été affectés sont disponibles pour

être affectés par l'activité "Affecter personnel".


● L'étiquette "selection: personnel.affectation=null" permet

de sélectionner ceux qui n'ont pas été affectés


4. Transition
Une transition
● Est la matérialisation du passage d'une activité
vers une autre.
● Est déclenchée dès que l'activité source est
terminée et provoque automatiquement et
immédiatement le début de la prochaine activité
à déclencher (l'activité cible).
● Est une flèche en trait plein qui connecte les
activités entre elles.
5. Les partitions ou couloirs
d'activités
Une partition
● Permettent de regrouper les nœuds d’activités dans un
diagramme d’activités.
● Graphiquement, les partitions sont délimitées par des lignes
continues souvent verticales, mais elles peuvent être
horizontales ou même courbes.
● On peut les représenter par des couleurs ou étiqueter les
nœuds d’activité par le nom de leur partition
d’appartenance.
● Dans le cas d'un diagramme d'activités partitionné, les
nœuds d'activités appartiennent forcément à une et une
seule partition, les transitions peuvent bien entendu,
traverser les frontières des partitions
5. Les partitions ou couloirs
d'activités
6. Exercice d'application
Enoncé : Soit la recette de la mousse au chocolat suivante :
● Commencer par casser le chocolat en morceaux, puis le faire fondre.
● En parallèle, casser les œufs en séparant les blancs des jaunes.
● Quand le chocolat est fondu, ajouter les jaunes d’œuf.
● Battre les blancs en neige jusqu’à ce qu’ils soient bien fermes.
● Les incorporer délicatement à la préparation chocolat sans les briser.
● Verser dans des ramequins individuels.
● Mettre au frais au moins 3 heures au réfrigérateur avant de servir
● 1. Etablir le diagramme d’activités pour modéliser la recette
● 2. Dans le diagramme d’activité de la question 1, on ne voit pas encore les
ingrédients manipulés. Ajouter les flots d’objets (objet et son état) pour compléter
le diagramme
● 3. Le chef et son assistant vont partager le travail pour préparer la recette. Créer
un autre avec les partitions représentant les entités responsables des actions.

Vous aimerez peut-être aussi