1
Génie logiciel et méthodes de
conception orientées objetp j
UML
Modélisation dynamique
A. ABDELLATIF
abdelaziz.abdellati...
2
GL & MCOO A. Abdellatif
Modélisation dynamique :
Introduction
La modélisation dynamique d’un système
consiste à décrire ...
3
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Présentation
Représente les utilisations possibles d’un systèm...
4
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Représentation du système
Nom système
UML : Modélisation dynam...
5
GL & MCOO A. Abdellatif
Classification des acteurs
Classification selon l’importance des
acteurs:
Acteurs principaux : C...
6
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Description des acteurs
La représentation graphique des acteur...
7
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Les cas d’utilisation
Un cas d’utilisation constitue une abstr...
8
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Représentation de cas d’utilisation
nom cas utilisation
UML : ...
9
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Description textuelle
La description textuelle d’un cas
d’ til...
10
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Association entre acteur et C. U.
Tout acteur est associé à a...
11
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Association entre C. U.
Généralement les cas d’utilisation ne...
12
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Association d’utilisation (include)
L’association d’utilisati...
13
GL & MCOO A. Abdellatif
Diagramme des cas d’utilisation :
Association d’extension (extend)
Lorsque l’extension est cond...
14
Diagramme de séquenceg q
GL & MCOO A. Abdellatif
Diagramme de séquence :
Présentation
Ce diagramme représente les inter...
15
GL & MCOO A. Abdellatif
Diagramme de séquence :
Concepts de base
Le diagramme de séquences se base sur
les concepts sui...
16
GL & MCOO A. Abdellatif
Diagramme de séquence :
Représentation des messages
Objet1 Objet2 objet3
Émetteur
Message_2
Mes...
17
GL & MCOO A. Abdellatif
Diagramme de séquences :
Durée de transmission de message
Lorsque la durée de transmission d’un...
18
GL & MCOO A. Abdellatif
Diagramme de séquences :
Message de création d’objet
Dans certains cas, Objet1
un objet n’exist...
19
GL & MCOO A. Abdellatif
Diagramme de séquences :
Période d’activité d’objet
Dans certains cas, il Objet 1 Objet 2
est u...
20
GL & MCOO A. Abdellatif
Diagramme de séquences :
Message conditionnel
Dans certains cas, l’envoi d’un message est soumi...
21
Diagramme de collaborationg
GL & MCOO A. Abdellatif
Diagramme de collaboration :
Présentation
Un diagramme de collabora...
22
GL & MCOO A. Abdellatif
Diagramme de collaboration :
Concepts de base
Le diagramme de collaboration se base sur les
ico...
23
GL & MCOO A. Abdellatif
Diagramme de collaboration :
Représentation des liens
Les liens sont représentés comme dans le ...
24
GL & MCOO A. Abdellatif
Diagramme de collaboration :
Messages réflexifs
Remarque :
Message 1
Objet 1
UML : Modélisation...
25
GL & MCOO A. Abdellatif
Dans un diagramme de collaboration, tous les messages ne
correspondent pas à une seule activité...
26
GL & MCOO A. Abdellatif
Exemple :
Diagramme de collaboration :
Synchronisation des messages
3.2: Message ...
3.1: Messa...
27
GL & MCOO A. Abdellatif
L’envoi d’un message peut être répétitif.
Diagramme de collaboration :
Messages itératifs
La fo...
28
GL & MCOO A. Abdellatif
Un objet actif est un objet qui contrôle les autres
bj t
Diagramme de collaboration :
Notion d’...
29
GL & MCOO A. Abdellatif
Les diagrammes de collaboration,
l di d é
Diagramme de collaboration :
Similitude diagramme séq...
30
Diagramme d’états-transitionsg
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Présentation
Représente les état...
31
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Concepts de base
Le diagramme d’états-transitions se base sur l...
32
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Représentation des états
Et t i t édi i
Exemples :
Etat initial...
33
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Représentation des transitions
Etat source Etat destination
Eta...
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 ...
35
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Exemples d’événements
Nouveau livre non_fin_fichier()
Enregistr...
36
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Conditions sur événements :exemple
Remarque :q
Les conditions
d...
37
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Les actions : représentation
Evenement 1/ Action 1Etat 1 Etat 2...
38
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Les actions
Etat 2
Exemple :
entry / Action_1
exit / Action_2
E...
39
GL & MCOO A. Abdellatif
Diagramme d’états-transitions :
Généralisation d’états
Le principe de généralisation peut être ...
40
Diagramme d’activitésg
GL & MCOO A. Abdellatif
Diagramme d’activités :
Présentation
Permet de modéliser les traitements...
41
GL & MCOO A. Abdellatif
Diagramme d’activités :
Concepts de base
Le diagramme d’activités se base sur les concepts
suiv...
42
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les activités
Un diagramme d’activités est un enchaînement d’un
ensembl...
43
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les transitions
Une transition représente le passage
d’une activité à u...
44
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les décisions
Un nœud de décision permet d’assurer la
transition condit...
45
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les synchronisations
Un nœud de synchronisation permet d’ouvrir et de
f...
46
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les synchronisations
Remarques :
Les points d’entrée et de sortie d’une...
47
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les objets : représentation
Obj 1
Activité5
Objet 1
[etat 1]
Activité 6...
48
GL & MCOO A. Abdellatif
Diagramme d’activités :
Les unités organisationnelles
On peut préciser dans un diagramme
d’ i i...
49
GL & MCOO A. Abdellatif
diagramme d’activités :
Exemple : Gestion commerciale
MagasinService commercialClient
[Annuler]...
Upcoming SlideShare
Loading in...5
×

UML Diagrammes Dynamiques

595

Published on

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
595
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
39
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

UML Diagrammes Dynamiques

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

×