Vous êtes sur la page 1sur 16

ENSA de Fès 2015/2016

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

ENSAF 180 M.BERRADA ENSAF 181 M.BERRADA

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

ENSAF 182 M.BERRADA ENSAF 183 M.BERRADA

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

ENSAF 184 M.BERRADA ENSAF 185 M.BERRADA

M.BERRADA 1
ENSA de Fès 2015/2016

Le diagramme d’interaction Les interactions


• Les diagrammes d’interaction montrent comment des • Les interactions ne se limitent pas aux acteurs.
L
instances au cœur d’un système communiquent pour L • Par exemple, des objets (instances des classes)
A réaliser une certaine fonctionnalité. A interagissent lorsqu’ils s’échangent des messages.
N N
G G
A  Ils apportent un aspect dynamique à la modélisation A • Ce diagramme n’indique pas comment le pilotage est
G du système. G
E E réalisé.
• Pour ajouter un aspect dynamique, il faut «descendre» au
U U
M
• Ils permettent d’établir un pont entre le diagramme de M
niveau des instances et montrer comment elles
L classe et le diagramme de cas d’utilisation. L interagissent.

ENSAF 186 M.BERRADA ENSAF 187 M.BERRADA

Définition d’interaction Pourquoi “ligne de vie”


• Une interaction décrit le comportement d’un système en se • Souvent les interactions montrent des objets (instances de
L
focalisant sur l’échange d’information entre les éléments L
classes).
A du système. A
N N
G G • Au cours d’une interaction, des objets peuvent être créés,
A • Les participants à une interaction sont appelés ligne de vie. A utilisés, et parfois détruits.
G G
E E
• Une ligne de vie représente un participant unique à une • Ce cycle de vie des objets est matérialisé par un ligne (de
U U
M
interaction. M
vie) dans les diagrammes d’interaction.
L L

ENSAF 188 M.BERRADA ENSAF 189 M.BERRADA

Les diagrammes d’interaction Exemple: diagramme de communication


• Les diagrammes d’interaction sont utilisés tout au long du
L
cycle de vie d’un projet (depuis le recueil des besoins L
A jusqu’à la phase de conception). A
N N
G G
A • Ils servent à ajouter un aspect dynamique à la modélisation A
G d’un système. G
E E

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

ENSAF 190 M.BERRADA ENSAF 191 M.BERRADA

M.BERRADA 2
ENSA de Fès 2015/2016

Exemple: diagramme de séquence Le diagramme de séquence


• Un diagramme de séquence montre des interactions sous
L L
un angle temporel, et plus particulièrement le
A A sequéncement temporel de messages échangés entre des
N N lignes de vie.
G G
A A
G G • Les principales informations contenues dans un diagramme
E E
de séquence sont les messages échangés entre les lignes de
U U vie.
M M
L L

ENSAF 192 M.BERRADA ENSAF 193 M.BERRADA

Le diagramme de séquence (2) Le diagramme de séquence (3)


• Les diagrammes de séquences sont utilisés dans différents • Un message définit une communication particulière entre
L
contextes, dans la réalisation des cas d’utilisation, dans la L
des lignes de vie.
A modélisation d’une opération, en particulier quand cette A
N opération met en œuvre des messages asynchrones et des N
• Il existe plusieurs types de messages, dont :
G G
instances de classes actives .
A A – l’envoi d’un signal
G G – l’invocation d’une opération
E E
• Nous nous attachons essentiellement aux diagrammes de – la création ou la destruction d’une instance
U séquence, instances de cas d’utilisation. U
M M
L L

ENSAF 194 M.BERRADA ENSAF 195 M.BERRADA

L’envoi d’un signal L’invocation d’une opération


• L’envoi d’un signal déclenche une réaction chez le • L’invocation peut être :
L
récepteur, de façon asynchrone et sans réponse L
A A 1. Synchrone : l’émetteur reste bloqué le temps que dure
N N
G G l’invocation de l’opération
A A
G G
E E 2. Asynchrone.
U U
M M • Note : la plupart des invocations sont synchrones.
L L

ENSAF 196 M.BERRADA ENSAF 197 M.BERRADA

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

U • Note : Au moins un des deux noms doit être spécifié dans U


M M
L
l’étiquette, les deux points ( :) sont, quand à eux, L
obligatoire .
• Un message asynchrone
se représente par une flèche
à l’extrémité ouverte.

ENSAF 198 M.BERRADA ENSAF 199 M.BERRADA

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

ENSAF 200 M.BERRADA ENSAF 201 M.BERRADA

Autres types de messages Autres types de messages (2)


• Message simple: message dont on ne spécifie aucune  Message dérobant :n'interrompt pas l'exécution de
L
caractéristique d'envoi ou de réception particulière. L
l'expéditeur et ne déclenche une opération chez le
A msg() A récepteur que s'il s'est préalablement mis en attente de ce
N N message
G G
A • Message minuté (timeout) :Bloque l'expéditeur pendant A
G G msg()
E un temps donné (qui peut être spécifié dans une contrainte) E
,en attendant la prise en compte du message par le
U récepteur. L'expéditeur est libéré si la prise en compte n'a U
M M
L pas eu lieu pendant le délai spécifié. L

msg()

ENSAF 202 M.BERRADA ENSAF 203 M.BERRADA

M.BERRADA 4
ENSA de Fès 2015/2016

Autres types de messages ( exemple ) Messages et événements


Impossible d'afficher l'image. Votre ordinateur manque peut-être de mémoire po ur ouv rir l'image ou l'image est endommagée. Redémarrez l'ordinateur, puis ouv rez à nouv eau le fichier. Si le x rouge est toujours affiché, v ous dev rez peut-être supprimer l'image avant de la réinsérer.

• L’invocation d’une opération peut déclencher une réaction


L L
chez le récepteur.
A A • La réaction la plus courante est l’exécution d’une méthode.
N N
G G
A A
G G
E E

U U
M M
L L

ENSAF 204 M.BERRADA ENSAF 205 M.BERRADA

Syntaxe des messages et des réponses Message perdu et trouvé


• La syntaxe d’un message : • Un message complet est tel que les événements d’envoi et
L
[condition] attribut = message (arguments) :valeur_retournée
L
de réception sont connus, il se représente par une simple
A A flèche dirigée de l’émetteur vers le récepteur.
N N • Un message perdu est tel que l’événement d’envoi est
G
• La syntaxe de réponse à un message est la suivante : G
A [<attribut> = ] message [ : <valeur_de_retour>] A connu, mais pas l’événement de réception.
G G • Un message trouvé est tel que l’événement de réception
E où message représente E
le message d’envoi. est connu, mais pas l’événement d’émission
U U
M M
L L

ENSAF 206 M.BERRADA ENSAF 207 M.BERRADA

Exécution de méthode et objet actif La notion la durée de transmission


• Un objet actif initie et contrôle le flux d’activités.
• Un objet passif, au contraire, a besoin qu’on lui donne le Elément_1 Elément_2 Elément_3
L L
A flux d’activité pour pouvoir exécuter une méthode. A
N N
G G
A • Ex :Représentation d’un objet actif (à gauche) et d’une A
G G
E exécution sur un objet passif (à droite). E
Temps de transmission
U U négligeable Temps de transmission
M M non négligeable
L L

ENSAF 208 M.BERRADA ENSAF 209 M.BERRADA

M.BERRADA 5
ENSA de Fès 2015/2016

Exécution simultanée Diagramme de séquence: exemple


• Les exécutions simultanées sur une même ligne de vie
L
sont représentées par un rectangle chevauchant L
A A
N N
G G
A A
G G
E E

U U
M M
L L

ENSAF 210 M.BERRADA ENSAF 211 M.BERRADA

Diagramme de séquence: exemple (2) Diagramme de séquence: exemple (3)


Légende Les lignes de vie
L • Se lit du haut vers le bas (qui correspond au temps) L • Elles symbolisent la durée de vie des objets. Ici les objets
A • De gauche à droite : on trouve tous les objets impliqués A existaient avant le déclenchement, ils continent à exister
N N après.
G dans la séquence (en relation avec la granularité) G
A A
G G
E Les objets E Les contrôles
• :visiteur est un objet anonyme c’est une instance d’acteur • Durée pendant laquelle l’objet est occupé
U U
M qui déclenche le déroulement du diagramme de séquence. M
L • FIA :LeSysteme qui est une première approximation du L

système. Il va être « cassé » au fur est à mesure de


l’analyse.

ENSAF 212 M.BERRADA ENSAF 213 M.BERRADA

Diagramme de séquence : autres éléments Raffinement des objets


• Ceci se fait en relation avec les descriptions de cas
L L
d’utilisation correspondant
A A
N N
G G • 1er raffinement : on part d’un message réflexif qu’on
A A décompose, en effet les objets qui collaborent dans le cadre
G G de cette opération vont se mettre en place.
E E

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.

ENSAF 214 M.BERRADA ENSAF 215 M.BERRADA

M.BERRADA 6
ENSA de Fès 2015/2016

1ère raffinement 2ème raffinement

L L
A A
N N
G G
A A
G G
E E

U U
M M
L L

ENSAF 216 M.BERRADA ENSAF 217 M.BERRADA

Raffinement des objets 2ème raffinement


• Dans ce diagramme l’objet résultatEnCours va nécessiter
L
un raffinement, d’une part un objet métier L
A classementAnnée va permettre de stocker les informations A
N permanentes déjà connues et stockée quelque part. N
G G
A A
G G
E E

U U
M M
L L

ENSAF 218 M.BERRADA ENSAF 219 M.BERRADA

Conseils Les fragments combinés


• Bien construire les classes et les opérations en même temps • Un fragment combiné (appelé aussi combined fragment ou
L
que le diagramme de séquence. L
inline frame) représente des articulations d'intéractions. Il
A A est défini par un opérateur et des opérandes. L'opérateur
N
• Les diagrammes de séquence peuvent également servir à
N conditionne la signification du fragment combiné. Il existe
G G
A définir l’enchaînement des écrans, dans ce cas, ils peuvent A
12 opérateurs définis dans la notation UML2.0. Les
G aider à la réalisation de la maquette, ils ne peuvent pas G fragments combinés permettent de décrire des diagrammes
E
remplacer cette maquette.
E de séquence de manière compacte. Les fragments
U U
combinés peuvent faire intervenir l'ensemble des entités
M M participant au scénario ou juste un sous-ensemble
L L

ENSAF 220 M.BERRADA ENSAF 221 M.BERRADA

M.BERRADA 7
ENSA de Fès 2015/2016

Les fragments combinés Les fragments combinés

• Les opérateurs La liste des opérateurs d’interaction par fonctions :


L – Alt (alternatives); L • les opérateurs de choix et de boucle : alternative, option,
A
– Opt (option);
A break et loop ;
N N
G – Break (break); G • les opérateurs contrôlant l’envoi en parallèle de messages :
A – Par (parallel); A parallel et critical region ;
G G
E – Seq (weak sequencing); E • les opérateurs contrôlant l’envoi de messages : ignore,
– Strict (strict sequencing); consider, assertion et negative ;
U U
M
– Neg(negative);
M
• les opérateurs fixant l’ordre d’envoi des messages : weak
L – Criticalregion(critical); L sequencing , strict sequencing.
– Ignore/Consider;
– Assert;
– Loop

ENSAF 222 M.BERRADA ENSAF 223 M.BERRADA

1. Opérateur Alternative 1. Opérateur Alternative (exemple)


• L'opérateur "alt" désigne un choix, une alternative. Il
L
représente deux comportements possibles : c'est en quelque L
A sorte l'équivalent du SI...ALORS...SINON : donc, une A
N seule des deux branches sera réalisée dans un scénario N
G G
A
donné. La condition d'exécution d'une des deux branches A
G (l'équivalent du SI) peut être explicite ou implicite. G
E L'utilisation de l'opérateur else permet d'indiquer que la E

U
branche est exécutée si la condition du alt est fausse. U
M M
L L

ENSAF 224 M.BERRADA ENSAF 225 M.BERRADA

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

ENSAF 226 M.BERRADA ENSAF 227 M.BERRADA

M.BERRADA 8
ENSA de Fès 2015/2016

3. Opérateur Break 3. Opérateur Break

• L'opérateur "break" est utilisé dans les fragments


L
combinés qui représentent des exceptions en quelque L
A sorte. Les intéractions de ce fragment seront exécutées à la A
N place des intéractions décrites en dessous. Il y a donc une N
G G
A
notion d'interruption du flot "normal" des intéractions. A
G G
E E

U U
M M
L L

ENSAF 228 M.BERRADA ENSAF 229 M.BERRADA

4. Opérateur "Parallel" 4. Opérateur "Parallel"


• L'opérateur "par" est utilisé pour représenter des
L
intéractions ayant lieu en parallèle. Les intéractions des L
A différents opérandes ( les deux branches de notre opérateur A
N ci-dessous) peuvent donc se mélanger, s'intercaler, dans la N
G G
A
mesure où l'ordre imposé dans chaque opérande est A
G respecté. G
E E

U U
M M
L L

ENSAF 230 M.BERRADA ENSAF 231 M.BERRADA

5. Opérateur "Loop" 5. Opérateur "Loop"


• L'opérateur "Loop" (boucle) est noté "loop". Cet opérateur
L
est utilisé pour décrire un ensemble d'intéraction qui L
A s'exécutent en boucle. En général, une contrainte appelée A
N garde indique le nombre de répétitions (minimum et N
G G
A
maximum) ou bien une condition booléenne à respecter. A
G G
E E

U U
M M
L L

ENSAF 232 M.BERRADA ENSAF 233 M.BERRADA

M.BERRADA 9
ENSA de Fès 2015/2016

6. Opérateur Critical 6. Opérateur Critical

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

ENSAF 234 M.BERRADA ENSAF 235 M.BERRADA

Le diagramme de communication Le diagramme de communication


• Un diagramme de communication montre une • Les diagrammes de collaboration (communication) sont
L
représentation spatiale des lignes de vie. L
des diagrammes d’objets communicants. C’est une sorte de
A A vue locale d’un « morceau du système ».
N N
G • Les diagrammes de communication sont proches des G
A diagrammes de classes auxquels ils ajoutent un aspect A • On réalise ce type de diagramme dans un contexte
G dynamique en montrant des envois de messages. G particulier et pour obtenir un résultat précis. Pour cela on
E E
met en scène que les objets qui participent à ce résultat
U U dans le contexte donné.
M M
L L
• Une collaboration entre ces mêmes objets peut être
différente dans un autre contexte.

ENSAF 236 M.BERRADA ENSAF 237 M.BERRADA

Notation UML Exemple 1


• Les lignes de vie sont représentées par des rectangles
L
contenant une étiquette dont la syntaxe est L
A A  Un objet A envoie un message X à un objet B, puis
N
• <nomDuRôle> : <nomDuType>
N l’objet B envoie un message Y à un objet C, et enfin C
G G
A A
s’envoie un message Z.
G G
E • Les messages peuvent être ordonnés selon un numéro de E A
séquence croissant. 1: X 3: Z
U U
M M
L L 2: Y
B

ENSAF 238 M.BERRADA ENSAF 239 M.BERRADA

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

ENSAF 240 M.BERRADA ENSAF 241 M.BERRADA

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.

ENSAF 242 M.BERRADA ENSAF 243 M.BERRADA

Types de message Exemple


• Mêmes messages que pour les séquences : • Exemple
L L
A – Message simple A
N N 1/2.b: envoyer(piste)
– Message minuté
G G
– Message synchrone :TourControle :RegimentPompier
A A
G – Message asynchrone G 1*: mayday()
E E 1/2.a *||: seDeplacer(piste, parking)
– Message dérobant 2.a/3: atterrir(piste)
U U
M M pa87:Boeing :Avion
L L Etat=a_terre
Etat=detresse
Position=piste

ENSAF 244 M.BERRADA ENSAF 245 M.BERRADA

M.BERRADA 11
ENSA de Fès 2015/2016

Comment choisir Comment choisir


Les diagrammes de séquence Les diagrammes de communication
L • Rendent explicite la séquence temporelle dans l’interaction L • Peuvent être vus comme la prolongation d’un diagramme
A • choix naturel lorsque l’interaction est construite à partir d’un A de classes
N N
G use-case G • préférable lorsque l’interaction est déduite du diagramme
A • Facilite une écriture détaillée des messages A de classes
G G
E • moins d’espace est généralement disponible dans un E
• sont aussi très utiles pour valider des diagrammes de
diagramme de communication classes
U U
M M
L L

ENSAF 246 M.BERRADA ENSAF 247 M.BERRADA

Isomorphisme
Diagramme de collaboration
Diagramme de communication Diagramme de séquence

L 8: msg8() O1:C1 O2:C2 O3:C3 L


A 3: msg3() msg1() A
N 5: msg5() msg2() N
G G
msg3()
A O1:C1 O3:C3 A
G msg4() G
1: msg1()
E 4: msg4()
msg5() E
10: msg10() msg6()
U msg7() U
M 2: msg2() 6: msg6() M
msg9() msg8()
7: msg7()
L msg9()
9: L
msg10()
O2:C2

ENSAF 248 M.BERRADA ENSAF 249 M.BERRADA

Diagramme de classes En Résumé


• Les diagrammes de séquence et de communication
L L
montrent l’aspect dynamique d’un système.
A A • Les diagramme de séquence et de
N N communication sont les seuls à illustrer des interactions
G G
A A entre les éléments du système.
G G • Une interaction montre un comportement typique
E E
d’un système dans un contexte donné.
U U • La vision du système donnée est donc partielle
M M
L L mais cohérente (car elle montre comment un
comportement d’un système est réalisé par des éléments
qui le compose).

ENSAF 250 M.BERRADA ENSAF 251 M.BERRADA

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

ENSAF 252 M.BERRADA ENSAF 253 M.BERRADA

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

ENSAF 254 M.BERRADA ENSAF 255 M.BERRADA

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

ENSAF 256 M.BERRADA ENSAF 257 M.BERRADA

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

Un composant est un élément physique


logiciel interchangeable d’un système qui fournit
l’implémentation d’un ensemble d’interfaces
ENSAF 258 M.BERRADA ENSAF 259 M.BERRADA

Composant (2) Interface d’un composant (1. Définition)


• Un composant est
L
représenté par un rectangle L • Une interface peut être associée aussi bien au niveau
A avec des onglets A logique (rare) qu’au niveau physique
N • Le nom du composant peut N
G G • L’interface contient les opérations mises à la disposition
A être précédé du nom du A des autres composants
G paquetage qui le contient G
• Un composant peut implémenter plusieurs interfaces
E E
• Il est possible de • Un composant se doit de proposer une implémentation
U développer le composant U
pour chacune de ses interfaces
M de façon à faire apparaître M
L L
le nom des éléments
logiques qu’il implémente Une interface est un ensemble d’opérations
servant à spécifier un service proposé par un composant ou
par une classe

ENSAF 260 M.BERRADA ENSAF 261 M.BERRADA

Interface d’un composant (2. Notation)


• Une interface peut être représentée sous la forme d’une
L
icône (rond) ou sous une forme développée présentant les L
A opérations A
N • Il est possible de représenter l’exportation et N
G G
A l’importation d’une interface par un composant A
G G
E E Diagrammes de déploiement
U U
M M
L L

ENSAF 262 M.BERRADA ENSAF 263 M.BERRADA

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

ENSAF 264 M.BERRADA ENSAF 265 M.BERRADA

Exemple Nœud (1. Définition)


• Un nœud est un élément matériel sur lequel sont déployés
L L
un certain nombre de composants logiciels du système
A A • Un nœud est un élément matériel sur lequel sont exécutés
N N un certain nombre de composants logiciels du système
G G
A A • Un nœud peut être un processeur, un périphérique, un
G G réseau, …
E E
• Un nœud est assimilable à une classe et possède donc des
U U attributs
M M
L L
Un nœud est un élément physique matériel
sur lequel le système s’exécute

ENSAF 266 M.BERRADA ENSAF 267 M.BERRADA

Nœud (2. Notation) Connexion entre nœuds (Définition)


• Un nœud est représenté par un • Une connexion entre deux noeuds est l’équivalent d’une
L
cube L
association entre deux classes sur un diagramme de
A • Le nom du nœud peut être A classes
N précédé du nom du paquetage N
G G
A qui le contient A • Exemples de connexion :
G • Il est possible de développer le G – une connexion Ethernet,
E E
nœud de façon à faire – une ligne série,
U apparaître le nom de ses U – un bus partagé, …
M attributs M
L L
• Il est possible de développer le Une connexion est une connexion physique
nœud de façon à faire reliant deux nœuds entre-eux
apparaître le nom des
composants qu’il déploie
ENSAF 268 M.BERRADA ENSAF 269 M.BERRADA

M.BERRADA 15
ENSA de Fès 2015/2016

Instance de nœud (Notation) En conclusion


• On peut représenter des instances • Le diagramme de composants peut s’avérer très difficile
L
de noeuds dans un diagramme de L
d’utilisation pour un logiciel complexe. Lui préférer alors
A déploiement « objet » A une description textuelle de l’architecture des composants
N • Une instance de noeud est N
G G
A représenté par un cube A • Le diagramme de déploiement est indispensable en phase
G • Le nom de l’instance d’un noeud G de Conception générale. Il n’est pas assez utilisé…
E E
est composé d’un identifiant de
U l’instance suivi du nom du nœud U
• A la différence des diagrammes de classe et d’objets, il
M M
L • Les attributs de l’instance L peut être intéressant de mélanger nœuds et instances de
apparaissent valorisés nœud sur un diagramme de déploiement

ENSAF 270 M.BERRADA ENSAF 271 M.BERRADA

M.BERRADA 16

Vous aimerez peut-être aussi