Vous êtes sur la page 1sur 81

École Nationale des Sciences de l’Informatique

Chapitre 3
II2-ENSI
DIAGRAMME DE
COMMUNICATION

2
DIAGRAMME DE
COMMUNICATION

 C’est une alternative au diagramme de séquence


 Il représente aussi un schéma d’interaction: des
flux de messages
 MAIS

Cours « GL-ACOO » ENSI


 But: Diagramme illustrant les liens d’interaction
entre les acteurs et objets d’un système qui ne sont
qu'implicites dans le DS
 Fait ressortir les relations entre objets

 Collaboration =
(1) Ensemble d’objets qui interagissent ensemble
pour réaliser une tâche commune
(2) Ensemble de liens (pertinents) existant entre ces
objets
3
DIAGRAMME DE
COMMUNICATION
 Ils fournissent un second point de vue des aspects
dynamiques.
 Ils correspondent à une synthèse de l’ensemble des
diagrammes objets et des diagrammes de séquences.
 Valider les associations du diagramme de classe en les utilisant
comme support de transmission des messages du DS .

Cours « GL-ACOO » ENSI


 Comme dans les diagrammes objets, les objets sont
représentés par des rectangles, connectés par des lignes qui
représentent des liens.
 Les liens transitent des messages entre une classe d’objet appelant et
une classe d’objet appelé
 Comme dans le DS, un objet doit avoir une opération appropriée
pour traiter chaque évènement qu'il reçoit
 Contrairement aux diagrammes d’objets, les nombres, les
noms d’opérations ainsi que les flèches sont placés sur les liens
pour indiquer un flot spécifique de messages.
4
DIAGRAMME DE
COMMUNICATION

 Les scénarios et diagrammes de communication:


 Montrent des exemples de coopération des objets dans la
réalisation de processus de l’application
 Les scénarios :

Cours « GL-ACOO » ENSI


 Illustrent la dynamique d’enchaînement des traitements
d’une application en introduisant la dimension temporelle
 Les diagrammes de communication:
 Dimension temporelle n’est pas totalement cachée, elle est
représentée par des numéros de séquences (obligatoires)
 Définition d’un ordre partiel sur les opérations.

 Représentation des objets et de leurs relations


 Utilisent les attributs et opérations

5
DIAGRAMME DE
COMMUNICATION

 Utilisation des diagrammes de communication


 Ils peuvent être attachés à :
 Une classe
 Une opération

Cours « GL-ACOO » ENSI


 Un cas d’utilisation
 Ils s’appliquent
 En spécification
 En conception (illustration de design patterns)
 Selon la phase:
 Granularité plus ou moins fine

6
DIAGRAMME DE
COMMUNICATION

 Eléments constitutifs:
 Un contexte contenant les éléments mis en jeu durant l’opération :
 Un acteur
 Un ensemble d’objets, d’attributs et de paramètres

Cours « GL-ACOO » ENSI


 Des relations entre ces objets
 Des interactions
 Des messages
 Un message initiateur du diagramme provenant d’un
 Acteur de l’application,
 Objet de l’application.
 Les numéros de séquence des messages échangés entre les
objets de cet ensemble suite au message initiateur (oligatoire)

7
DIAGRAMME DE
COMMUNICATION
 Exemple:
D.Classe

Cours « GL-ACOO » ENSI


D.S

D.Communication

8
DIAGRAMME DE
COMMUNICATION

 Les messages
 Opérations
 Réception d’événements
 Le séquencement
 Les séquences consécutives séquence imbriquée

Cours « GL-ACOO » ENSI


 Les séquences imbriquées

origine:Point
message initiateur Multiplicité
1.1: position ( )
4
afficher ( )
:Carré :Segment
1 *(i=1..4):afficher ( )
numéro de séquence 1.2: position ( )
boucle
destination:Point
opération
9
DIAGRAMME DE
COMMUNICATION

 Création et destruction dynamique d’objets

1: n : = obtenirNom()

Cours « GL-ACOO » ENSI


:ProfAdjoint {destroyed}

3 : destroy()
: Doyen
2: new ProfAgrégé(n)

:ProfAgrégé {new}

10
DIAGRAMME DE
COMMUNICATION

Comme les diagrammes de séquence : interactions entre objets du système


avec un accent particulier sur la structure spatiale statique des objets
(contexte des objets). Les messages sont numérotés pour indiquer l ’ordre
des envois.
Message: Asynchrone, Synchrone, etc.

Cours « GL-ACOO » ENSI


: ascenseur
Objet 1
1 : message
1 : monter
2 : message

: cabine
4 : message
Objet 2 5 : message 3 : fermer

3 : message : porte
2 : allumer
Objet 3

: lumière
11
DIAGRAMME DE
COMMUNICATION

Exemple:

monter_étage(n)
:Ascenseur 1.2: actionner()

Cours « GL-ACOO » ENSI


1.1: monter(n)
1.1.1.b: fermer()
:Cabine :Porte :Moteur
1.1.1.a: allumer()

:Lumière

12
DIAGRAMME DE
COMMUNICATION

Récapitulons:
Buts :
1. Décrire l’interaction des objets entre eux
2. Illustrer les scénarios des use cases
3. Valider les choix d’analyse et de conception (prototypage)

Cours « GL-ACOO » ENSI


4. Aider à élaborer des diagrammes de classes de conception

1 : retraitBillets( )
1 : message : Client
x : ClasseA
: Menu
y : ClasseB [validation]

2 : message
3 : indentifier(numClient)
2 : afficher ( )
z : ClasseB
: Loggin
[Interrogation] 4.1 : accepter(numClient)

4.2 : refuser(numClient)

13
(1) (1) + (3)
DIAGRAMME DE
COMMUNICATION

Diagrammes de communication- conventions


[ x ] 1: message
y : ClasseB
x : ClasseA message soumis à la condition x
1.a : message1
y : ClasseB
x : ClasseA
message1 et message 2 en parallèle

Cours « GL-ACOO » ENSI


1.b : message2 z : ClasseC

1.1 : message1
y : ClasseB
x : ClasseA
choix entre message1.1 et message1.2
1.2 : message2 z : ClasseC

[* 1..n ] 1: message
x : ClasseA y : ClasseB message envoyé n fois

x : ClasseA
// 1: message
y : ClasseB
message envoyé en parallèle à
plusieurs instances de la classe B
a : = message
x : ClasseA y : ClasseB a récupère la valeur renvoyée par
l’exécution du message
14
DIAGRAMME DE
COMMUNICATION
Exercice 1/Série n°3: diagramme de séquence

Préposé aux
:Inscription :Professeur :Membre
inscriptions

Cours « GL-ACOO » ENSI


Requête(typeCours, nomProf)
VerifHoraire
Verif

AjoutPlage

Resultat

Confirmation(nom)
AjoutPlage(nom)

Facturation

Confirmation
15
DIAGRAMME DE
COMMUNICATION
Exercice 1/Série n°3: diagramme de communication
1. Requête(typeCours, nomProf)
2. Confirmation (nom)

Préposé aux
:Inscription
inscriptions
1.3. Résultat

Cours « GL-ACOO » ENSI


2. 3. Confirmation

1.1. VerifHoraire
1.2 Ajout Plage
2.1. Ajout Plage
2.2. Facturation

:Membre :Professeur

1.1.1 Verif

16
DIAGRAMME DE
COMPORTEMENT

17
DIAGRAMME D’ÉTAT-
TRANSITION
LA MODÉLISATION DU CYCLE
DE VIE DES OBJETS

18
DIAGRAMME D’ÉTATS-
TRANSITIONS

 But: Permet de décrire le comportement d’un objet (instance


d’une classe) en fonction événements et des messages reçus.

attribué_sur_abonnement

Cours « GL-ACOO » ENSI


Annuler_Réservation
Disponible Vendu

délai écoulé

Réservé
Réserver achète

Diagramme d’états d’un billet de spectacle à vendre sur Internet

19
DIAGRAMME D’ÉTATS-
TRANSITIONS

 Principaux concepts:

Cours « GL-ACOO » ENSI


 État Nom_état

 Transition événement [[garde]/ action]

 Marqueur d’état initial

 Marqueur d’état final

20
DIAGRAMME D’ÉTATS-
TRANSITIONS

 Principaux concepts: La transition événement / action

 Une transition (sortante) définit la réponse d’un objet, dans un état


donné, à un événement donné.
 Les transitions sont étiquetées par un événement et

Cours « GL-ACOO » ENSI


(optionnellement) par une action :
 Événement: Tout ce qui survient et peut affecter un objet.
 Élément déclencheur de la transition.
 Action: Opération réalisée lorsqu’une transition est tirée.

retourner() / livre.retourné(self)
Emprunté Sur les rayons
emprunter() / livre.emprunté(self)

Diagramme d’état pour la classe Exemplaire_de_livre


21
DIAGRAMME D’ÉTATS-
TRANSITIONS

 Principaux concepts: L’état Nom_état

 Décrit un moment pendant la vie d’un objet.


 Un objet ne se trouve que dans un seul état à la fois.
 Tous les objets d’une classe qui se trouvent dans un même état

Cours « GL-ACOO » ENSI


réagissent de façon identique aux événements.
 Les objets qui se trouvent dans un état donné, à un moment donné,
partagent l’une et/ou l’autre des caractéristiques suivantes
 Ils ont des valeurs d’attributs similaires.
 Ils attendent un événement particulier.
 Il exécutent une activité particulière.
 Un état est généralement décrit par un nom.
 En UML, il existe différents types d’état: simple, concurrent,
composite, etc.

22
D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: L’état d’un objet

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

Comment trouver les états significatifs d’un objet

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: états et transitions

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: états et transitions

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: évènement

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: types d’évènement


Type Description Syntaxe
d’événement
Appel Réception d’un message synchrone (pour op(p1:type,
lequel l’émetteur attend une réponse). p2:type, …)

Cours « GL-ACOO » ENSI


Invocation d’une opération.
Changement Changement de valeur d’une condition when(exp)
booléenne. Satisfaction soudaine de cette
condition. Condition fausse qui devient vraie.
Signal Réception d’un message asynchrone. sname(p1:typ
e, p2:type, …)
Temps Temps absolu atteint ou passage d’un certain after(time)
intervalle de temps. Peut signaler le temps
écoulé depuis l’entrée dans un état donné.

 Un événement peut être paramétré…


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: garde

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: gardes


 Une transition peut être conditionnelle à l’évaluation d’une
garde
 Si la garde est vraie, la transition est tirée.
 Si la garde est fausse, la transition n’aura pas lieu.

Cours « GL-ACOO » ENSI


Cette transition est
importante pour marquer
Notation: événement [garde] que retourner() est bel et
bien un message attendu et
compris par cet automate est_retourné(e)
dans cet état.

est_retourné(e)
Ne peut être Peut être
emprunté emprunté
est_emprunté(e) [dernier exemplaire]

est_emprunté(e) [pas dernier exemplaire]


Diagramme d’état d’un livre
D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: gardes


 Expression conditionnelle
 Evaluée uniquement quand l’événement est déclenché
 Peut contenir des attributs de l’objet ou des paramètres de

Cours « GL-ACOO » ENSI


l’événement associé

 Lorsqu’un même événement est associé à plusieurs


transitions, une garde (condition) peut être ajoutée pour
préciser le contexte et déterminer la transition à effectuer.

 Les gardes associées à un même événement sur les


transitions sortantes d’un état donné, doivent être
mutuellement exclusives.
D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: Action

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: types d’action


Les actions peuvent prendre des arguments… les paramètres
effectifs des événements par exemple…

Type Description Syntaxe


d’action

Cours « GL-ACOO » ENSI


Affectation Assigne une valeur à une variable. target:=expression
Appel Invocation (synchrone) d’une opération d’un opname(arg1, arg2, …)
objet. Peut retourner une valeur. object.opname(arg1, arg2,
…)
Envoi Envoi d’un message (signal) asynchrone. sname(arg1, arg2, …)
Création Création d’un nouvel objet. new Cname(arg1, arg2, …)

Destruction Destruction d’un objet. object.destroy ()


Retour Spécification d’une valeur retournée. return value
Divers Action décrite dans un autre langage… [ description ]

Séquence Séquence d’action action1; action2; …


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: transition réflexive sur un état

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: action d’un état

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: action d’un état

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Action d’un état: actions d’entrée et de sortie


Certaines actions peuvent être rattachées à un état au lieu
d’une transition
 Action d’entrée: Action exécutée chaque fois qu’on entre
dans l’état (quelle que soit la transition qui nous y amène…).

Cours « GL-ACOO » ENSI


 Notation: entry /action
 Action de sortie: Action exécutée chaque fois qu’on sort de
l’état (quelle que soit la transition qui nous en fait sortir).
 Notation: exit/action
Ordre d’exécution
des actions ?

retourner() Sur les rayons


Emprunté

exit/livre.retourné(self) emprunter() exit/livre.emprunté(self)

Diagramme d’état d’un exemplaire de livre


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: activité d’un état

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: activité d’un état

Exemple

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: types de transition


 Transition externe: transition standard qui engendre un
changement d’état et toutes les actions correspondantes
(actions d’entrée et de sortie, ainsi que celles de la
transition).

Cours « GL-ACOO » ENSI


 Transition interne: transition qui n’engendre pas de
changement d’état et ne déclenche que les actions associées
à cette transition (pas les actions d’entrée et de sortie)
 Transition de complétion: transition qui n’est pas activée
par un événement. La transition est tirée dès que l’activité,
de l’état qu’elle quitte, se termine. Souvent munie d’une
garde.
Saisie mot de passe clear
entry/ set echo to star; password.reset()
exit/ set echo normal Transition externe
Transitions digit / handle character
internes help / display help()
D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: transition de complétion (transition


automatique

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: Etat composite

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: Etat composite

État « spécialisé » composé de plusieurs sous - états.

Cours « GL-ACOO » ENSI


 Sous - états séquentiels

 Sous - états concurrents


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: Etat composite

 Lorsqu’un état composite est activé, un de ses sous


- états est nécessairement activé.
 Entrer et sortir d’un état composite

Cours « GL-ACOO » ENSI


 Une transition entrant dans un état composite est
implicitement conduite vers son état initial.
 Une transition vers l’état final d’un état composite active
implicitement une transition de complétion sortant de l’état
composite.
 Lorsqu’une transition entre/sort en traversant un
ou plusieurs états composites imbriqués, toutes les
actions d’entrées/sortie sont exécutées
 Actions d’entrées… de l’état le plus externe en premier.
 Actions de sortie … de l’état le plus interne en premier.
D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: sous-états séquentiels

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: état composite (séquentiel)


À remarquer
•Transition interne Exemple
•Transitions de complétion
•État initial Achat d’un billet
•État final Exit / éjecter_carte()
insérer_carte

Cours « GL-ACOO » ENSI


[identification_échouée]

Identification

inactif [identification_réussie]/
Sélection Initialiser_sélection()
choisir(siège) /
ajouter_à_sélection(siège)

clic_acheter
clic_annuler Confirmation
clic_recommencer
clic_confirmer

Vente
Entry / vendre()
D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: sous-états concurrents

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: sous-états concurrents

Exemple: Diagramme d’état d’un cours

Cours non terminé

Cours « GL-ACOO » ENSI


lab_terminé lab_terminé Cours
Labo 1 Labo 2
réussi

Projet de projet_terminé [note >= 60]


semestre
[note < 60]

Examen réussite
final Cours
échoué
échec
D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: sous-états concurrents

Autre notation possible


Exemple: Diagramme d’état d’un cours
Cours

Cours « GL-ACOO » ENSI


Cours non terminé réussi

lab_terminé lab_terminé [note >= 60]


Labo 1 Labo 2

Projet de projet_terminé
semestre

fork join
Examen
réussite [note < 60]
final

Cours
échec échoué49
D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Principaux concepts: transitions entre états concurrents

Cours « GL-ACOO » ENSI


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Sous-diagramme d‘état

Attente
commande
commande commande

Cours « GL-ACOO » ENSI


d’exécution d’aide

Include Run Include Help

Help
entry / afficher écran d’aide
exit / effacer écran d’aide
quitter

question /
show réponse
D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Etats historiques
 Pseudo-État qui mémorise le dernier sous-état visité d’un état
composite
 Graphiquement, il est représenté par un cercle contenant un H.
 Une transition ayant pour cible l’état historique est équivalente

Cours « GL-ACOO » ENSI


à une transition qui a pour cible le dernier état visité de l’état
englobant.
D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Récapitulons
Buts :
1. Illustrer les cas d’utilisation
 vue synthétiue de la dynamiue  regrouppe un ensemble de scénarios

Cours « GL-ACOO » ENSI


2. Décrire en détail le comportement des classes

Validation
requête entry : Validation
éteindre Attente
do : identifier
exit :

Interrogation
Non identifié / annuler de la base
identifié
connu inconnu
Payé / imprimer Attente Paie
OK Erreur
entry : afficher prix
Impayé / annuler
Etat composite
(1)
D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Exercice 2/Série n°3


Considérons une montre à cadran numérique simplifiée :
1. Le mode courant est le mode « Affichage ».
2. Quand on appuie une fois sur le bouton mode, la montre

Cours « GL-ACOO » ENSI


passe en « modification heure ». Chaque pression sur le
bouton avance incrémente l’heure d’une unité.
3. Quand on appuie une nouvelle fois sur le bouton mode, la
montre passe en « modification minute ». Chaque pression
sur le bouton avance incrémente les minutes d’une unité.
4. Quand on appuie une nouvelle fois sur le bouton mode, la
montre repasse en mode « Affichage ».
Travail à faire
Proposez un diagramme d’état-transition modélisant cette
montre.
D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Exercice 2/Série n°3

appui bouton avance/ heure ++

Cours « GL-ACOO » ENSI


appui bouton mode
Modification
Affichage
heure

appui bouton mode appui bouton mode


Modification
minute

appui bouton avance/ minute ++


D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Exercice 3/Série n°3


On considère une boîte de vitesses automatique de voiture.
• La boîte au démarrage est au point mort. La marche arrière ainsi que
la position parking peuvent être enclenchées à partir du point mort.
• La première marche avant peut également être enclenchée à partir

Cours « GL-ACOO » ENSI


du point mort.
• En revanche, les autres marches avant, la seconde et la troisième,
sont enclenchées en séquence : 1-> 2-> 3 pour une accélération, et 3->
2-> 1 pour une décélération.
• Seules la marche arrière, la position parking et la première marche
avant peuvent être ramenées directement au point mort.

Modélisez le fonctionnement de la boîte de vitesses à l'aide d'un


diagramme d'états-transitions.
D I A G R A M M E D ’ É TAT S -
TRANSITIONS

 Exercice 3/Série n°3

point_mort arrière
Marche
Parking parking Point mort point_mort arrière

Cours « GL-ACOO » ENSI


vitesse_supérieure
vitesse_inférieure
Marche
avant 1

vitesse_inférieure vitesse_supérieure
Marche
avant 2
vitesse_supérieure
vitesse_inférieure
Marche
avant 3
DIAGRAMME
D’ACTIVITÉ

58
DIAGRAMME
D’ACTIVITÉS

 Une forme spécifique des diagrammes d’états-transitions:


 Chaque état est associé à une activité
 Toutes les transitions (enchaînements) sont automatiques.
 Permet de décrire un enchaînement d’activités de plusieurs

Cours « GL-ACOO » ENSI


objets qui concerne:
 Un système;
 Un sous système;
 Un cas d’utilisation;
 Une activité du diagramme d’états-transitions.

59
DIAGRAMME
D’ACTIVITÉS

Utilité

 Utilisé pour décrire les séquences d’activités


composant

Cours « GL-ACOO » ENSI


 un processus d’affaires, système de production, etc. (modèle
d’affaires)
 un cas d’utilisation (modèle d’analyse)
 un algorithme particulier (modèle de conception)

 Permet de décrire les activités d’un cas d’utilisation en


restant à un haut niveau d’abstraction.
 Permet d’exprimer des flots de contrôle séquentiels et
concurrents.

60
DIAGRAMME
D’ACTIVITÉS

Particularités
 Forme particulière de diagramme d’états où
 Les états sont remplacés par des activités.
 On ne s’intéresse pas aux états d’un objet, mais plutôt aux

Cours « GL-ACOO » ENSI


états d’un calcul ou d’une tâche complexe à accomplir.
 En fait, ce ne sont pas des états mais des activités.

 Les transitions sont automatiquement déclenchées par la


complétion d’une activité.
 Le passage d’une activité à l’autre se fait
automatiquement lorsqu’une activité est terminée.
 Une activité (contrairement à un état) n’attend pas
l’occurrence d’un événement pour effectuer une
transition.
 On passe à la prochaine activité dès que la précédente
(dans le diagramme) est terminée.
61
DIAGRAMME
D’ACTIVITÉS

UML permet de représenter graphiquement le


comportement d'une méthode ou le déroulement d'un cas
d'utilisation, à l'aide de diagrammes d'activités (une
variante des diagrammes d'états-transitions).
 Une activité représente une exécution d'un mécanisme, un déroulement
d'étapes séquentielles.
 Le passage d'une activité vers une autre est matérialisé par une
transition.

Cours « GL-ACOO » ENSI


Remarque :
 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.
 Le diagramme d’activités est le plus approprié pour modéliser
la dynamique d’une tâche, d’un use case lorsque le diagramme
de classes n’est pas encore stabilisé.

62
DIAGRAMME
D’ACTIVITÉS
Principaux éléments de notation
Activité nom_activité

Transition

Cours « GL-ACOO » ENSI


Marqueur d’état initial

Barre de synchronisation

Branchement

Condition [ cond ]
63
DIAGRAMME
D’ACTIVITÉS

Composants du Diagramme d’activité

 ensemble d’activités liés par:


 Transition (sequentielle)
 Transitions alternatives (conditionnelle)

Cours « GL-ACOO » ENSI


 Synchronisation (disjonction et conjonctions
d’activités)
 Itération
 + 2 états: état de départ et état de Activité
terminaison
 Swimlanes: represente le lieu, le
responsable des activités.
Autre Activité

64
DIAGRAMME
D’ACTIVITÉS
Conditionelle

Mesurer la température Mesurer la température


[trop froid] [trop chaud] [trop froid] [trop chaud]

Chauffer Refroidir

Cours « GL-ACOO » ENSI


Chauffer Refroidir
Transition conditionnée

•Etat de départ
•Etat de terminaison
[ ] [ ]
•Transition
•Transition
Alternative
65
DIAGRAMME
D’ACTIVITÉS

Synchronisation

Cours « GL-ACOO » ENSI


66
DIAGRAMME
D’ACTIVITÉS

Exemple :
Variante des diagrammes d’états-transition, organisé par rapport aux actions et destiné
à représenter le comportement interne d’une opération ou d’un cas d ’utilisation.

Cours « GL-ACOO » ENSI


Mesurer température

[trop froid] [trop chaud]

Chauffer Refroidir

« synchronisation »

Arrêter chauffage Aérer

67
DIAGRAMME
D’ACTIVITÉS

Itérative

Cours « GL-ACOO » ENSI


Itération 68
DIAGRAMME
D’ACTIVITÉS

exemple

Cours « GL-ACOO » ENSI


Swimlanes

69
DIAGRAMME
D’ACTIVITÉS

Construction d‘un diagramme d‘activité


1. I d e n t ifiez l a p o r t é e ( « sco p e » ) d u d i a gr a mm e d ' a ct ivi tés
C o m m e n cez e n i d e n t i fi ant ce q u e vo u s a l l e z m o d é l i s e r. U n s e u l u s e ca s e ?
U n e p a r t i e d ' u n u s e ca s e ? U n « wo r k f l o w » q u i i n cl u t p l u s i e u r s u s e ca s e s ?
U n e m é t h o d e d e cl a s s e ?

Cours « GL-ACOO » ENSI


2. A j o u t er l ’ é tat d e d ép a r t e t d e t er m i na ison
3. A j o u t er l e s a ct i vi tés
S i vo u s m o d é l i s e z u n u s e ca s e , i n t r o d u i s ez u n e a ct i v i té p o u r ch a q u e u s e
ca s e p r i n ci p al . S i vo u s m o d é l i s e z u n « wo r k f l o w » , i n t r o d u i s ez u n e a ct i v i té
p o u r ch a q u e p r o ce s s u s p r i n ci p al , s o u ve n t u n u s e ca s e . E n f i n , s i vo u s
m o d é l i s e z u n e m é t h o d e, i l e s t s o u ve n t n é ces s ai re d ’a vo i r u n e a ct i v i té p o u r
ch a q u e g r a n de é t a pe d e l a m é t h o d e.
4. A j o u t er d e s t r a n sition s ( sé q u en tiell es), d e s t r a n sitio ns a l t ern ative s
( co n d it ion elles), d e s sy n ch r o ni sati ons e n t r e d e s a ct i vités, d e s i t é rat ion s.
5. I d e n t ifier d e s sw i m l an es e t r é p a r tir d e s a ct i vi tés i d e n t ifi ées d a n s ce s
sw i m l a nes.

70
DIAGRAMME
D’ACTIVITÉS

Exemple: Système de vente en ligne


Cas d’utilisation: Commander ordinateur

Afficher la Saisir la demande


configuration courante de commande

Cours « GL-ACOO » ENSI


Afficher le formulaire
de vente
[temps expiré]
[temps non expiré]
[commande incomplète]

Saisir les détails Enregistrer la


de la vente commande
[ok]

Envoyer un courriel
de confirmation
71
DIAGRAMME
D’ACTIVITÉS

Exemple: Bibliothèque
Membre Libraire
[au travail]

Cours « GL-ACOO » ENSI


[retour]
[emprunt]
Trouver livre
sur étagère

[retour] Enregistrer Remettre le


le retour livre sur
étagère
[emprunt]
Attendre en
ligne Enregistrer le
prêt

Se préparer pour le
prochain membre

[fin travail] 72
DIAGRAMME
D’ACTIVITÉS

Récapitulons
Buts :
1. Décrire le comportement générique d’un use case
2. Décrire en détail le comportement d’une opération

Cours « GL-ACOO » ENSI


3. Modéliser les processus métiers

Dual des diagrammes d’états / transitions Opération : identifier client

Acteur 1 Acteur2
: activité
Interroger Activité
: sous base
Activité [ événement] processus
^base.identifier(numClient)
Objet : activité
Validation Etat
Objet : flux de [inconnu] [connu]
[état] contrôle Afficher
Objet retourner
: flux des faux OK
artefacts ^ecran.afficherOK( )
: mise en
parallèle
(1) + (3) : synchronisation
DIAGRAMME
D’ACTIVITÉS

Exercice 4/Série n°3

Cours « GL-ACOO » ENSI


DIAGRAMME
D’ACTIVITÉS

Exercice 4/Série n°3

Voici la recette pour faire une bonne mousse au chocolat :


 Commencer par casser le chocolat en morceaux, puis le faire fondre.
 En parallèle, casser les œufs en séparant les blancs des jaunes.

Cours « GL-ACOO » ENSI


 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.
Travail à faire
Etablir le diagramme d’activités pour modéliser la recette.
DIAGRAMME
D’ACTIVITÉS

Exercice 4/Série n°3

Cours « GL-ACOO » ENSI


DIAGRAMME
D’ACTIVITÉS

Exercice 5/1-/Série n°3

Le logiciel de gestion des réparations est destiné en priorité au chef


d'atelier, il devra lui permettre de saisir les fiches de réparations et le
travail effectué par les divers employés de l'atelier. Pour effectuer leur

Cours « GL-ACOO » ENSI


travail, les mécaniciens et autres employés de l'atelier vont chercher
des pièces de rechange au magasin. Lorsque le logiciel sera installé, les
magasiniers ne fourniront des pièces que pour les véhicules pour
lesquels une fiche de réparation est ouverte; ils saisiront directement
les pièces fournies depuis un terminal installé au magasin. Lorsqu'une
réparation est terminée, le chef d'atelier va essayer la voiture. Si tout
est en ordre, il met la voiture sur le parc clientèle et bouclera la fiche
de réparation informatisée. Les fiches de réparations bouclées par le
chef d'atelier devront pouvoir être importées par le comptable dans le
logiciel comptable
1. Créer un diagramme d’activités pour tout le traitement d’une
réparation.
DIAGRAMME
D’ACTIVITÉS

Exercice 5/2-/Série n°3

2. Créer un diagramme d’activité pour le cas d’utilisation « Créer une


fiche de réparation ».
Pour créer une fiche de réparation, le chef d’atelier saisit les critères de

Cours « GL-ACOO » ENSI


recherche de voitures dans le système. Le logiciel de gestion des
réparations lui donne la liste des voitures correspondant aux critères
entrés. Si la voiture existe, le chef d’atelier va sélectionner la voiture.
Le logiciel va, ensuite, fournir les informations sur le véhicule. Si la
voiture est sous garantie, le chef devra saisir la date de demande de
réparation. Si la voiture n’existe pas, le chef va saisir les informations
concernant ce nouveau véhicule. Dans tous les cas, le chef d’atelier
devra saisir la date de réception et de restitution. Si le dommage de la
voiture est payé par l’assurance, le logiciel va fournir une liste
d’assurances au chef d’atelier. Ce dernier sélectionnera l’assurance
adéquate. Enfin, le logiciel enregistre la fiche de réparation.
DIAGRAMME
D’ACTIVITÉS

Exercice 5/1-/Série n°3

Cours « GL-ACOO » ENSI


DIAGRAMME
D’ACTIVITÉS

Exercice 5/2-/Série n°3

Cours « GL-ACOO » ENSI


FIN CHAPITRE3

81

Vous aimerez peut-être aussi