Vous êtes sur la page 1sur 16

ENSA de Fès

 

ENSAFENSAF

22 èmeème annéeannée FilièreFilière :: GénieGénie InformatiqueInformatique

AnnéeAnnée UniversitaireUniversitaire 2015/20162015/2016

L

A

N

LangageLangage dede ModélisationModélisation

G

A

G

UMLUML

 

E

U

(Partie(Partie 4)4)

M

L

 

MohammedMohammed BerradaBerrada

mohammed.berrada@gmail.commohammed.berrada@gmail.com

   

ENSAF

180

M.BERRADA

 

Plan 8

 

• Une introduction sur les diagrammes d’interaction

L

• Le diagramme de séquence

A

• Le diagramme de communication

N

G

• Exemples

A

G

E

U

M

L

   

ENSAF

182

M.BERRADA

 

Introduction

 

Le diagramme de cas d’utilisation montre des acteurs qui

L

interagissent avec les grandes fonctions d’un système.

A

N

G

C’est une vision fonctionnelle et externe d’un système.

A

G

E

Le diagramme de classe décrit le cœur d’un système et montre des classes et la façon dont elle sont associées.

U

M

L

C’est une vision structurelle et statique

 
   

ENSAF

184

M.BERRADA

2015/2016

L

A

N

Diagrammes de

 

G

A

G

Séquence et de

E

U

Communication

M

L

 

ENSAF

181

M.BERRADA

 

Introduction

• Un objet interagit pour implémenter un comportement.

L

A

• On peut décrire cette interaction de deux manières

complémentaires :

N

G

A

– l’une est centrée sur des objets individuels (diagramme

d’états-transitions)

G

E

– l’autre sur une collection d’objets qui coopèrent

U

M

(diagrammes d’interaction).

L

 

ENSAF

183

M.BERRADA

 

Introduction

L

L

A

N

G

A

G

E

U

M

L

 

ENSAF

185

M.BERRADA

ENSA de Fès

 

Le diagramme d’interaction

 

Les diagrammes d’interaction montrent comment des

L

instances au cœur d’un système communiquent pour

A

réaliser une certaine fonctionnalité.

 

N

G

A

Ils apportent un aspect dynamique à la modélisation

G

du système.

 

E

U

 

Ils permettent d’établir un pont entre le diagramme de

M

L

classe et le diagramme de cas d’utilisation.

 
 

ENSAF

186

M.BERRADA

 

Définition d’interaction

 

• Une interaction décrit le comportement d’un système en se

L

focalisant sur l’échange d’information entre les éléments

A

du système.

N

G

A

• Les participants à une interaction sont appelés ligne de vie.

G

E

 

• Une ligne de vie représente un participant unique à une

U

M

interaction.

L

 

ENSAF

188

M.BERRADA

 

Les diagrammes d’interaction

 

• Les diagrammes d’interaction sont utilisés tout au long du

L

cycle de vie d’un projet (depuis le recueil des besoins

A

jusqu’à la phase de conception).

 

N

G

A

• Ils servent à ajouter un aspect dynamique à la modélisation

G

d’un système.

 

E

U

 

M

• Il y a 4 type des diagrammes d’interaction :

L

– Le diagramme de séquence : point de vue temporel

– Le diagramme de communication : point de vue spatial

– Le diagramme de timing

– Le diagramme de vue globale d’interaction

 
 

ENSAF

190

M.BERRADA

2015/2016

 

Les interactions

• Les interactions ne se limitent pas aux acteurs.

 

L

• Par exemple, des objets (instances des classes)

A

interagissent lorsqu’ils s’échangent des messages.

N

G

A

• Ce diagramme n’indique pas comment le pilotage est

réalisé.

 

G

E

• Pour ajouter un aspect dynamique, il faut «descendre» au

U

M

niveau des instances et montrer comment elles

 

L

interagissent.

et montrer comment elles   L interagissent.   ENSAF 187 M.BERRADA     Pourquoi
 

ENSAF

187

M.BERRADA

 
 

Pourquoi “ligne de vie”

 

• Souvent les interactions montrent des objets (instances de

 

L

classes).

A

N

G

• Au cours d’une interaction, des objets peuvent être créés,

 

A

utilisés, et parfois détruits.

G

E

 

• Ce cycle de vie des objets est matérialisé par un ligne (de

 

U

M

vie) dans les diagrammes d’interaction.

 

L

 

ENSAF

189

M.BERRADA

 
 

Exemple: diagramme de communication

L

A

A

N

G

A

G

E

U

M

L

 

ENSAF

191

M.BERRADA

ENSA de Fès

 

Exemple: diagramme de séquence

 

L

L

A

N

G

A

G

E

U

M

L

 

ENSAF

192

M.BERRADA

 

Le diagramme de séquence (2)

 

• Les diagrammes de séquences sont utilisés dans différents

L

contextes, dans la réalisation des cas d’utilisation, dans la

A

modélisation d’une opération, en particulier quand cette

N

opération met en œuvre des messages asynchrones et des

G

instances de classes actives .

 

A

G

E

• Nous nous attachons essentiellement aux diagrammes de

U

séquence, instances de cas d’utilisation.

 

M

L

 

ENSAF

194

M.BERRADA

 

L’envoi d’un signal

 

L’envoi d’un signal déclenche une réaction chez le

 

L

récepteur, de façon asynchrone et sans réponse

A

N

G

G

A

A

G

E

U

M

L

 
 
 

ENSAF

196

M.BERRADA

2015/2016

 

Le diagramme de séquence

• Un diagramme de séquence montre des interactions sous

L

un angle temporel, et plus particulièrement le

A

sequéncement temporel de messages échangés entre des

N

lignes de vie.

G

A

G

• Les principales informations contenues dans un diagramme

de séquence sont les messages échangés entre les lignes de

E

U

vie.

M

L

 

ENSAF

193

M.BERRADA

 

Le diagramme de séquence (3)

• Un message définit une communication particulière entre

L

des lignes de vie.

A

N

G

• Il existe plusieurs types de messages, dont :

A

– l’envoi d’un signal

G

– l’invocation d’une opération

 

E

– la création ou la destruction d’une instance

U

M

L

 

ENSAF

195

M.BERRADA

 

L’invocation d’une opération

• L’invocation peut être :

L

A

1. Synchrone : l’émetteur reste bloqué le temps que dure

l’invocation de l’opération

N

G

A

G

E

2. Asynchrone.

U

M

• Note : la plupart des invocations sont synchrones.

L

 

ENSAF

197

M.BERRADA

ENSA de Fès

 

Notation UML pour les lignes de vie

 

• la ligne de vie période d’existence d’un objet

L

représentée par un trait pointillé

 

A

N

G

• l’objet est représenté par la syntaxe :

 

A

G

[<nom_du_rôle>] : [<Nom_du_type>]

E

U

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

M

L

l’étiquette, les deux points ( :) sont, quand à eux, obligatoire .

 
 

ENSAF

198

M.BERRADA

Notation UML pour les messages (2) L Elément_1 Elément_2 Elément_3 A N G A G
Notation UML pour les messages (2)
L
Elément_1
Elément_2
Elément_3
A
N
G
A
G
E
U
M
Un message synchrone
L
Un message asynchrone
ENSAF
200
M.BERRADA
 

Autres types de messages

 

Message simple: message dont on ne spécifie aucune

L

caractéristique d'envoi ou de réception particulière.

A

msg()

N

G

A

Message minuté (timeout) :Bloque l'expéditeur pendant

un temps donné (qui peut être spécifié dans une contrainte) ,en attendant la prise en compte du message par le

récepteur. L'expéditeur est libéré si

la prise en compte n'a

G

E

U

M

L

pas eu lieu pendant le délai spécifié.

 
 

msg()

 
 
 

ENSAF

202

M.BERRADA

2015/2016

 

Notation UML pour les messages

 

• Un message synchrone se représente par une flèche à

L

l’extrémité pleine qui pointe sur le destinataire du message.

A

A

N

G

• Ce message peut être suivi

 

A

d’une réponse qui se représente

G

par une flèche en pointillé.

 

E

U

M

L

 

• Un message asynchrone se représente par une flèche à l’extrémité ouverte.

 
  • Un message asynchrone se représente par une flèche à l’extrémité ouverte.  
 

ENSAF

199

M.BERRADA

 
 

Notation UML pour les messages (3)

• La création d’un objet est matérialisée par une flèche qui

L

pointe sur le sommet d’une ligne de vie.

A

N

G

• La destruction d’un objet est matérialisée par une croix

 

A

qui marque la fin de la ligne de vie de l’objet

G

G

E

U

M

L

 

ENSAF

201

M.BERRADA

 
 

Autres types de messages (2)

 

Message dérobant :n'interrompt pas l'exécution de

 

L

l'expéditeur et ne déclenche une opération chez le

A

récepteur que s'il s'est préalablement mis en attente de ce

N

message

G

A

msg()
msg()
 

G

E

U

M

L

 

ENSAF

203

M.BERRADA

 

ENSA de Fès

Autres types de messages ( exemple ) Impossible d'afficher l'image. Votre ordinateur manque peut-être de
Autres types de messages ( exemple )
Impossible d'afficher l'image. Votre ordinateur manque peut-être de mémoire pour ouvrir l'image ou l'image est endommagée. Redémarrez l'ordinateur, puis ouvrez à nouveau le fichier. Si le x rouge est toujours affiché, vous devrez peut-être supprimer l'image avant de la réinsérer.
L
A
N
G
A
G
E
U
M
L
ENSAF
204
M.BERRADA
Syntaxe des messages et des réponses • La syntaxe d’un message : [condition] attribut =
Syntaxe des messages et des réponses
• La syntaxe d’un message :
[condition] attribut = message (arguments) :valeur_retournée
L
A
N
• La syntaxe de réponse à un message est la suivante :
G
A
[<attribut> = ] message [ : <valeur_de_retour>]
G
E
où message représente
le message d’envoi.
U
M
L
ENSAF
206
M.BERRADA
 

Exécution de méthode et objet actif

 

• Un objet actif initie et contrôle le flux d’activités.

L

• Un objet passif, au contraire, a besoin qu’on lui donne le

A

flux d’activité pour pouvoir exécuter une méthode.

N

G

A

Ex :Représentation d’un objet actif (à gauche) et d’une

exécution sur un objet passif (à droite).

 

G

E

U

M

M

L

 

ENSAF

208

M.BERRADA

 

2015/2016

Messages et événements • L’invocation d’une opération peut déclencher une réaction chez le récepteur. L
Messages et événements
• L’invocation d’une opération peut déclencher une réaction
chez le récepteur.
L
A
• La réaction la plus courante est l’exécution d’une méthode.
N
G
A
G
E
U
M
L
ENSAF
205
M.BERRADA
Message perdu et trouvé • Un message complet est tel que les événements d’envoi et
Message perdu et trouvé
• Un message complet est tel que les événements d’envoi et
de réception sont connus, il se représente par une simple
L
flèche dirigée de l’émetteur vers le récepteur.
A
N
• Un message perdu est tel que l’événement d’envoi est
G
connu, mais pas l’événement de réception.
A
G
• Un message trouvé est tel que l’événement de réception
E
est connu, mais pas l’événement d’émission
U
M
L
ENSAF
207
M.BERRADA
La notion la durée de transmission
Elément_1
Elément_2
Elément_3
L
A
N
G
A
G
E
Temps de transmission
U
négligeable
Temps de transmission
M
non négligeable
L
ENSAF
209
M.BERRADA

ENSA de Fès

 

Exécution simultanée

Les exécutions simultanées sur une même ligne de vie

L

sont représentées par un rectangle chevauchant

 

A

N

G

A

A

G

E

U

M

L

 

ENSAF

210

M.BERRADA

 

Diagramme de séquence: exemple (2)

Légende

L

• Se lit du haut vers le bas (qui correspond au temps)

 

A

• De gauche à droite : on trouve tous les objets impliqués

dans la séquence (en relation avec la granularité)

N

G

A

G

E

Les objets

U

:visiteur est un objet anonyme c’est une instance d’acteur

M

qui déclenche le déroulement du diagramme de séquence.

L

FIA :LeSysteme qui est une première approximation du système. Il va être « cassé » au fur est à mesure de l’analyse.

 

ENSAF

212

M.BERRADA

Diagramme de séquence : autres éléments L A N G A G E U M
Diagramme de séquence : autres éléments
L
A
N
G
A
G
E
U
M
L
ENSAF
214
M.BERRADA

2015/2016

 

Diagramme de séquence: exemple

 

L

L

A

N

G

A

G

E

U

M

L

 

ENSAF

211

M.BERRADA

 

Diagramme de séquence: exemple (3)

Les lignes de vie

 

L

Elles symbolisent la durée de vie des objets. Ici les objets

A

existaient avant le déclenchement, ils continent à exister

N

après.

 

G

A

G

 

E

Les contrôles

U

Durée pendant laquelle l’objet est occupé

 

M

L

 

ENSAF

213

M.BERRADA

 

Raffinement des objets

 

• Ceci se fait en relation avec les descriptions de cas

L

d’utilisation correspondant

A

N

G

• 1er raffinement : on part d’un message réflexif qu’on

A

décompose, en effet les objets qui collaborent dans le cadre

G

de cette opération vont se mettre en place.

 

E

U

M

• A chaque fois qu’un objet apparaît, il faut également

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

215

M.BERRADA

ENSA de Fès

1ère raffinement L A N G A G E U M L ENSAF 216 M.BERRADA
1ère raffinement
L
A
N
G
A
G
E
U
M
L
ENSAF
216
M.BERRADA
Raffinement des objets
Dans ce diagramme l’objet résultatEnCours va nécessiter
un raffinement, d’une part un objet métier
L
classementAnnée va permettre de stocker les informations
A
N
permanentes déjà connues et stockée quelque part.
G
A
G
E
U
M
L
ENSAF
218
M.BERRADA
Conseils
• Bien construire les classes et les opérations en même temps
que le diagramme de séquence.
L
A
N
• Les diagrammes de séquence peuvent également servir à
G
A
définir l’enchaînement des écrans, dans ce cas, ils peuvent
G
aider à la réalisation de la maquette, ils ne peuvent pas
E
remplacer cette maquette.
U
M
L
ENSAF
220
M.BERRADA

2015/2016

2ème raffinement L A N G A G E U M L ENSAF 217 M.BERRADA
2ème raffinement
L
A
N
G
A
G
E
U
M
L
ENSAF
217
M.BERRADA
2ème raffinement L A N G A G E U M L ENSAF 219 M.BERRADA
2ème raffinement
L
A
N
G
A
G
E
U
M
L
ENSAF
219
M.BERRADA
 

Les fragments combinés

 

Un fragment combiné (appelé aussi combined fragment ou

L

inline frame) représente des articulations d'intéractions. Il

A

est défini par un opérateur et des opérandes. L'opérateur

N

conditionne la signification du fragment combiné. Il existe

G

12 opérateurs définis dans la notation UML2.0. Les

A

G

fragments combinés permettent de décrire des diagrammes

E

de séquence de manière compacte. Les fragments

 

U

combinés peuvent faire intervenir l'ensemble des entités

M

participant au scénario ou juste un sous-ensemble

 

L

 

ENSAF

221

M.BERRADA

ENSA de Fès

 

Les fragments combinés

 

Les opérateurs

L

– Alt (alternatives);

A

N

– Opt (option);

G

– Break (break);

A

– Par (parallel);

 

G

E

– Seq (weak sequencing);

 

– Strict (strict sequencing);

U

Neg(negative);

 

M

L

Criticalregion(critical);

 

Ignore/Consider;

Assert;

Loop

 

ENSAF

222

M.BERRADA

 

1.

Opérateur Alternative

 
 

L'opérateur "alt" désigne un choix, une alternative. Il

L

représente deux comportements possibles : c'est en quelque

A

sorte l'équivalent du SI

ALORS

SINON

: donc, une

N

seule des deux branches sera réalisée dans un scénario

G

donné. La condition d'exécution d'une des deux branches

A

G

(l'équivalent du SI) peut être explicite ou implicite.

E

L'utilisation de l'opérateur else permet d'indiquer que la branche est exécutée si la condition du alt est fausse.

U

M

L

 

ENSAF

224

M.BERRADA

 

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

A

comportement qui peut se produire

ou pas. Un fragment

N

optionnel est équivalent à un fragment "alt" qui ne

G

posséderait pas d'opérande else (qui n'aurait qu'une seule

A

G

branche). Un fragment optionnel est donc une sorte de

E

SI

U

M

L

 

ENSAF

226

M.BERRADA

2015/2016

 

Les fragments combinés

 

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

L

• les opérateurs de choix et de boucle : alternative, option,

A

break et loop ;

N

G

• les opérateurs contrôlant l’envoi en parallèle de messages :

A

parallel et critical region ;

G

E

• les opérateurs contrôlant l’envoi de messages : ignore, consider, assertion et negative ;

U

M

• les opérateurs fixant l’ordre d’envoi des messages : weak

L

sequencing , strict sequencing.

 
 

ENSAF

223

M.BERRADA

1. Opérateur Alternative (exemple) L A N G A G E U M L ENSAF
1. Opérateur Alternative (exemple)
L
A
N
G
A
G
E
U
M
L
ENSAF
225
M.BERRADA
2. Opérateur "Option" L A N G A G E U M L ENSAF 227
2. Opérateur "Option"
L
A
N
G
A
G
E
U
M
L
ENSAF
227
M.BERRADA

ENSA de Fès

 

3. Opérateur Break

 
 

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

 

L

 

combinés qui représentent des exceptions en quelque

A

sorte. Les intéractions de ce fragment seront exécutées à la

N

place des intéractions décrites en dessous. Il y a donc une

G

notion d'interruption du flot "normal" des intéractions.

A

G

 

E

U

M

L

   

ENSAF

228

M.BERRADA

   

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

A

différents opérandes ( les deux branches de notre opérateur

N

ci-dessous) peuvent donc se mélanger, s'intercaler, dans la

G

mesure où l'ordre imposé dans chaque opérande est

A

G

respecté.

E

 

U

M

L

   

ENSAF

230

M.BERRADA

   

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

A

s'exécutent en boucle. En général, une contrainte appelée

N

garde indique le nombre de répétitions (minimum et

G

maximum) ou bien une condition booléenne à respecter.

A

G

 

E

U

M

L

   

ENSAF

232

M.BERRADA

2015/2016

3. Opérateur Break L A N G A G E U M L ENSAF 229
3. Opérateur Break
L
A
N
G
A
G
E
U
M
L
ENSAF
229
M.BERRADA
4. Opérateur "Parallel" L A N G A G E U M L ENSAF 231
4. Opérateur "Parallel"
L
A
N
G
A
G
E
U
M
L
ENSAF
231
M.BERRADA
5. Opérateur "Loop" L A N G A G E U M L ENSAF 233
5. Opérateur "Loop"
L
A
N
G
A
G
E
U
M
L
ENSAF
233
M.BERRADA

ENSA de Fès

 

6. Opérateur Critical

L

L'opérateur "Critical" (critique) noté "critical" désigne une

A

section critique. Une section critique permet d'indiquer que

N

les intéractions décrites dans cet opérateur ne peuvent pas

G

être interrompues par d'autres intéractions décrites dans le

A

G

diagramme. On dit que l'opérateur impose un traitement

E

atomique des intéractions qu'il contient.

 

U

M

L

 

ENSAF

234

M.BERRADA

 

Le diagramme de communication

 

• Un diagramme de communication montre une

L

représentation spatiale des lignes de vie.

A

N

G

• Les diagrammes de communication sont proches des

A

diagrammes de classes auxquels ils ajoutent un aspect

G

dynamique en montrant des envois de messages.

 

E

U

M

L

 

ENSAF

236

M.BERRADA

 

Notation UML

• Les lignes de vie sont représentées par des rectangles

L

contenant une étiquette dont la syntaxe est

 

A

N

G

<nomDuRôle> : <nomDuType>

 

A

G

E

• Les messages peuvent être ordonnés selon un numéro de séquence croissant.

U

M

L

 

ENSAF

238

M.BERRADA

2015/2016

6. Opérateur Critical L A N G A G E U M L ENSAF 235
6. Opérateur Critical
L
A
N
G
A
G
E
U
M
L
ENSAF
235
M.BERRADA
 

Le diagramme de communication

• Les diagrammes de collaboration (communication) sont

L

des diagrammes d’objets communicants. C’est une sorte de

A

vue locale d’un « morceau du système ».

N

G

A

• On réalise ce type de diagramme dans un contexte

G

particulier et pour obtenir un résultat précis. Pour cela on

met en scène que les objets qui participent à ce résultat

E

U

dans le contexte donné.

M

L

 

• Une collaboration entre ces mêmes objets peut être différente dans un autre contexte.

 

ENSAF

237

M.BERRADA

 

Exemple 1

L

A

Un objet A envoie un message X à un objet B, puis

N

l’objet B envoie un message Y à un objet C, et enfin C

s’envoie un message Z.

G

A

G

E

A 1: X 3: Z 2: Y B C
A
1: X
3: Z
2: Y
B
C
 

U

M

L

 

ENSAF

239

M.BERRADA

ENSA de Fès

Exemple 2 • Un diagramme de communication illustrant la recherche puis l’ajout, dans son panier
Exemple 2
• Un diagramme de communication illustrant la recherche
puis l’ajout, dans son panier virtuel, d’un livre lors d’une
L
commande sur Internet.
A
N
G
A
G
E
U
M
L
ENSAF
240
M.BERRADA
 

Message(Syntaxe)

 

3 : bonjour()

 

Ce message a pour numéro de séquence "3".

 

L

A

[heure = midi] 1 : manger()

 

N

Ce message n'est envoyé que s'il est midi.

 

G

A

1.3.6 * : ouvrir()

 

G

E

Ce message est envoyé de manière séquentielle un certain nombre de fois.

U

3 / *||[i := 1

5]

: fermer()

M

Représente l'envoi en parallèle de 5 messages. Ces messages ne seront

L

envoyés qu'après l'envoi du message 3.

 
 

ENSAF

 

242

M.BERRADA

 

Types de message

 

Mêmes messages que pour les séquences :

 

L

A

Message simple

 

N

Message minuté

 

G

A

Message synchrone

G

Message asynchrone

E

Message dérobant

U

M

L

 

ENSAF

 

244

M.BERRADA

2015/2016

 

Message(Syntaxe)

 
 

pré / [cond] séq *|| [iter] : r := msg (par)

L

   

A

 

pré : prédécesseurs

N

[cond] : expression booléenne.

G

séq : numéro de séquence du message.

iter : récurrence du message.

A

G

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

récurrent en n'utilisant que "*" ou "*||".

 

M

r : valeur de retour du message.

msg : nom du message.

L

par : paramètres du message

 

ENSAF

241

M.BERRADA

 

Message(Syntaxe)

 

1.3,2.1 / [t < 10s] 2.5 : age := demanderAge(nom,prenom)

L

Ce message (numéro 2.5) ne sera envoyé qu'après les

A

N

G

A

G

E

messages 1.3 et 2.1, et que si "t < 10s". La valeur de retour

est affectée à age. Le message prend nom et prenom en

paramètres

/ [disk full] 1.7.a * : deleteTempFiles()

1.3

 

1.3

/ [disk full] 1.7.b : reduceSwapFile(20%)

U

• Ces messages ne seront envoyés qu'après l'envoi du

 

M

message 1.3 et si la condition "disk full" est réalisée. Si

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

243

M.BERRADA

Exemple

Exemple

:TourControle 2.a/3: atterrir(piste)
:TourControle
2.a/3: atterrir(piste)

1*: mayday()

Exemple :TourControle 2.a/3: atterrir(piste) 1*: mayday() 1/2.a *||: seDeplacer(piste, parking) pa87:Boeing

1/2.a *||: seDeplacer(piste, parking)

pa87:Boeing Etat=detresse
pa87:Boeing
Etat=detresse
:Avion Etat=a_terre Position=piste
:Avion
Etat=a_terre
Position=piste
 

ENSAF

245

M.BERRADA

ENSA de Fès

 

Comment choisir

Les diagrammes de séquence

 

L

• Rendent explicite la séquence temporelle dans l’interaction

A

• choix naturel lorsque l’interaction est construite à partir d’un

N

G

use-case

A

• Facilite une écriture détaillée des messages

 

G

E

• moins d’espace est généralement disponible dans un diagramme de communication

U

M

L

 

ENSAF

246

M.BERRADA

Isomorphisme Diagramme de communication Diagramme de séquence 8: msg8() L O1:C1 O2:C2 O3:C3 A 3:
Isomorphisme
Diagramme de communication
Diagramme de séquence
8: msg8()
L
O1:C1
O2:C2
O3:C3
A
3: msg3()
msg1()
N
5: msg5()
msg2()
G
msg3()
A
O1:C1
O3:C3
G
msg4()
1: msg1()
E
msg5()
4: msg4()
msg6()
10: msg10()
msg7()
U
2: msg2()
6: msg6()
M
msg8()
7: msg7()
msg9()
L
9: msg9()
msg10()
O2:C2
ENSAF
248
M.BERRADA
Diagramme de classes L A N G A G E U M L ENSAF 250
Diagramme de classes
L
A
N
G
A
G
E
U
M
L
ENSAF
250
M.BERRADA

2015/2016

 

Comment choisir

 

Les diagrammes de communication

L

• Peuvent être vus comme la prolongation d’un diagramme

A

de classes

 

N

G

• préférable lorsque l’interaction est déduite du diagramme

A

de classes

 

G

E

• sont aussi très utiles pour valider des diagrammes de classes

U

M

L

 

ENSAF

247

M.BERRADA

 

Diagramme de collaboration

L

L

A

N

G

A

G

E

U

M

L

 

ENSAF

249

M.BERRADA

 

En Résumé

 

• Les diagrammes de séquence et de communication

L

montrent l’aspect dynamique d’un système.

A

• Les diagramme de séquence et de

N

communication sont les seuls à illustrer des interactions

G

A

entre les éléments du système.

 

G

E

• Une interaction montre

un

comportement typique

d’un

système

dans

un

contexte donné.

U

M

L

• La vision du système donnée est donc partielle

mais cohérente (car elle montre comment un comportement d’un système est réalisé par des éléments qui le compose).

 

ENSAF

251

M.BERRADA

ENSA de Fès

L

A

N

Diagrammes de

 

G

A

G

Composants et de

E

U

Déploiement

M

L

 

ENSAF

252

M.BERRADA

 

Diagrammes de composants et de déploiement

L

• Issu en grande partie de la méthode OMT (Rumbaugh) et de la méthode Booch

A

N

G

• L’utilisation d’un diagramme de composants n’est

A

envisageable que pour de petites applications ce qui en fait

G

un modèle très peu utilisé

 

E

U

M

• Le diagramme de déploiement est en général utilisé en

L

phase de Conception générale où il permet de décrire l’architecture technique générale

 

ENSAF

254

M.BERRADA

 

Objectif

Visualiser l’organisation physique générale d’un système

L

décrite en terme de composants logiciels

A

N

G

Présenter les dépendances unissant les différents

A

constituants logiciels du système

G

E

 

Etablir les différentes configurations liant les éléments

U

M

physiques logiciels du système

L

 

ENSAF

256

M.BERRADA

2015/2016

 

Plan 9

• Introduction

L

• Objectifs du diagramme de composants

 

A

• Diagramme de composants

N

G

• Composant

A

• Interface

 

G

E

• Objectifs du diagramme de déploiement

 

U

• Diagramme de déploiement

M

• Nœud

L

 

• Connexion

• Instance de noeud

 

ENSAF

253

M.BERRADA

L

L

A

N

G

A

G

Diagrammes de composants

E

U

M

L

 

ENSAF

255

M.BERRADA

 

Définition

• Un diagramme de composants propose une vision statique

L

de l’organisation des éléments physiques logiciels du

A

système

N

• Un diagramme de composants montre les dépendances

existant entre les composants physiques logiciels du

G

A

G

système

E

• Un diagramme de composants ne montre pas les

U

interactions entre les composants physiques logiciels

M

L

 
Un diagramme de composants est un diagramme représentant l’organisation et les dépendances liant les éléments

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

257

M.BERRADA

ENSA de Fès

 

Exemple

L

L  
 

A

N

G

A

G

E

U

M

L

 

ENSAF

258

M.BERRADA

 

Composant (2)

• Un composant est

• Un composant est

L

représenté par un rectangle

A

avec des onglets

N

• Le nom du composant peut

être précédé du nom du

 

G

A

G

paquetage qui le contient

E

• Il est possible de

U

développer le composant

M

L

de façon à faire apparaître

le nom des éléments logiques qu’il implémente

 

ENSAF

260

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

A

opérations

N

• Il est possible de représenter l’exportation et

l’importation d’une interface par un composant

 

G

A

G

E

U

U  
 

M

L

 

ENSAF

262

M.BERRADA

2015/2016

 

Composant

• Un composant est l’implémentation physique logicielle d’un ensemble d’éléments logiques (classe ou

L

collaboration)

 

A

N

• Un composant propose un ensemble d’interfaces qu’il se

G

doit de respecter

 

A

G

• Un composant peut être remplacé par un autre

E

composant respectant les mêmes interfaces

U

• Un composant peut être un exécutable, une librairie, une

M

table, un fichier source, un document, …

L

 
Un composant est un élément physique logiciel interchangeable d’un système qui fournit l’implémentation d’un

Un composant est un élément physique logiciel interchangeable d’un système qui fournit l’implémentation d’un ensemble d’interfaces

 

ENSAF

259

M.BERRADA

 

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

L

• Une interface peut être associée aussi bien au niveau

A

logique (rare) qu’au niveau physique

N

G

• L’interface contient les opérations mises à la disposition

A

des autres composants

G

E

• Un composant peut implémenter plusieurs interfaces

• Un composant se doit de proposer une implémentation

U

M

pour chacune de ses interfaces

L

 
Une interface est un ensemble d’opérations servant à spécifier un service proposé par un composant

Une interface est un ensemble d’opérations servant à spécifier un service proposé par un composant ou par une classe

 

ENSAF

261

M.BERRADA

L

L

A

N

G

A

G

Diagrammes de déploiement

E

U

M

L

 

ENSAF

263

M.BERRADA

ENSA de Fès

 

Objectifs

Etablir la cartographie complète de déploiement du

 

L

logiciel sur le matériel

A

N

G

Visualiser la topologie matérielle d’un système

 

A

G

E

Etablir la nature des connexions reliant les éléments matériels du système

 

U

M

L

 

ENSAF

264

M.BERRADA

 
 

Exemple

L

L  
 

A

N

G

A

G

E

U

M

L

 

ENSAF

266

M.BERRADA

 

Nœud (2. Notation)

L

• Un nœud est représenté par un cube

 

A

• Le nom du nœud peut être

N

précédé du nom du paquetage

qui le contient

N précédé du nom du paquetage qui le contient

G

A

G

• Il est possible de développer le

nœud de façon à faire

E

U

apparaître le nom de ses

M

attributs

L

 

• Il est possible de développer le nœud de façon à faire apparaître le nom des composants qu’il déploie

 

ENSAF

268

M.BERRADA

 

2015/2016

 

Définition

• Un diagramme de déploiement propose une vision

L

statique de la topologie du matériel sur lequel s’exécute le

A

système

N

• Un diagramme de déploiement montre les associations

(connexions) existant entre les nœuds du système