ENSAF
2ème année Filière : Génie Informatique
Année Universitaire 2015/2016
L L
A A
N
G
Langage de Modélisation N
G Diagrammes de
A A
G
E
UML G
E Séquence et de
U
M
(Partie 4) U
M
Communication
L L
Mohammed Berrada
mohammed.berrada@gmail.com
Plan 8 Introduction
• Une introduction sur les diagrammes d’interaction • Un objet interagit pour implémenter un comportement.
L • Le diagramme de séquence L
A • Le diagramme de communication A • On peut décrire cette interaction de deux manières
N N
G • Exemples G complémentaires :
A A – l’une est centrée sur des objets individuels (diagramme
G G
E E d’états-transitions)
– l’autre sur une collection d’objets qui coopèrent
U U
M M
(diagrammes d’interaction).
L L
Introduction Introduction
• Le diagramme de cas d’utilisation montre des acteurs qui
L
interagissent avec les grandes fonctions d’un système. L
A A
N N
G C’est une vision fonctionnelle et externe d’un système. G
A A
G G
E • Le diagramme de classe décrit le cœur d’un système et E
montre des classes et la façon dont elle sont associées.
U U
M M
L L
C’est une vision structurelle et statique
M.BERRADA 1
ENSA de Fès 2015/2016
U U
M
• Il y a 4 type des diagrammes d’interaction : M
L – Le diagramme de séquence : point de vue temporel L
– Le diagramme de communication : point de vue spatial
– Le diagramme de timing
– Le diagramme de vue globale d’interaction
M.BERRADA 2
ENSA de Fès 2015/2016
M.BERRADA 3
ENSA de Fès 2015/2016
Notation UML pour les lignes de vie Notation UML pour les messages
• la ligne de vie période d’existence d’un objet • Un message synchrone se représente par une flèche à
L représentée par un trait pointillé L
l’extrémité pleine qui pointe sur le destinataire du message.
A A
N N
• Ce message peut être suivi
G • l’objet est représenté par la syntaxe : G
A A d’une réponse qui se représente
G [<nom_du_rôle>] : [<Nom_du_type>] G par une flèche en pointillé.
E E
Notation UML pour les messages (2) Notation UML pour les messages (3)
• La création d’un objet est matérialisée par une flèche qui
L L
pointe sur le sommet d’une ligne de vie.
A Elément_1 Elément_2 Elément_3 A
N N
G G • La destruction d’un objet est matérialisée par une croix
A A qui marque la fin de la ligne de vie de l’objet
G G
E E
U U
M Un message synchrone M
L Un message asynchrone L
msg()
M.BERRADA 4
ENSA de Fès 2015/2016
U U
M M
L L
M.BERRADA 5
ENSA de Fès 2015/2016
U U
M M
L L
U U
M M
• A chaque fois qu’un objet apparaît, il faut également
L L définir la classe (si elle ne l’est pas déjà) dont il est
instance. Les messages sont les opérations de la classe.
M.BERRADA 6
ENSA de Fès 2015/2016
L L
A A
N N
G G
A A
G G
E E
U U
M M
L L
U U
M M
L L
M.BERRADA 7
ENSA de Fès 2015/2016
U
branche est exécutée si la condition du alt est fausse. U
M M
L L
2. Opérateur "Option"
2. Opérateur "Option"
• L'opérateur "opt" désigne un fragment combiné optionnel
L
comme son nom l'indique : c'est à dire qu'il représente un L
A comportement qui peut se produire... ou pas. Un fragment A
N optionnel est équivalent à un fragment "alt" qui ne N
G G
A
posséderait pas d'opérande else (qui n'aurait qu'une seule A
G branche). Un fragment optionnel est donc une sorte de G
E SI...ALORS. E
U U
M M
L L
M.BERRADA 8
ENSA de Fès 2015/2016
U U
M M
L L
U U
M M
L L
U U
M M
L L
M.BERRADA 9
ENSA de Fès 2015/2016
L
L'opérateur "Critical" (critique) noté "critical" désigne une L
A section critique. Une section critique permet d'indiquer que A
N les intéractions décrites dans cet opérateur ne peuvent pas N
G G
A
être interrompues par d'autres intéractions décrites dans le A
G diagramme. On dit que l'opérateur impose un traitement G
E atomique des intéractions qu'il contient. E
U U
M M
L L
M.BERRADA 10
ENSA de Fès 2015/2016
Exemple 2 Message(Syntaxe)
• Un diagramme de communication illustrant la recherche pré / [cond] séq *|| [iter] : r := msg (par)
L
puis l’ajout, dans son panier virtuel, d’un livre lors d’une L
A commande sur Internet. A • pré : prédécesseurs
N N • [cond] : expression booléenne.
G G • séq : numéro de séquence du message.
A A
G G • iter : récurrence du message.
E E Permet de spécifier l'envoi séquentiel (ou en parallèle, avec "||")
de messages. Il est aussi possible de spécifier qu'un message est
U U récurrent en n'utilisant que "*" ou "*||".
M M • r : valeur de retour du message.
L L
• msg : nom du message.
• par : paramètres du message
Message(Syntaxe) Message(Syntaxe)
• 3 : bonjour() • 1.3,2.1 / [t < 10s] 2.5 : age :=
Ce message a pour numéro de séquence "3". demanderAge(nom,prenom)
L L Ce message (numéro 2.5) ne sera envoyé qu'après les
A • [heure = midi] 1 : manger() A messages 1.3 et 2.1, et que si "t < 10s". La valeur de retour
N Ce message n'est envoyé que s'il est midi. N est affectée à age. Le message prend nom et prenom en
G G
A A
paramètres
• 1.3.6 * : ouvrir()
G G
E
Ce message est envoyé de manière séquentielle un certain nombre de fois.
E
• 1.3 / [disk full] 1.7.a * : deleteTempFiles()
1.3 / [disk full] 1.7.b : reduceSwapFile(20%)
U • 3 / *||[i := 1..5] : fermer() U • Ces messages ne seront envoyés qu'après l'envoi du
M Représente l'envoi en parallèle de 5 messages. Ces messages ne seront M message 1.3 et si la condition "disk full" est réalisée. Si
L envoyés qu'après l'envoi du message 3. L cela est le cas, les messages 1.7.a et 1.7.b seront envoyés
simultanément. Plusieurs messages 1.7.a peuvent être
envoyés.
M.BERRADA 11
ENSA de Fès 2015/2016
Isomorphisme
Diagramme de collaboration
Diagramme de communication Diagramme de séquence
M.BERRADA 12
ENSA de Fès 2015/2016
Plan 9
• Introduction
L L • Objectifs du diagramme de composants
A A • Diagramme de composants
N N
G
A
Diagrammes de G
A
• Composant
• Interface
G
E Composants et de G
E • Objectifs du diagramme de déploiement
• Diagramme de déploiement
U
M
Déploiement U
M • Nœud
L L
• Connexion
• Instance de noeud
Diagrammes de composants et de
déploiement
• Issu en grande partie de la méthode OMT (Rumbaugh) et
L
de la méthode Booch L
A A
N N
G • L’utilisation d’un diagramme de composants n’est G
A envisageable que pour de petites applications ce qui en fait A
G un modèle très peu utilisé G
E E Diagrammes de composants
U U
M
• Le diagramme de déploiement est en général utilisé en M
L phase de Conception générale où il permet de décrire L
l’architecture technique générale
Objectif Définition
• Visualiser l’organisation physique générale d’un système • Un diagramme de composants propose une vision statique
L
décrite en terme de composants logiciels L
de l’organisation des éléments physiques logiciels du
A A système
N N • Un diagramme de composants montre les dépendances
G • Présenter les dépendances unissant les différents G
A constituants logiciels du système A existant entre les composants physiques logiciels du
G G système
E E
• Etablir les différentes configurations liant les éléments • Un diagramme de composants ne montre pas les
U
physiques logiciels du système U interactions entre les composants physiques logiciels
M M
L L
Un diagramme de composants est un
diagramme représentant l’organisation et les dépendances
liant les éléments physiques logiciels d’un système
M.BERRADA 13
ENSA de Fès 2015/2016
Exemple Composant
• Un composant est l’implémentation physique logicielle
d’un ensemble d’éléments logiques (classe ou
L L collaboration)
A A
N N • Un composant propose un ensemble d’interfaces qu’il se
G G doit de respecter
A A
G G • Un composant peut être remplacé par un autre
E E composant respectant les mêmes interfaces
U U • Un composant peut être un exécutable, une librairie, une
M M table, un fichier source, un document, …
L L
M.BERRADA 14
ENSA de Fès 2015/2016
Objectifs Définition
• Etablir la cartographie complète de déploiement du • Un diagramme de déploiement propose une vision
L
logiciel sur le matériel L
statique de la topologie du matériel sur lequel s’exécute le
A A système
N N • Un diagramme de déploiement montre les associations
G • Visualiser la topologie matérielle d’un système G
A A (connexions) existant entre les nœuds du système
G G • Un diagramme de déploiement ne montre pas les
E • Etablir la nature des connexions reliant les éléments E
matériels du système interactions entre les nœuds
U U
M M
L L Un diagramme de déploiement est un
diagramme de classes ou un diagramme d’objets
représentant les nœuds ou les instances de noeuds sur
lesquels le système s’exécute
M.BERRADA 15
ENSA de Fès 2015/2016
M.BERRADA 16