1. 1
Génie logiciel et méthodes de
conception orientées objetp j
UML
Modélisation dynamique
A. ABDELLATIF
abdelaziz.abdellatif@fst.rnu.tn
2012-2013
GL & MCOO A. Abdellatif
Sommaire
Introduction
Diagramme des cas d’utilisation
Diagramme de séquences
Diagramme de collaboration
Diagramme états-transitions
UML : Modélisation dynamique 2
Diagramme d’activités
Synthèse
2. 2
GL & MCOO A. Abdellatif
Modélisation dynamique :
Introduction
La modélisation dynamique d’un système
consiste à décrire son comportement lorsconsiste à décrire son comportement lors
de sa réaction à son environnement.
Elle se fait à l’aide des diagrammes
suivants :
Diagramme des cas d’utilisation
Diagramme de séquences
Diagramme de collaboration
Di ét t t iti
UML : Modélisation dynamique 3
Diagramme états-transitions
Diagramme d’activités
Diagramme des cas
d’utilisation
3. 3
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Présentation
Représente les utilisations possibles d’un système
par les différents acteurs.p
Représente le système du point de vue de
l’utilisateur.
Le concept de cas d’utilisation (use case) a été
introduit par Ivar Jacobson (OOSE).
Un cas d’utilisation représente une manière d’utiliser
un système.
Les cas d’utilisation constituent un moyen efficace
pour représenter les besoins des utilisateurs et les
UML : Modélisation dynamique 5
p p
structurer.
Autres utilisations des cas d’utilisation :
Test du nouveau système
Utilisation du nouveau système.
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation:
Concepts de base
Le diagramme des cas d’utilisation se base sur
les concepts suivants :les concepts suivants :
Système : Représente le domaine étudié. Il permet
de déterminer les limites au-delà desquelles les
fonctionnalités seront exclues.
Acteur : Représente un rôle joué par une personne
ou un système qui interagit avec le système.
Cas d’utilisation : Représente une interaction entre
t t l tè
UML : Modélisation dynamique 6
un acteur et le système.
Association : C’est une association entre acteurs,
entre cas d’utilisation ou entre acteur et cas
d’utilisation.
4. 4
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Représentation du système
Nom système
UML : Modélisation dynamique 7
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Les acteurs
Un acteur est toute entité qui joue un rôle, actif ou
passif vis-à-vis du systèmepassif, vis-à-vis du système
Un acteur peut être :
Un utilisateur direct du système,
Un administrateur (assure la maintenance) du
système,
Tout autre système externe avec lequel le système
UML : Modélisation dynamique 8
interagit.
Une même personne ou système peut jouer le rôle de
plusieurs acteurs.
5. 5
GL & MCOO A. Abdellatif
Classification des acteurs
Classification selon l’importance des
acteurs:
Acteurs principaux : Ceux qui agissent
sur le système.
Acteurs secondaires : Ceux sur
lesquels le système agit.
UML : Modélisation dynamique 9
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Représentation d’un acteur
Trois représentations possibles :
Nom acteur
<<Actor>>
Nom acteur
Nom acteur
Exemples :
UML : Modélisation dynamique 10
Utilisateur
<<Actor>>
Système de contrôle
Administrateur
6. 6
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Description des acteurs
La représentation graphique des acteurs
peut être complétée par une description
textuelle.
La description d’un acteur doit indiquer :
Le rôle de l’acteur (texte libre)
Le type de l’acteur (principal ou
UML : Modélisation dynamique 11
Le type de l acteur (principal ou
secondaire)
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Relations entre acteurs
Possibilité de relier des acteurs par
une association de généralisation.
Acteur 1 Utilisateur
Exemple :
UML : Modélisation dynamique 12
Acteur 2 Acteur 3
Client Administrateur
p
7. 7
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Les cas d’utilisation
Un cas d’utilisation constitue une abstraction
d’ di l t t t l tèd’un dialogue entre un acteur et le système.
Il représente une fonction qui doit être
assurée par le système.
A un cas d’utilisation correspond un ensemble
de scénarios.
UML : Modélisation dynamique 13
Similitude :
Cas d’utilisation Classe
Scénario instance de cas d’utilisation
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Utilisation des cas d’utilisation
Les cas d’utilisation sont essentiellement utilisés pour la
définition des besoinsdéfinition des besoins.
Ils peuvent être également utilisés :
Par les analystes pour comprendre les fonctions du
système.
Par les développeurs pour réaliser le logiciel.
Par les architectes pour concevoir des scénarios de
UML : Modélisation dynamique 14
déploiement.
Par les testeurs pour tester le logiciel.
Le processus unifié est guidé par les cas d’utilisation.
8. 8
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Représentation de cas d’utilisation
nom cas utilisation
UML : Modélisation dynamique 15
Enregistrer commande
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Description de cas d’utilisation
Chaque cas d’utilisation peut être décrit
par :
Une description textuelle
Un ou plusieurs diagrammes de
séquence
Un ou plusieurs diagrammes de
UML : Modélisation dynamique 16
collaboration
9. 9
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Description textuelle
La description textuelle d’un cas
d’ tili ti t t l élé td’utilisation peut comporter les éléments
suivants :
Sommaire d’identification (titre, but,
résumé, acteurs, version, responsable)
Description des enchaînements (pré
conditions, fonctionnement normal,
UML : Modélisation dynamique 17
, ,
exceptions, post-conditions)
Besoins en IHM
Contraintes non fonctionnelles
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Associations
Un diagramme de cas d’utilisations peut
comporter trois types d’associations :
Association entre acteurs (généralisation)
Association entre acteur et cas
d’utilisation (communication)
Association entre cas d’utilisation
UML : Modélisation dynamique 18
(utilisation, extension)
10. 10
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Association entre acteur et C. U.
Tout acteur est associé à au moins un cas
d’utilisationd utilisation.
Tout cas d’utilisation est associé à au moins
un acteur.
L’association représente la communication
entre l’acteur et le système pour réaliser le
cas d’utilisation.
UML : Modélisation dynamique 19
Acteur 1
CU1
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation:
Association entre acteur et C. U.
Une association entre un acteur et un cas
d’ ili i ê i éd’utilisation peut être orientée ou non.
Lorsqu’elle est orientée, elle indique le type
de l’acteur : principal ou secondaire.
CU1 CU1
UML : Modélisation dynamique 20
Acteur 1
Acteur principal
Acteur 1
Acteur secondaire
11. 11
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Association entre C. U.
Généralement les cas d’utilisation ne sont
pas reliées par des associations.pas reliées par des associations.
Dans certains cas, des associations peuvent
établies entre cas d’utilisation.
Deux types d’associations :
Association d’utilisation (Use) ou
d’inclusion (Include)
Association d’extension (Extend)
Le type de l’association est précisé sous
<<type>>
CU1
UML : Modélisation dynamique 21
Le type de l association est précisé sous
forme de stéréotype.
CU2
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Association d’utilisation (include)
<<include>>
CU1
L’association d’utilisation (use) ou d’inclusion
(include) entre un CU1 et CU2 signifie que CU1
comprend le comportement de CU2.
CU1
CU2
Enregistrer facture
Exemple :
UML : Modélisation dynamique 22
<<include>>
<<include>>Enregistrer commande
Identification
g
Exemple :
12. 12
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Association d’utilisation (include)
L’association d’utilisation (use) ou CU1
d’inclusion (include) permet de:
Factoriser les traitements communs
à plusieurs cas d’utilisation.
Découper les cas d’utilisation
complexes.
<<include>>
CU1
UML : Modélisation dynamique 23
CU2
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Association d’extension (extend)
CU1
L’association d’extension (extend) entre un CU1 et
CU2 signifie que CU1 étend le comportement de
CU2.
<<extend>>
CU1
CU2
Exemple :
UML : Modélisation dynamique 24
Exemple :
<<extend>>
Virement internet
Virement
13. 13
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Association d’extension (extend)
Lorsque l’extension est conditionnelle, un point
d’extension est précisé dans le cas d’extension cibled’extension est précisé dans le cas d’extension cible.
<<extend>>
CU1
CU2
Point
extension
Exemple :
UML : Modélisation dynamique 25
<<extend>>
Créer client
Enregistrer commande
Client inexistant
GL & MCOO A. Abdellatif
Exemple de diagramme de C.U.:
Bibliothèque
<<include>>
<<include>>
<<include>>
Abonné
Sce abonnement
Gérer abonnement
Enregistrer emprunt s'authentifier
UML : Modélisation dynamique 26
<<extend>>
Bibliothécaire
Enregistrer retour Sanctionner abonné
Hors délai
14. 14
Diagramme de séquenceg q
GL & MCOO A. Abdellatif
Diagramme de séquence :
Présentation
Ce diagramme représente les interactions
l bj d i d lentre les objets de point de vue temporel.
Il permet de détailler un diagramme de cas
d’utilisation.
Un diagramme de séquence décrit un
scénario d’un cas d’utilisation.
Un diagramme de séquence représente :
UML : Modélisation dynamique 28
Un diagramme de séquence représente :
Le système actuel en phase d’analyse.
Le futur système en phase de conception.
15. 15
GL & MCOO A. Abdellatif
Diagramme de séquence :
Concepts de base
Le diagramme de séquences se base sur
les concepts suivants :
Objet : Description d’un objet du monde réel
(instance de classe). Il peut être une
personne ou une chose.
Message : C’est le véhicule de la
i ti t l bj t
UML : Modélisation dynamique 29
communication entre les objets.
GL & MCOO A. Abdellatif
Diagramme de séquence :
Représentation des objets
Objet1 Object2:Class1 :Class2
Ligne de
vie de
l’objet
UML : Modélisation dynamique 30
Le premier objet d’un diagramme de séquence
représente généralement un utilisateur du système.
Il peut être représenté comme un acteur. Acteur 1
16. 16
GL & MCOO A. Abdellatif
Diagramme de séquence :
Représentation des messages
Objet1 Objet2 objet3
Émetteur
Message_2
Message_1
Émetteur
Chronologie
UML : Modélisation dynamique 31
Récepteur
GL & MCOO A. Abdellatif
Diagramme de séquence :
Types d’envoi de messages
L’envoi d’un message entre deux
acteurs peut être :
Objet1 Objet2
acteurs peut être :
Synchrone : l’objet émetteur
est bloqué jusqu’à ce que le
récepteur termine le traitement
du message.
Asynchrone : l’objet émetteur
est libre dés que le message
est émis.
Objet1 Objet2
Message synchrone
UML : Modélisation dynamique 32
est émis.
Message asynchrone
17. 17
GL & MCOO A. Abdellatif
Diagramme de séquences :
Durée de transmission de message
Lorsque la durée de transmission d’un
message est importante, elle peut être
représentée graphiquement :
Message qui dure
Objet1 Objet2
UML : Modélisation dynamique 33
GL & MCOO A. Abdellatif
Diagramme de séquences :
Message réflexif
Un objet peut envoyer un message à
lui-même: c’est un message réflexif.
Message reflexif
objet3 Remarque :
Il s’agit généralement d’un objet
composite.
UML : Modélisation dynamique 34
18. 18
GL & MCOO A. Abdellatif
Diagramme de séquences :
Message de création d’objet
Dans certains cas, Objet1
un objet n’existe
pas initialement. Il
est créé par un
message.
Créer
Objet2
UML : Modélisation dynamique 35
GL & MCOO A. Abdellatif
Diagramme de séquences :
Message de suppression d’objet
Dans certains cas,
un objet disparaît
dans un diagramme
de séquence. Il est
détruit par un
message.
Objet1 Objet2
UML : Modélisation dynamique 36
Détruire
19. 19
GL & MCOO A. Abdellatif
Diagramme de séquences :
Période d’activité d’objet
Dans certains cas, il Objet 1 Objet 2
est utile de
représenter la
période pendant
laquelle un objet
est actif : période
Activation
Objet 1 Objet 2
UML : Modélisation dynamique 37
d’activité.
GL & MCOO A. Abdellatif
Diagramme de séquences :
Message de retour
Dans le cas d’activation
d’ bj td’un objet par un message
synchrone, le message de
retour est implicite.
Dans le cas d’activation
d’un objet par un message
asynchrone, le message de
retour doit être représenté
Retour
Activation
Objet 1 Objet 2
UML : Modélisation dynamique 38
retour doit être représenté
explicitement.
20. 20
GL & MCOO A. Abdellatif
Diagramme de séquences :
Message conditionnel
Dans certains cas, l’envoi d’un message est soumis
à ditià une condition.
Objet 1 Objet 2
UML : Modélisation dynamique 39
[condition]: Message
GL & MCOO A. Abdellatif
Diagramme de séquences :
Messages itératifs
Dans certains cas, l’envoi d’un ou plusieurs
t êt d it d f ité timessages peut être reproduit de façon itérative.
Message 1
Objet 1 Objet 2
While
condition loop
UML : Modélisation dynamique 40
End loop
21. 21
Diagramme de collaborationg
GL & MCOO A. Abdellatif
Diagramme de collaboration :
Présentation
Un diagramme de collaboration décrit
les interactions entre les objets
(comme le diagramme de séquence).
Il met l’accent sur la structure
spatiale.
Il est assez proche du diagramme
UML : Modélisation dynamique 42
Il est assez proche du diagramme
d’objets.
22. 22
GL & MCOO A. Abdellatif
Diagramme de collaboration :
Concepts de base
Le diagramme de collaboration se base sur les
iconcepts suivants :
Objet : Description d’un objet du monde réel
(instance de classe). Il peut être une personne ou
une chose.
Lien : Relation structurelle entre deux objets..
Message : C’est le véhicule de la communication
t l bj t
UML : Modélisation dynamique 43
entre les objets.
Collaboration : C’est une relation contextuelle entre
un ensemble d’objets qui collaborent ensemble pour
atteindre un objectif.
GL & MCOO A. Abdellatif
Diagramme de collaboration :
Représentation d’un objet
Les objets sont représentés comme dans le diagramme d’objets :
Nom objet Nom objet:Nom classe :Nom classe
Objet nommé Objet nommé avec sa classe Objet anonyme
UML : Modélisation dynamique 44
:Classe 1
Objet multiple Personne
Acteur 1
23. 23
GL & MCOO A. Abdellatif
Diagramme de collaboration :
Représentation des liens
Les liens sont représentés comme dans le diagramme d’objets :
Objet 1 Objet 2
Cl 1Objet 1
UML : Modélisation dynamique 45
:Classe 1Objet 1
GL & MCOO A. Abdellatif
Diagramme de collaboration :
Représentation des messages
Émetteur Récepteur
Message objet 2Objet 1
UML : Modélisation dynamique 46
Imprimer page :Imprimante:Programme
Exemple :
24. 24
GL & MCOO A. Abdellatif
Diagramme de collaboration :
Messages réflexifs
Remarque :
Message 1
Objet 1
UML : Modélisation dynamique 47
Remarque :
Il s’agit généralement d’objets composites : un objet
composé envoie un message à un de ses objets
composants.
GL & MCOO A. Abdellatif
Lorsque le diagramme de collaboration comporte
l i il d i t til d é t
Diagramme de collaboration :
Ordre des messages
2: Faire cela
1: Faire ceci
Objet 2
Objet 1
Objet 3
plusieurs messages, il devient utile de représenter
l’ordre d’envoi de ces messages.
N° de séquence
UML : Modélisation dynamique 48
3: Faire autre chose
Objet 4
25. 25
GL & MCOO A. Abdellatif
Dans un diagramme de collaboration, tous les messages ne
correspondent pas à une seule activité. Il devient utile d’introduire:
Diagramme de collaboration :
Hiérarchisation dans l’ordre des messages
Un partitionnement des messages (groupes de messages)
Une hiérarchie de messages
La forme générale du numéro de séquence d’un message est :
N°séquence ::= n°|nom{.N°séquence}
Exemples :
1
1.2
2.1.1
3.1: Message ...2.1: Message ...
1: Message ...Objet 1 Objet 2
Objet 3 Objet 5
UML : Modélisation dynamique 49
5.1.a
5.1.b
B.2
B.3
3.2: Message ...
2.2: Message...
Objet 4 Objet 6
GL & MCOO A. Abdellatif
La synchronisation dans un message est le
f it l’ i d d i t diti é
Diagramme de collaboration :
Synchronisation des messages
fait que l’envoi de ce dernier est conditionné
par l’envoi préalable d’autres messages.
La forme générale de la synchronisation est :
Synchronisation ::= N°séquence {, N° séquence}/
UML : Modélisation dynamique 50
Exemples :
1 /
1.2, 1.3 /
26. 26
GL & MCOO A. Abdellatif
Exemple :
Diagramme de collaboration :
Synchronisation des messages
3.2: Message ...
3.1: Message ...2.1: Message ...
1: Message ...
3.1, 3.2/ 4: Message ...
Objet 1 Objet 2
Objet 3 Objet 5
UML : Modélisation dynamique 51
2.2: Message...
Objet 4 Objet 6
GL & MCOO A. Abdellatif
L’envoi d’un message peut être soumis à une
diti
Diagramme de collaboration :
Messages conditionnels
condition.
La forme de la condition est :
Condition ::= [Condition]
Exemples :
[a>b]
[i<=5]
UML : Modélisation dynamique 52
[ ]
1[a<b]: Message ...
Objet 1 Objet 2
27. 27
GL & MCOO A. Abdellatif
L’envoi d’un message peut être répétitif.
Diagramme de collaboration :
Messages itératifs
La forme de l’itération est :
Itération ::= *[Condition]
Exemples :
*[i := 1..n]
*[a<=b]
1*[i:=1 n]: Message
UML : Modélisation dynamique 53
1 [i:=1..n]: Message ...
Objet 1 Objet 2
GL & MCOO A. Abdellatif
L’appel d’un message peut préciser les
t d’ l
Diagramme de collaboration :
Arguments d’appel d’un message
arguments d’appel.
La forme de l’itération est :
nom_message(arg1, arg2, …)
Exemple :
soustraire(date_fin, date_debut)
UML : Modélisation dynamique 54
1: Soustraire(date_fin, date_début)Objet 1 Objet 2
28. 28
GL & MCOO A. Abdellatif
Un objet actif est un objet qui contrôle les autres
bj t
Diagramme de collaboration :
Notion d’objet actif
objets.
2: Faire cela
1: Faire ceci
Objet 1
Objet 2
Objet 3
Objet actif
1: Lire fichier
3: Ecrire fichier
:Programme
:Disque
Exemple :
UML : Modélisation dynamique 55
3: Faire autre chose
Objet 4
2: Imprimer
:Imprimante
GL & MCOO A. Abdellatif
Diagramme de collaboration :
Création et destruction d’objets
Un message peut créer ou détruire un autre objet.
Création d’objet :Création d objet :
Destruction d’objet :
CréerObjet 1 Objet 2 Objet 1 Objet 2
{nouveau}
UML : Modélisation dynamique 56
Objet 1 Objet 2
{détruit}
DétruireObjet 1 Objet 2
29. 29
GL & MCOO A. Abdellatif
Les diagrammes de collaboration,
l di d é
Diagramme de collaboration :
Similitude diagramme séquence/collaboration
comme les diagrammes de séquence,
permettent de donner une
représentation détaillée des
diagrammes de cas d’utilisation.
Inutile de faire les deux diagrammes:
un seul suffit
UML : Modélisation dynamique 57
un seul suffit.
Possibilité de déduire l’un des
diagrammes à partir de l’autre.
GL & MCOO A. Abdellatif
Diagramme de collaboration :
Exemple
Objet 1
Message_3
Message_2
Message_1
Objet 1 Objet 2 Objet 3
3: Message_3
2: Message_2
1: Message_1
Objet 2 Objet 3
UML : Modélisation dynamique 58
Message_4
4: Message_4
30. 30
Diagramme d’états-transitionsg
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Présentation
Représente les états possibles des objets d’une
classe donnée ainsi que les transitions entre lesclasse donnée ainsi que les transitions entre les
états.
Représente la dynamique des objets d’une classe.
Se base sur le principe d’automate.
Une classe, lorsqu’elle a une dynamique non
négligeable, dispose de son automate, représenté
sous forme de diagramme d’états transitions.
Les classes n’a ant pas de d namiq e impo tante
UML : Modélisation dynamique 60
Les classes n’ayant pas de dynamique importante,
n’ont pas besoins d’un diagramme d’états-
transitions.
31. 31
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Concepts de base
Le diagramme d’états-transitions se base sur les concepts
suivants :suivants :
État : C’est la situation, à un instant donné, d’un objet. Il
est déterminé par les valeurs des propriétés de l’objet à cet
instant.
Transition : Représente le passage d’un objet d’un état à
un autre.
Événement : C’est la combinaison d’un ensemble
d’informations pour déclencher une transition.
i C d à é ( é h d ) d l
UML : Modélisation dynamique 61
Action : Correspond à une opération (ou méthode) de la
classe qui sera exécuté lorsqu’un événement a lieu.
Activité : C’est une action particulière dont l’exécution
dure dans le temps..
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Les états
Un état représente la situation, à un instant donné, d’un objet.
é dé é l l d é é d l’ bUn état est déterminé par les valeurs des propriétés de l’objet
à cet état.
Pour chaque objet, il y a trois types d’états :
État initial : C’est l’état dans lequel se trouve l’objet
lorsqu’il est créé. Chaque objet a un et un seul état initial
État intermédiaire : Ce sont les différents états par
lesquels le système peut passer depuis sa création jusqu’à
UML : Modélisation dynamique 62
sa destruction. Un objet peut avoir plusieurs états
intermédiaires.
État final : C’est l’état qui met fin à la vie de l’objet. Un
objet peut ne pas avoir d’état final (objet éternel), un seul
ou plusieurs états finaux.
32. 32
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Représentation des états
Et t i t édi i
Exemples :
Etat initial
Etat intermédiaire
Etat final
Livre emprunté
UML : Modélisation dynamique 63
Nouveau livre
Livre emprunté
Livre perdu
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Les transitions
Une transition représente le passage d’un
objet d’un état à un autreobjet d un état à un autre.
Une transition est une connexion
unidirectionnelle entre un état source et
un état de destination.
La source et la destination peuvent
correspondre à un même état (boucle).
é
UML : Modélisation dynamique 64
Une transition est toujours instantanée.
Lorsqu’elle dure, il faut prévoir un état
intermédiaire.
33. 33
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Représentation des transitions
Etat source Etat destination
Etat X
UML : Modélisation dynamique 65
Etat X
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Exemple de transition
Nouveau livre
EmpruntéEn attente
Lecture fichier
UML : Modélisation dynamique 66
Livre perdu
Fermeture fichier
34. 34
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Les événements
Un événement est la combinaison d’un
bl d’i f i dé l hensemble d’informations pour déclencher
une transition d’un état vers un autre.
Un événement est associé à une transition.
Un événement est décrit par :
Un nom,
Une liste de paramètres
UML : Modélisation dynamique 67
Une liste de paramètres.
Nom_evenement (nom_paramètre : type, …)
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Représentation des événements
Type argument
Evenement 1(p1:int, p2:char)Etat 1 Etat 2
Type argument
UML : Modélisation dynamique 68
Nom événement Nom argument
35. 35
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Exemples d’événements
Nouveau livre non_fin_fichier()
Enregistrement livre(date_enr : date)
Enregistrer retour(date_retour:date)
Enregistrement emprunt(num_abonne:int, date_emp:date)
EmpruntéEn attente
Fin_fichier()
_ _ ()
Lecture fichier
UML : Modélisation dynamique 69
declarer perte(date_perte:date)
Livre perdu
Fermeture fichier
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Conditions sur événements (gardes)
Dans certains cas, un événement ne
peut déclencher une transition que
lorsqu’une condition est vérifiée.
Une condition associée à un
événement est appelée garde.
UML : Modélisation dynamique 70
Evenement [Condition]Etat 1 Etat 2
36. 36
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Conditions sur événements :exemple
Remarque :q
Les conditions
doivent être
mutuellement
exclusives.
Trop chaud [Eté] Trop chaud [Hiver]
Arrêt
AérerCli ti
UML : Modélisation dynamique 71
AérerClimatiser
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Les actions
Un diagramme d’états-transitions est relatif à une
classeclasse.
Une classe comporte un ensemble d’opérations.
Une transition, déclenchée par un événement, fait
passer un objet d’un état à un autre.
L’opération qui sera exécutée sur l’objet cible lorsque
l’événement a lieu est dite action.
L’exécution d’une action est instantannée.
è é é
UML : Modélisation dynamique 72
L’action utilise les paramètres de l’événement.
Evenement 1/ Action 1Etat 1 Etat 2
37. 37
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Les actions : représentation
Evenement 1/ Action 1Etat 1 Etat 2
Exemple :
Demande emprunt/ Enregistrer emprunt
UML : Modélisation dynamique 73
Demande emprunt/ Enregistrer emprunt
EmpruntéDisponible
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Les actions
Lorsqu’un objet qui se trouve dans un état
é édonné peut exécuter plusieurs actions, ces
actions sont représentées à l’intérieur de
l’état.
Ces actions sont exécutées :
à l’entrée de l’état
à l ti d l’ét t
UML : Modélisation dynamique 74
à la sortie de l’état
lors de la réalisation d’un événement interne à
l’état
38. 38
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Les actions
Etat 2
Exemple :
entry / Action_1
exit / Action_2
Evenement 1() / Action_3
Di ibl
UML : Modélisation dynamique 75
Retour livre Emprunté
Disponible
entry / Enregistrer retour
exit / Enregistrer sortie
Demande durée dispo() / Clacul durée disponibilité
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Les activité
Une activité est une opération qui s’exécute
é élorsqu’un objet se trouve dans un état donné.
Une activité se distingue par rapport à une action
par le fait que :
Une action est instantanée
Une activité dure dans le temps.
UML : Modélisation dynamique 76
Etat 2
do / Opération
En restauration
do / Réparer
39. 39
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Généralisation d’états
Le principe de généralisation peut être utilisé
pour simplifier un diagramme d’états-pour simplifier un diagramme d états
transitions.
Deux ou plusieurs états qui peuvent être un
état de départ pour le même état peuvent
être généralisés.
Ev1
A1 A2
Ev1
A
A1 A2
UML : Modélisation dynamique 77
Ev2Ev2
B
Ev2
B
GL & MCOO A. Abdellatif
diagramme d’états-transitions:
Exemple : Livre
Nouveau
Déclaration retrait
Declaration perte
Retour réparation
Envoi réparation
Retour livre
Demande emprunt
AffectationAffectation
Disponible
Emprunté En réparation
UML : Modélisation dynamique 78
Declaration perte
Declaration perte
Prolongation Réfus réparation
Réparation impossible
Perdu Retiré
40. 40
Diagramme d’activitésg
GL & MCOO A. Abdellatif
Diagramme d’activités :
Présentation
Permet de modéliser les traitements.
Permet de représenter graphiquement le
comportement d’une méthode ou la
réalisation d’un cas d’utilisation.
Assez proche du diagramme d’états-
transitions.
Se base sur une représentation
UML : Modélisation dynamique 80
Se base sur une représentation
suffisamment précise pour pouvoir
générer du code.
41. 41
GL & MCOO A. Abdellatif
Diagramme d’activités :
Concepts de base
Le diagramme d’activités se base sur les concepts
suivants:suivants:
Activité : C’est une étape dans la réalisation
d’une méthode ou un cas d’utilisation.
Décision : C’est une façon de représenter les
condition de déclenchement des activités.
Synchronisation : C’est un mécanisme
permettant de représenter le parallélisme
UML : Modélisation dynamique 81
permettant de représenter le parallélisme
d’exécution des activités.
Unité organisationnelle : Permet de répondre
à la question « qui fait quoi ? ».
GL & MCOO A. Abdellatif
Diagramme d’activités :
Structure d’un D. A.
Un diagramme d’activités se présente comme un graphe
composé de nœuds inter reliés par des arcs orientés :composé de nœuds inter reliés par des arcs orientés :
Noeuds : Chaque nœud peut correspondre à :
Une activité (début, exécutable, fin)
Une décision
Une synchronisation
Arcs : Chaque arc représente une transition entre noeuds.
Un arc peut relier :
Une activité à une autre activité
UML : Modélisation dynamique 82
Une activité à une décision ou inversement
Une activité à une synchronisation ou inversement
Une décision à une synchronisation ou
inversement
42. 42
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les activités
Un diagramme d’activités est un enchaînement d’un
ensemble d’activitésensemble d activités.
Une activité correspond à une étape d’une méthode ou d’un
cas d’utilisation.
Une activité est l’équivalent d’une transition dans un
diagramme d’états-transitions permettant de faire passer
un objet d’un état à un autre.
Tout diagramme d’activité :
UML : Modélisation dynamique 83
Tout diagramme d activité :
commence par une activité de départ (start),
comporte un ensemble d’activités exécutables,
se termine par une ou plusieurs activités de fin (end).
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les activités : représentation
Activité Vérifier existence client
Début
UML : Modélisation dynamique 84
Fin
43. 43
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les transitions
Une transition représente le passage
d’une activité à une autred une activité à une autre.
Ce passage peut être :
Automatique : la fin d’une activité entraîne le
déclenchement automatique d’une autre
activité.
Conditionnel : le déclenchement de la
deuxième activité ne peut se faire que :
UML : Modélisation dynamique 85
Si une condition est vérifiée utilisation d’un nœud
de type décision.
Après la fin d’une ou plusieurs autres activités
utilisation d’un nœud de type synchronisation ou
fusion.
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les transitions : représentation
Transition automatique :
Transition conditionnelle :
Activité 1
Activité 2
Insérer carte
Saisir code
UML : Modélisation dynamique 86
[Condition 2][Condition1]
Activité 1
Activité 2 Activité 3
[Solde insuffisant][Solde suffisant]
Saisir montant
Distribuer billets Afficher message
44. 44
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les décisions
Un nœud de décision permet d’assurer la
transition conditionnelle d’une activité verstransition conditionnelle d une activité vers
deux ou plusieurs autres activités
mutuellement exclusives.
Activité 1
Saisir montant
[Si ]
UML : Modélisation dynamique 87
[Condition 2][Condition 1]
Activité 2 Activité 3
[Solde insuffisant][Solde suffisant]
Distribuer billets Afficher message
[Sinon]
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les fusions
Un nœud de fusion (merge) permet d’assurer
l i i d l i i i é l ila transition de plusieurs activités alternatives
vers une autre activité.
Activité 1 Activité 2
[Solde insuffisant][Solde suffisant]
Saisir montant
Di t ib bill t Afficher message
UML : Modélisation dynamique 88
Activité 3
Distribuer billets Afficher message
Restituer carte
45. 45
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les synchronisations
Un nœud de synchronisation permet d’ouvrir et de
fermer des branches parallèles dans un diagrammep g
d’activités.
Il peut s’agir d’un nœud de :
Bifurcation ou débranchement (Fork) : la fin
d’une activité entraîne le déclenchement parallèle de
deux ou plusieurs activités.
Union ou jointure (Join): le déclenchement d’une
activité nécessite la fin d’exécution de deux ou
plusieurs activités parallèles.
R
UML : Modélisation dynamique 89
Remarque :
Il est possible de fusionner deux nœuds de bifurcation :
la fin de deux ou plusieurs activités parallèles entraîne le
déclenchement de deux ou plusieurs autres activités
parallèles.
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les synchronisations : représentation
Bifurcation ou débranchement (Fork) :
Activité 1 Saisir montant
Union ou jointure (Join):
Activité 2 Activité 3
Saisir montant
Demander autorisation Afficher publicité
Activité 1Activité 2 Préparer marchandise Editer facture
UML : Modélisation dynamique 90
Activité 3 Livrer marchandise
p d te actu e
46. 46
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les synchronisations
Remarques :
Les points d’entrée et de sortie d’une
synchronisation peuvent être des activités
ou bien des noeuds de décision.
Il est possible de fusionner deux nœuds de
bifurcation : la fin de deux ou plusieurs
activités parallèles entraîne le
UML : Modélisation dynamique 91
activités parallèles entraîne le
déclenchement de deux ou plusieurs autres
activités parallèles.
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les objets
On peut préciser dans un diagramme
d’ ti ité l bj t i léd’activités les objets manipulés.
Un objet peut être un point d’entrée
et/ou un point de sortie d’une
activité.
Lorsque le même objet apparaît
pl sie s fois dans n diag amme
UML : Modélisation dynamique 92
plusieurs fois dans un diagramme
d’activités, on peut préciser ses
différents états.
48. 48
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les unités organisationnelles
On peut préciser dans un diagramme
d’ i i é l i é li ld’activités les acteurs qui réalisent les
activités.
Un acteur peut être une personne ou une
structure. On parle d’unité
organisationnelle.
Les unités organisationnelles permettent de
UML : Modélisation dynamique 95
Les unités organisationnelles permettent de
répondre à la question: QUI FAIT QUOI ?.
Autres appellations : partitions, couloirs
d’activité, couloirs d’eau.
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les unités organisationnelles : représentation
Unité 3Unité 2Unité 1
Activité 1Activité 2
Activité 0
UML : Modélisation dynamique 96
Activité 3
49. 49
GL & MCOO A. Abdellatif
diagramme d’activités :
Exemple : Gestion commerciale
MagasinService commercialClient
[Annuler]
[Modifier]
Passer commande Vérifier disponibilité
Calculer prix
Devis
[Créé]
Etudier devis
Etablir facture Préparer articles
Facture
[Emise]
Régler facture
Facture
Valider paiement
UML : Modélisation dynamique 97
[Réglé]
Valider paiement
LivrerClôturer dossier
GL & MCOO A. Abdellatif
Modélisation dynamique :
Synthèse
Utiliser les diagrammes de cas d’utilisation pour
décrire les besoins des utilisateurs, les fonctions dudécrire les besoins des utilisateurs, les fonctions du
nouveau système, ...
Utiliser les diagrammes de séquence et les
diagrammes de collaboration pour décrire les
scénarios des cas d’utilisation.
Utiliser les diagrammes d’états-transition pour
décrire la dynamique des objets.
Utiliser les diagrammes d’activités pour décrire de
UML : Modélisation dynamique 98
g p
façon détaillée les méthodes et les cas d’utilisation.