SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
47
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les objets : représentation
Obj 1
Activité5
Objet 1
[etat 1]
Activité 6
Objet 2
[Etat 2]
UML : Modélisation dynamique 93
Activité 7 Activité 8
Objet 3
[Etat 3]
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les objets : exemples
Objet 1 Commande
Exemple :
Activité5
Objet 1
[etat 1]
Activité 6
Objet 2
[Etat 2]
Activité 7 Activité 8
Objet 3
[Etat 3]
Enregistrer commande [enregistrée]
Livrer
Com m ande
[Payée]
Exemple :
UML : Modélisation dynamique 94
Enregistrer payement Livraison
Commande
[Réglée]
Exemple :
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
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.

Contenu connexe

Tendances

UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriMansouri Khalifa
 
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisationNassim Amine
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile Raoua Bennasr
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011agnes_crepet
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Mehdi Hamime
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
Site web d'une agence de voyage
Site web d'une agence de voyage Site web d'une agence de voyage
Site web d'une agence de voyage WissalWahsousse
 
Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionLilia Sfaxi
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Ahmed Makni
 
Conception et développement d’un système d’alerte et notification d’une tou...
Conception et développement  d’un système d’alerte et notification  d’une tou...Conception et développement  d’un système d’alerte et notification  d’une tou...
Conception et développement d’un système d’alerte et notification d’une tou...Bilel Khaled ☁
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrigeAmineMouhout1
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriMansouri Khalifa
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriMansouri Khalifa
 
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...mouafekmazia
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesLilia Sfaxi
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidBadrElattaoui
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux fehmi arbi
 

Tendances (20)

UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Site web d'une agence de voyage
Site web d'une agence de voyage Site web d'une agence de voyage
Site web d'une agence de voyage
 
Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat Transition
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
 
Conception et développement d’un système d’alerte et notification d’une tou...
Conception et développement  d’un système d’alerte et notification  d’une tou...Conception et développement  d’un système d’alerte et notification  d’une tou...
Conception et développement d’un système d’alerte et notification d’une tou...
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
PROJET JAVA BD MySQL
PROJET JAVA BD MySQLPROJET JAVA BD MySQL
PROJET JAVA BD MySQL
 
Uml
UmlUml
Uml
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
 
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications Mobiles
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application Android
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
 

Similaire à UML Diagrammes Dynamiques

Similaire à UML Diagrammes Dynamiques (20)

UML3
UML3UML3
UML3
 
03GL-diagramme de cas dutilisation.pptx
03GL-diagramme de cas dutilisation.pptx03GL-diagramme de cas dutilisation.pptx
03GL-diagramme de cas dutilisation.pptx
 
03GL-diagramme de cas dutilisation (1).ppsx
03GL-diagramme de cas dutilisation (1).ppsx03GL-diagramme de cas dutilisation (1).ppsx
03GL-diagramme de cas dutilisation (1).ppsx
 
Uml
UmlUml
Uml
 
7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation
 
diagramme de cas d'utilisation
diagramme de cas d'utilisationdiagramme de cas d'utilisation
diagramme de cas d'utilisation
 
Diagramme de cas d_utilisation.pptx
Diagramme de cas d_utilisation.pptxDiagramme de cas d_utilisation.pptx
Diagramme de cas d_utilisation.pptx
 
CM CU-cockburn
CM CU-cockburnCM CU-cockburn
CM CU-cockburn
 
UML v2
UML v2UML v2
UML v2
 
Uml : Diagrammes de Cas dutilisation -- Modele preliminaire -- 23
Uml : Diagrammes de Cas dutilisation -- Modele preliminaire -- 23Uml : Diagrammes de Cas dutilisation -- Modele preliminaire -- 23
Uml : Diagrammes de Cas dutilisation -- Modele preliminaire -- 23
 
Initiation à UML: Partie 2
Initiation à UML: Partie 2Initiation à UML: Partie 2
Initiation à UML: Partie 2
 
Introduction à Sysml
Introduction à SysmlIntroduction à Sysml
Introduction à Sysml
 
Expo diagramme cas d'utilisation
Expo diagramme cas d'utilisationExpo diagramme cas d'utilisation
Expo diagramme cas d'utilisation
 
Unified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VFUnified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VF
 
Igl cours 3 - introduction à uml
Igl   cours 3 - introduction à umlIgl   cours 3 - introduction à uml
Igl cours 3 - introduction à uml
 
srep_cours_05.pdf
srep_cours_05.pdfsrep_cours_05.pdf
srep_cours_05.pdf
 
Cours2 uml usecase
Cours2 uml usecaseCours2 uml usecase
Cours2 uml usecase
 
Definitiondesbesoinsuml
DefinitiondesbesoinsumlDefinitiondesbesoinsuml
Definitiondesbesoinsuml
 
Splpv2 annexes-c
Splpv2 annexes-cSplpv2 annexes-c
Splpv2 annexes-c
 
UML4
UML4UML4
UML4
 

Plus de 'Farouk' 'BEN GHARSSALLAH' (14)

Chap1 2 dw (1)
Chap1 2 dw (1)Chap1 2 dw (1)
Chap1 2 dw (1)
 
UML2
UML2UML2
UML2
 
UML1
UML1UML1
UML1
 
IPV6
IPV6IPV6
IPV6
 
Transmission de signal
Transmission de signalTransmission de signal
Transmission de signal
 
Custom PrimeFaces components
Custom PrimeFaces componentsCustom PrimeFaces components
Custom PrimeFaces components
 
Custom JSF components
Custom JSF componentsCustom JSF components
Custom JSF components
 
Hibernate
HibernateHibernate
Hibernate
 
Java Server Faces 2
Java Server Faces 2Java Server Faces 2
Java Server Faces 2
 
Business Models
Business ModelsBusiness Models
Business Models
 
People Orientated Approaches
People Orientated ApproachesPeople Orientated Approaches
People Orientated Approaches
 
Leadership strategy
Leadership strategyLeadership strategy
Leadership strategy
 
HTML
HTMLHTML
HTML
 
Css
CssCss
Css
 

UML Diagrammes Dynamiques

  • 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.
  • 47. 47 GL & MCOO A. Abdellatif Diagramme d’activités : Les objets : représentation Obj 1 Activité5 Objet 1 [etat 1] Activité 6 Objet 2 [Etat 2] UML : Modélisation dynamique 93 Activité 7 Activité 8 Objet 3 [Etat 3] GL & MCOO A. Abdellatif Diagramme d’activités : Les objets : exemples Objet 1 Commande Exemple : Activité5 Objet 1 [etat 1] Activité 6 Objet 2 [Etat 2] Activité 7 Activité 8 Objet 3 [Etat 3] Enregistrer commande [enregistrée] Livrer Com m ande [Payée] Exemple : UML : Modélisation dynamique 94 Enregistrer payement Livraison Commande [Réglée] Exemple :
  • 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.