Vous êtes sur la page 1sur 7

Diagrammes de collaboration SIMMO/ENSM.SE Diagrammes de collaboration SIMMO/ENSM.

SE

Analyse, Conception Objet Sommaire

• De´finition
Diagrammes de Collaboration • Utilisation des diagrammes de collaboration
• Collaboration
• Messages

Une partie du mate´riau de ce cours est issue du cours de S.Galland (Stephane.Galland@emse.fr) • Interactions
Octobre 2002 • Repre´sentation des acteurs
• Classes abstraites et interface

Oct.2002 1 Oct.2002 Sommaire– 2

Diagrammes de collaboration SIMMO/ENSM.SE Diagrammes de collaboration SIMMO/ENSM.SE

De Utilisation des diagrammes de collaboration


´finition
• Description des interactions entre les objets composant le syste`me. • Documentation des cas d’utilisation :

• Repre´sentation se concentrant sur les relations d’interaction entre les – description permettant de re´aliser les cas d’utilisation.
objets. – de´crit le comportement du syste`me pour chacun des sce´narios
accompagnant les cas d’utilisation.
• La dimension temporelle est ajoute´e graˆce a` des nume´ros de se
– Facilite la re´daction des diagrammes des classes, des diagrammes
´quence.
e´tat-transition, ...
• Repre´sente un ensemble de roˆles joue´s par les objets dans un
• Documentation conceptuelle :
contexte particulier, ainsi que les liens entre ces objets.
– description du comportement de classes et d’ope´rations.
• Les diagrammes de collaboration sont des diagrammes d’interaction – Remarque : si les ope´rations ont une structure algorithmique, on pre´fe
comme les diagrammes de se´quence. ´rera les de´crire avec des diagrammes d’activite´s.
• Le passage a` un diagramme de se´quences et inversement est simple. Les diagrammes de collaboration sont plus adapte´s quand une ope´ration fait
inte´ragir de nombreux objets.

Oct.2002 De´finition– 3 Oct.2002 Utilisation des diagrammes de collaboration– 4


Diagrammes de collaboration SIMMO/ENSM.SE Diagrammes de collaboration SIMMO/ENSM.SE

Collaboration Collaboration :
roˆ les
• Chaque e´le´ment d’une collaboration joue un roˆ le.
• De´finition des e´le´ments utiles pour obtenir un re´sultat en spe
´cifiant leurs roˆles dans le contexte de la collaboration. • Les roˆles des classificateurs (classes, cas d’utilisation, ...) est repre
´sente´ par un symbole de classe :
• Est compose´e de deux description :
Un rôle anonyme de la Objet anonyme instance
– description ge´ne´rale au niveau spe´cification qui repre´sente : :C
classe C
:C
de la classe C

∗ les roˆles des cas d’utilisations, des classes, des me´thodes et


/R:C Un rôle R de la /R:C Objet anonyme instance
des associations; classe C de la classe C, jouant
le rôle R
∗ une interaction : une se´quence de messages
partiellement ordonne´s e´change´s entre les roˆ les. /R Un rôle R /R Objet anonyme jouant
le rôle R
– description spe´cifique au niveau instance qui repre´sente :
∗ une instance particulie`re d’une interaction compose´s d’objets O/R:C Objet O,instance
de la classe C, jouant
et de liens respectant les roˆles, et de stimulus (instances de le rôle R

messages) e´change´s entre ces objets.

Oct.2002 Collaboration– 5 Oct.2002 Collaboration– 6

Diagrammes de collaboration SIMMO/ENSM.SE Diagrammes de collaboration SIMMO/ENSM.SE

Collaboration : roˆles Collaboration : niveau spe´cification


(suite)
• Les roˆles des associations sont des textes respectant • La collaboration forme un graphe de roˆles lie´s par des
roˆ les d’associations.
la syntaxe des e´tiquettes d’associations (diagrammes
de classes). • En ge´ne´ral, une collaboration au niveau spe´cification repre´sente un
contexte.
/Locataire : Personne

+habitant +habitant *
/Locataire : Personne /Maison : Logement
+habitation 1 +habitation
* 1
/Maison : Logement /Propriétaire:Personne
+loueur
1 1

1 +adresse +loyer

:Lieu 1 :Coût

Oct.2002 Collaboration– 7 Oct.2002 Collaboration– 8


Diagrammes de collaboration SIMMO/ENSM.SE Diagrammes de collaboration SIMMO/ENSM.SE

Collabaration : au niveau instance Collaboration : repre´sentation condense´e


• Diagramme repre´sentant une instance du diagramme au niveau • Dans UML, une collaboration est repre´sente´e comme
spe´cification avec des stimulus. suit :
• Stimulus : instance d’un message envoye´ d’un objet vers un Personne
autre. Cas d’utilisation 1
+ calculeRetraite() Calcul de la retraite
1: revenuDeLocation(pourLesMaisons)
Loueur / Propriétaire
<<réalise>>
:Personne

:Client Calcul de la retraite


1.1 *[i:=1..n] : loyer() Une collaboration
Réalisation de :
Personne::calculeRetraite
1.1.i : valeur()
:Cout /Maison
:Logement
Documentation de Documentation de
cas d’utilisation classes/méthodes

Oct.2002 Collaboration– 9 Oct.2002 Collaboration– 10

Diagrammes de collaboration SIMMO/ENSM.SE Diagrammes de collaboration SIMMO/ENSM.SE

Messages Messages : e´tiquettes

• Les e´tiquettes de´crivent les messages auxquels elles


• Les objets communiquent en e´changeant des messages repre´sente´s sous
forme de fle`ches. sont attache´es.
• Les messages sont e´tiquette´s par le nom de l’ope´ration ou du signal • Syntaxe ge´ ne´ rale:
invoque´. [synchronisation] [’[’garde’]’] [s
• L’envoi d’un message ne´cessite que le re´cepteur puisse re´aliser ´equence] [it´eration] [r
l’ope´ration. ´esultat :=] nom message
[’(’arguments’)’]
• nom message : nom de l’ope´ration ou du signal
Expéditeur Destinataire
invoque´ par l’interme´diaire de ce signal
Etiquette du message

• garde : condition boole´enne et optionnelle (repre


´sente´e entre corchets) autorisant ou non l’envoi
Oct.2002 Messages– 11 Oct.2002 d’un message. Messages– 12
Diagrammes de collaboration SIMMO/ENSM.SE Diagrammes de collaboration SIMMO/ENSM.SE

Messages : se´quence Messages : ite´ration


• Ensemble de nume´ros ordonnant l’envoi des messages (1 puis 2 puis • Ite´ration se´quentielle : envoi se´quentiel de n instances
3
...)
du meˆme message.
Syntaxe : *[ clause d’ite´ration ]
• Nume´rotation englobante (cas d’appels de proce´dure) : 2 (appel
initial) puis 2.1 (premier appel imbrique´) puis 2.2 • Ite´ration paralle`le : envoi paralle`le de n instances du
(second sous-appel) puis 3 (appel du meˆme niveau que le meˆme message.
nume´ro 2). Syntaxe : *||[ clause d’ite´ration ]
:Chaine hi−fi
1 : allumer()
: utilisateur 2 : lecture(CD)
2.1 : lecture()

*[i:=1..n] Message
A B
2.1.1 : démarrer() :Lecteur CD 2.1.2 : afficherTitre()

Oct.2002 Messages– 13 Oct.2002 Messages– 14

Diagrammes de collaboration SIMMO/ENSM.SE Diagrammes de collaboration SIMMO/ENSM.SE

Messages : arguments Messages : re´sultat

• Liste des parame`tres du message se´pare´s par des • Le re´sultat est constitue´ d’une liste de valeurs retourne
virgules. ´es par le message.
• Les arguments et le nom de l’action de´terminent • Ces valeurs peuvent eˆtre utilise´es comme parame`tres
sans ambigu¨ıte´ l’action a` re´aliser. des autres messages.
• Les arguments peuvent contenir des valeurs retourne´es 1 : p := Message

par des messages envoye´s pre´ce´demment. A B

• Exemples :
2 : Message2 ( p )
Afficher ( x, y ) – affiche les valeurs x et y
Soustraire( Aujourd’hui, C
DateDeNaissance ) – calculer le nombre de
jours entre deux dates
Oct.2002 Messages– 15 Oct.2002 Messages– 16
Diagrammes de collaboration SIMMO/ENSM.SE Diagrammes de collaboration SIMMO/ENSM.SE

Messages : synchronisation Messages : appel de proce´dure


• Synchronization de message : envoi d’un message ssi d’autres • Dans un appel de proce´dure (flot de controˆle emboˆıte
messages ont de´ja` e´te´ envoye´s.
´), la se´quence emboˆıte´e doit se terminer
• Syntaxe : message1, message2 ... / pour que la se´quence englobante reprenne le
A1 : Premier message
controˆ le.
D

• Les appels de proce´dure sont repre´sente´s par des


B2 : Message2
fle`ches a` pointe triangulaire.
A B
B1 : Message
Envoi simple
A1,B2 / C4 : Message3
A B

Oct.2002 Messages– 17 Oct.2002 Messages– 18

Diagrammes de collaboration SIMMO/ENSM.SE Diagrammes de collaboration SIMMO/ENSM.SE

Messages : flot de controˆle Messages : flot de controˆle a`


asynchrone plat
• Dans un flot de controˆle asynchrone, il n’y pas de • Cas particulier de messages asynchrones.
message englobe´ ou englobant • Mode´lisation d’une progression non proce´durale
⇒ pas d’obligation de terminaison d’autre messages pour
souvent utilise´e pour les messages entre un
continuer.
acteur et le syste`me.
• Les messages asynchrones sont repre´sente´s par
• Les messages sont repre´sente´s par des fle`ches
des demi-fle`ches. simples.
Un message

A
A B

:utilisateur
Envoi asynchrone

Oct.2002 Messages– 19 Oct.2002 Messages– 20


Diagrammes de collaboration SIMMO/ENSM.SE Diagrammes de collaboration SIMMO/ENSM.SE

Interactions Interactions (suite)


• Les diagrammes d’interactions montrent les interactions entre les objets
• De´finit la communication entre les instances des e´le´ments d’une
et les relations structurelles permettant ces interactions.
collaboration.
• Plusieurs interactions peuvent s’appliquer a` la meˆme collaboration
pour exprimer divers comportements.
Destruction
• Le contexte d’une interaction comprend les arguments, les variables A B
locales, l’e´tat des objets ainsi que les liens entre les objets qui
participent a` la collaboration.
<<copie>>
/Ascenseur : Cabine <<local>>
+porte
C
/Ascenseur : Cabine :Porte
ouvrir()

:Porte

Niveau spécification Niveau instance

Oct.2002 Interactions– 21 Oct.2002 Interactions– 22

Diagrammes de collaboration SIMMO/ENSM.SE Diagrammes de collaboration SIMMO/ENSM.SE

Interactions (suite) Interactions (suite)


• Les objets et les liens cre´e´s ou de´truits au cours d’une interaction • UML permet une repre´sentation condense´e d’un ensemble d’objets.
peuvent respectivement porter les contraintes nouveau ou d
• Utile lorsque tous les objets de l’ensemble doivent eˆtre traite´s de
´etruit.
manie`re uniforme.
• Les objets cre´e´s, puis de´truits au sein de la meˆme interaction, portent la :Instituteur
contrainte transitoire.
{nouveau} B :Instituteur
1 *
:Elève
*[tous] : Debout

A :Elève

Niveau spécification Niveau instance

C D
{détruit} {transitoire}

Oct.2002 Interactions– 23 Oct.2002 Interactions– 24


Diagrammes de collaboration SIMMO/ENSM.SE Diagrammes de collaboration SIMMO/ENSM.SE

Interactions (suite) Repre´sentation des


• Possibilite´ de repre´senter un objet particulier appartenant a` un acteurs
groupe afin de lui appliquer un message particulier • La notation UML permet de faire figurer un acteur dans les
• Repre´sentation a` l’aide d’une composition indiquant que l’objet diagrammes de collaboration.
fait parti de l’ensemble d’objets. • Ils permettent de repre´senter les inte´ractions de
1 : unFichier := Selectionne(critère) ´clenche´es par un e´le´ment exte´rieur au syste`me.

Répertoire :Fichier
• Le premier message est envoye´ par l’acteur.
fichiers 1 : Venir me chercher au RDC

:Ascenseur

2 : Ouvrir() : Personne

2 : Ajouter destination( RDC )


unFichier : Fichier
<<local>> :Cabine

Oct.2002 Interactions– 25 Oct.2002 Repre´sentation des acteurs– 26

Diagrammes de collaboration SIMMO/ENSM.SE

Classes abstraites et interface

• Les classes abstraites et les interfaces peuvent figurer dans


les diagrammes de collaboration.
• Elles repre´sentent des informations comple´mentaires :
liens polymorphes, re´alisation d’interfaces, ...
Nourrir()
/Propriétaire :Animal
:Personne animalFamilier

:Chien :Chat

Oct.2002 Classes abstraites et interface– 27

Vous aimerez peut-être aussi