uml diagrammes dynamiques

49
1 Génie logiciel et méthodes de conception orientées objet UML Modélisation dynamique A. ABDELLATIF [email protected] 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

Upload: farouk-ben-gharssallah

Post on 08-May-2015

401 views

Category:

Software


4 download

TRANSCRIPT

Page 1: UML Diagrammes Dynamiques

1

Génie logiciel et méthodes de conception orientées objetp j

UMLModélisation dynamique

A. [email protected]

2012-2013

GL & MCOO A. Abdellatif

Sommaire

IntroductionDiagramme des cas d’utilisationDiagramme de séquencesDiagramme de collaborationDiagramme états-transitions

UML : Modélisation dynamique 2

Diagramme d’activités Synthèse

Page 2: UML Diagrammes Dynamiques

2

GL & MCOO A. Abdellatif

Modélisation dynamique : Introduction

La modélisation dynamique d’un systèmeconsiste à décrire son comportement lorsconsiste à décrire son comportement lorsde sa réaction à son environnement.Elle se fait à l’aide des diagrammessuivants :

Diagramme des cas d’utilisationDiagramme de séquencesDiagramme de collaborationDi ét t t iti

UML : Modélisation dynamique 3

Diagramme états-transitionsDiagramme d’activités

Diagramme des cas d’utilisation

Page 3: UML Diagrammes Dynamiques

3

GL & MCOO A. Abdellatif

Diagramme des cas d’utilisation : Présentation

Représente les utilisations possibles d’un systèmepar les différents acteurs.pReprésente le système du point de vue del’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’utiliserun système.Les cas d’utilisation constituent un moyen efficacepour représenter les besoins des utilisateurs et les

UML : Modélisation dynamique 5

p pstructurer.Autres utilisations des cas d’utilisation :

Test du nouveau systèmeUtilisation du nouveau système.

GL & MCOO A. Abdellatif

Diagramme des cas d’utilisation: Concepts de base

Le diagramme des cas d’utilisation se base surles concepts suivants :les concepts suivants :

Système : Représente le domaine étudié. Il permetde déterminer les limites au-delà desquelles lesfonctionnalités seront exclues.Acteur : Représente un rôle joué par une personneou 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 casd’utilisation.

Page 4: UML Diagrammes Dynamiques

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.

Page 5: UML Diagrammes Dynamiques

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

Page 6: UML Diagrammes Dynamiques

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 3Client Administrateur

p

Page 7: UML Diagrammes Dynamiques

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 ladé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.

Page 8: UML Diagrammes Dynamiques

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 textuelleUn ou plusieurs diagrammes de séquenceUn ou plusieurs diagrammes de

UML : Modélisation dynamique 16

collaboration

Page 9: UML Diagrammes Dynamiques

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é t d’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 IHMContraintes 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)

Page 10: UML Diagrammes Dynamiques

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

Page 11: UML Diagrammes Dynamiques

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.

CU1CU2

Enregistrer factureExemple :

UML : Modélisation dynamique 22

<<include>>

<<include>>Enregistrer commande

Identification

gExemple :

Page 12: UML Diagrammes Dynamiques

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

Page 13: UML Diagrammes Dynamiques

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 cible d’extension est précisé dans le cas d’extension cible.

<<extend>>CU1

CU2Point

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

Page 14: UML Diagrammes Dynamiques

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.

Page 15: UML Diagrammes Dynamiques

15

GL & MCOO A. Abdellatif

Diagramme de séquence : Concepts de base

Le diagramme de séquences se base surles concepts suivants :

Objet : Description d’un objet du monde réel(instance de classe). Il peut être unepersonne 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

Page 16: UML Diagrammes Dynamiques

16

GL & MCOO A. Abdellatif

Diagramme de séquence : Représentation des messages

Objet1 Objet2 objet3Émetteur

Message_2

Message_1

Émetteur

Ch

ron

olo

gie

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

Page 17: UML Diagrammes Dynamiques

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 objetcomposite.

UML : Modélisation dynamique 34

Page 18: UML Diagrammes Dynamiques

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éerObjet2

UML : Modélisation dynamique 35

GL & MCOO A. Abdellatif

Diagramme de séquences : Message de suppression d’objet

Dans certains cas, un objet disparaîtdans un diagramme de séquence. Il est détruit par un message.

Objet1 Objet2

UML : Modélisation dynamique 36

Détruire

Page 19: UML Diagrammes Dynamiques

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 t d’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.

Page 20: UML Diagrammes Dynamiques

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

Page 21: UML Diagrammes Dynamiques

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.

Page 22: UML Diagrammes Dynamiques

22

GL & MCOO A. Abdellatif

Diagramme de collaboration : Concepts de base

Le diagramme de collaboration se base sur lesiconcepts suivants :

Objet : Description d’un objet du monde réel(instance de classe). Il peut être une personne ouune 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 entreun ensemble d’objets qui collaborent ensemble pouratteindre 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 PersonneActeur 1

Page 23: UML Diagrammes Dynamiques

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 :

Page 24: UML Diagrammes Dynamiques

24

GL & MCOO A. Abdellatif

Diagramme de collaboration : Messages réflexifs

Remarque :

Message 1Objet 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

Page 25: UML Diagrammes Dynamiques

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 :11.22.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.a5.1.bB.2B.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 /

Page 26: UML Diagrammes Dynamiques

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

Page 27: UML Diagrammes Dynamiques

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

Page 28: UML Diagrammes Dynamiques

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

:DisqueExemple :

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

Page 29: UML Diagrammes Dynamiques

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

Page 30: UML Diagrammes Dynamiques

30

Diagramme d’états-transitionsg

GL & MCOO A. Abdellatif

Diagramme d’états-transitions : Présentation

Représente les états possibles des objets d’uneclasse 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 nonné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.

Page 31: UML Diagrammes Dynamiques

31

GL & MCOO A. Abdellatif

Diagramme d’états-transitions : Concepts de baseLe diagramme d’états-transitions se base sur les conceptssuivants :suivants :

État : C’est la situation, à un instant donné, d’un objet. Ilest déterminé par les valeurs des propriétés de l’objet à cetinstant.Transition : Représente le passage d’un objet d’un état àun autre.Événement : C’est la combinaison d’un ensembled’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 laclasse qui sera exécuté lorsqu’un événement a lieu.Activité : C’est une action particulière dont l’exécutiondure 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.

Page 32: UML Diagrammes Dynamiques

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 autre objet 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.

Page 33: UML Diagrammes Dynamiques

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

Page 34: UML Diagrammes Dynamiques

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 h ensemble 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

Page 35: UML Diagrammes Dynamiques

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

Page 36: UML Diagrammes Dynamiques

36

GL & MCOO A. Abdellatif

Diagramme d’états-transitions : Conditions sur événements :exemple

Remarque :qLes 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

Page 37: UML Diagrammes Dynamiques

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 empruntEmprunté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’étatlors de la réalisation d’un événement interne à l’état

Page 38: UML Diagrammes Dynamiques

38

GL & MCOO A. Abdellatif

Diagramme d’états-transitions : Les actions

Etat 2

Exemple :

entry / Action_1exit / Action_2Evenement 1() / Action_3

Di ibl

UML : Modélisation dynamique 75

Retour livre EmpruntéDisponible

entry / Enregistrer retourexit / Enregistrer sortieDemande 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éeUne activité dure dans le temps.

UML : Modélisation dynamique 76

Etat 2

do / Opération

En restauration

do / Réparer

Page 39: UML Diagrammes Dynamiques

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 étatstransitions.Deux ou plusieurs états qui peuvent être un état de départ pour le même état peuvent être généralisés.

Ev1A1 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 retraitDeclaration perte

Retour réparation

Envoi réparationRetour livreDemande 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é

Page 40: UML Diagrammes Dynamiques

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 lecomportement d’une méthode ou laré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ésentationsuffisamment précise pour pouvoirgénérer du code.

Page 41: UML Diagrammes Dynamiques

41

GL & MCOO A. Abdellatif

Diagramme d’activités : Concepts de base

Le diagramme d’activités se base sur les conceptssuivants:suivants:

Activité : C’est une étape dans la réalisationd’une méthode ou un cas d’utilisation.Décision : C’est une façon de représenter lescondition de déclenchement des activités.Synchronisation : C’est un mécanismepermettant de représenter le parallélisme

UML : Modélisation dynamique 81

permettant de représenter le parallélismed’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 graphecomposé 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écisionUne 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 inversementUne activité à une synchronisation ou inversementUne décision à une synchronisation ouinversement

Page 42: UML Diagrammes Dynamiques

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és ensemble 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

Page 43: UML Diagrammes Dynamiques

43

GL & MCOO A. Abdellatif

Diagramme d’activités : Les transitions

Une transition représente le passage d’une activité à une autre d 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

Page 44: UML Diagrammes Dynamiques

44

GL & MCOO A. Abdellatif

Diagramme d’activités : Les décisions

Un nœud de décision permet d’assurer latransition conditionnelle d’une activité verstransition conditionnelle d une activité versdeux ou plusieurs autres activitésmutuellement 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’assurerl i i d l i i i é l ila transition de plusieurs activités alternativesvers 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

Page 45: UML Diagrammes Dynamiques

45

GL & MCOO A. Abdellatif

Diagramme d’activités : Les synchronisationsUn nœud de synchronisation permet d’ouvrir et defermer des branches parallèles dans un diagrammep gd’activités.Il peut s’agir d’un nœud de :

Bifurcation ou débranchement (Fork) : la find’une activité entraîne le déclenchement parallèle dedeux ou plusieurs activités.Union ou jointure (Join): le déclenchement d’uneactivité nécessite la fin d’exécution de deux ouplusieurs 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 ledéclenchement de deux ou plusieurs autres activitésparallè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

Page 46: UML Diagrammes Dynamiques

46

GL & MCOO A. Abdellatif

Diagramme d’activités : Les synchronisations

Remarques :Les points d’entrée et de sortie d’unesynchronisation peuvent être des activitésou bien des noeuds de décision.Il est possible de fusionner deux nœuds debifurcation : la fin de deux ou plusieursactivités parallèles entraîne le

UML : Modélisation dynamique 91

activités parallèles entraîne ledéclenchement de deux ou plusieurs autresactivités parallèles.

GL & MCOO A. Abdellatif

Diagramme d’activités : Les objets

On peut préciser dans un diagrammed’ ti ité l bj t i léd’activités les objets manipulés.Un objet peut être un point d’entréeet/ou un point de sortie d’uneactivité.Lorsque le même objet apparaîtpl sie s fois dans n diag amme

UML : Modélisation dynamique 92

plusieurs fois dans un diagrammed’activités, on peut préciser sesdifférents états.

Page 47: UML Diagrammes Dynamiques

47

GL & MCOO A. Abdellatif

Diagramme d’activités : Les objets : représentation

Obj 1Activité5 Objet 1[etat 1]

Activité 6Objet 2[Etat 2]

UML : Modélisation dynamique 93

Activité 7 Activité 8Objet 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é 6Objet 2[Etat 2]

Activité 7 Activité 8Objet 3[Etat 3]

Enregistrer commande [enregistrée]

LivrerCom m ande[Payée]

Exemple :

UML : Modélisation dynamique 94

Enregistrer payement LivraisonCommande

[Réglée]

Exemple :

Page 48: UML Diagrammes Dynamiques

48

GL & MCOO A. Abdellatif

Diagramme d’activités : Les unités organisationnelles

On peut préciser dans un diagrammed’ i i é l i é li ld’activités les acteurs qui réalisent lesactivités.Un acteur peut être une personne ou unestructure. On parle d’unitéorganisationnelle.Les unités organisationnelles permettent de

UML : Modélisation dynamique 95

Les unités organisationnelles permettent derépondre à la question: QUI FAIT QUOI ?.Autres appellations : partitions, couloirsd’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

Page 49: UML Diagrammes Dynamiques

49

GL & MCOO A. Abdellatif

diagramme d’activités : Exemple : Gestion commerciale

MagasinService commercialClient

[Annuler]

[Modifier]

Passer commande Vérifier disponibilité

Calculer prixDevis[Créé]Etudier devis

Etablir facture Préparer articlesFacture[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 pourdécrire les besoins des utilisateurs, les fonctions dudécrire les besoins des utilisateurs, les fonctions dunouveau système, ...Utiliser les diagrammes de séquence et lesdiagrammes de collaboration pour décrire lesscénarios des cas d’utilisation.Utiliser les diagrammes d’états-transition pourdécrire la dynamique des objets.Utiliser les diagrammes d’activités pour décrire de

UML : Modélisation dynamique 98

g pfaçon détaillée les méthodes et les cas d’utilisation.