Sunteți pe pagina 1din 32

II.6.

Diagrammes
d'interaction
2

Introduction
 Les diagrammes d'UML
Diagramme

Diagramme Diagramme
de structure comportemental

Diagramme Diagramme Diagramme Diagramme Diagramme de


de classes de package d’objets d’activités cas d’utilisation

Diagramme de Diagramme de Diagramme de Diagramme Diagramme de


composant déploiement structure composite d’interactions transition d’état

Diagramme de Diagramme de
séquence communication

Diagramme vue
Diagramme
d’ensemble des
de timing
interactions

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 2


3

Diagrammes d'interaction
 Introduction
Modéliser la façon dont les groupes d'objets collaborent pour
réaliser un comportement donné.

Diagrammes de séquence
 Montrent les interactions entre objets selon un point de
vue temporel
 Le contexte des objets n'est pas représenté

A : Objet B : Objet

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 3


4

Diagrammes d'interaction
 Introduction

Diagrammes de collaboration / communication


 Montre les interactions entre objets en insistant sur la
structure spatiale statique
 Exprime à la fois le contexte de groupe d'objets et
l'interaction entre ces objets
 Extension du diagramme d'objets

2: écrire
: Imprimante
: Traitement de texte
: Scanner
1: lire

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 4


II.6. Diagrammes
d'interaction
1. Diagrammes de séquence
6

Diagrammes de séquence
 Concepts principaux :
1 Les participants (le plus souvent des objets)
 Une ligne de vie

 Des zones d’activation

2 Les messages
 L’opération et éventuellement ses paramètres

 Éventuellement son résultat

3 Des structures de contrôle


 Alt : conditionnelle

 Loop : boucle

 Réf : référence à un autre diagramme de séquence (=appel


de fonction)
 Etc.

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 6


7

Diagrammes de séquence
 Représentation des acteurs

 Rectangle + Ligne de vie


 Nom_objet : nom_classe
nom

Ferrari : Voiture : Garage

temps

t
Module Génie Logiciel : Cours d'Analyse Orientée Objet. 7
8

Diagrammes de séquence
 Messages
Communication entre les lignes de vie
 appel de méthode

 envoi d'un signal

 création/destruction d'une instance

Ferrari : Voiture : Conducteur

démarre

attribut = nom_signal_ou_op (arguments) : valeur_retournée


Module Génie Logiciel : Cours d'Analyse Orientée Objet. 8
9

Diagrammes de séquence
 Types de messages
1 Appels de méthodes ou autres méthodes d'appels
synchrones

2 Communication asynchrone : l'émetteur déclenche le


stimulus et passe immédiatement à la suite de l'exécution

3 Retours de procédures (ou de méthodes) : optionnel

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 9


10

Diagrammes de séquence
 Un objet peut s'envoyer : objet
des messages
Message
réflexif

: objet

 Un message peut entraîner <<create>> : objet


la création ou la destruction
d'objets
<<destroy>>

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 10


11

Diagrammes de séquence
 Occurrence d'exécution

Aussi appelé « focus de contrôle »


Correspond à la durée d'activité de l'objet <=> temps durant
lequel il est actif

Ferrari : Voiture : Conducteur

démarre

Focus
d'exécution

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 11


12

Diagrammes de séquence
 Message trouvé = émetteur inconnu.

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 12


13

Diagrammes de séquence
 Exemple

Créations
Destructions

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 13


14

Diagrammes de séquence
 Exemple : distributeur de boisson
distributeur de boisson

Moi : Personne : MachineDdB

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 14


15

Diagrammes de séquence
 Invariants d'état

: FenetrePrincipale : Compte : ControleurDAuthentification

create("bob","glopglop")

verifierReferences(compte)

{compte.authentificationOk == true}

initialiserTransaction()

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 15


16

Diagrammes de séquence
 Occurrences événementielles

:A :B

description

Action()

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 16


17

Diagrammes de séquence
 Fragments combinés
condition de garde

Types :A

1 Opt
2 Loop nom [expression booléenne]

3 Alt
4 Break
5 Critique
6 Ref
7 ...

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 17


18

Diagrammes de séquence
 Fragments combinés
Opt : Fragment parcouru si une condition est vérifiée

:A :B

Opt [condition]

Action()

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 18


19

Diagrammes de séquence
 Fragments combinés
Loop : Répétition du fragment tant que la condition est vérifiée

:A :B

Loop [condition]
Action()

ou
Loop (0, n)
Action()

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 19


20

Diagrammes de séquence
 Fragments combinés
Alt : Equivalent à la structure de contrôle "si .. alors .. sinon".

:A :B

Alt [condition]
ActionA()

[else]
ActionB()

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 20


21

Diagrammes de séquence
 Fragments combinés
Break : Fragment exécuté et met fin au fragment englobant

:A :B

Break [condition]
Action()

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 21


22

Diagrammes de séquence
 Fragments combinés
Critique : Fragment exécuté de façon atomique (d'un bloc)

:A :B

Critique [condition]
ActionCritique()

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 22


23

Diagrammes de séquence
 Décomposition : mot clef "ref"

Méthode n°1

DiagA DiagB
:B
ref :B :C
:A
DiagB
Action()
Action() Action1()

Reponse() Reponse1()

Reponse()

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 23


24

Diagrammes de séquence
 Décomposition : mot clef "ref"

Méthode n°2
DiagA SousFonction

:A :B :A :B

Ref Action()

SousFonction Reponse()

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 24


25

Diagrammes de séquence
 Exercice : distributeur de boissons

Client Ecran MachineDdB G_Monnaie G_Boisson G_gobelet Piece

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 25


II.6. Diagrammes
d'interaction
1. Dia. de communication
27

Introduction
 Les diagrammes d'UML
Diagramme

Diagramme Diagramme
de structure comportemental

Diagramme Diagramme Diagramme Diagramme Diagramme de


de classes de package d’objets d’activités cas d’utilisation

Diagramme de Diagramme de Diagramme de Diagramme Diagramme de


composant déploiement structure composite d’interactions transition d’état

Diagramme de Diagramme de
séquence communication

Diagramme vue
Diagramme
d’ensemble des
de timing
interactions

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 27


28

Diagrammes de communication
 Objectif

 Extension du diagramme d'objet


1 - le contexte = modèle objets
2 - les interactions = les scénarios

 Montrent les interactions entre objets du point de vue


statique et dynamique
1 - Objets = instances de classes
2 - Lien = instance des associations définies dans le
diagramme de classes

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 28


29

Diagrammes de communication
 Concepts
 Objets / acteurs

 Messages séquentiels numérotés


Echangés entre objets et non entre classes

 Exemple :

1 : confirmerIdentité
2 : décoller
tourDeContrôle Fk74:Airbus

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 29


30

Diagrammes de communication
 Exemples
x
A B

4 : Afficher(x,y) // message simple


3.3.1 : Afficher(x,y) // message imbriqué
4.2 : âge := Soustraire( Aujourd'hui, DateDeNaissance ) // message imbriqué
avec valeur retournée
[Age >= 18 ans] 6.2 : Voter() // message conditionnel

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 30


31

Diagrammes de communication
 Exercice
Transformer ce diagramme de séquence en diagramme de
communication
Ouverture d'URL dans un navigateur web

Fenêtre : Frame Préférences : Data PortDeRéception : Socket

chargeParams()

<<create>>

ecouter()

accepter()

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 31


32

Diagrammes de communication
 Exemple : distributeur de boissons

: MachineDbB : G_Gobelet

Moi : Utilisateur

: G_Monnaie : G_Boisson

: Ecran

: Piece
Chocolat : Boisson

Module Génie Logiciel : Cours d'Analyse Orientée Objet. 32

S-ar putea să vă placă și