• Aucun résultat trouvé

Analyse, Conception Objet Diagrammes de Collaboration

N/A
N/A
Protected

Academic year: 2022

Partager "Analyse, Conception Objet Diagrammes de Collaboration"

Copied!
7
0
0

Texte intégral

(1)

Analyse, Conception Objet Diagrammes de Collaboration

Une partie du mat´eriau de ce cours est issue du cours de S.Galland (Stephane.Galland@emse.fr)

Octobre 2002

Oct.2002 1

Sommaire

D´efinition

Utilisation des diagrammes de collaboration

Collaboration

Messages

Interactions

Repr´esentation des acteurs

Classes abstraites et interface

Oct.2002 Sommaire– 2

Diagrammes de collaboration SIMMO/ENSM.SE

D´efinition

Description des interactions entre les objets composant le syst`eme.

Repr´esentation se concentrant sur les relations d’interaction entre les objets.

La dimension temporelle est ajout´ee grˆace `a des num´eros de s´equence.

Repr´esente un ensemble de rˆoles jou´es par les objets dans un contexte particulier, ainsi que les liens entre ces objets.

Les diagrammes de collaboration sont desdiagrammes d’interaction comme les diagrammes de s´equence.

Le passage `a un diagramme de s´equences et inversement est simple.

Oct.2002 D´efinition– 3

Diagrammes de collaboration SIMMO/ENSM.SE

Utilisation des diagrammes de collaboration

Documentation des cas d’utilisation:

description permettant der´ealiserles cas d’utilisation.

d´ecrit le comportement du syst`eme pour chacun des sc´enarios accompagnant les cas d’utilisation.

Facilite la r´edaction des diagrammes des classes, des diagrammes

´etat-transition, ...

Documentation conceptuelle:

description du comportement de classes et d’op´erations.

Remarque : si les op´erations ont une structure algorithmique, on pr´ef´erera les d´ecrire avec des diagrammes d’activit´es.

Les diagrammes de collaboration sont plus adapt´es quand une op´eration fait int´eragir de nombreux objets.

Oct.2002 Utilisation des diagrammes de collaboration– 4

(2)

Collaboration

D´efinition des ´el´ements utiles pour obtenir un r´esultat en sp´ecifiant leursrˆolesdans le contexte de la collaboration.

Est compos´ee de deux description :

description g´en´erale au niveausp´ecificationqui repr´esente :

lesrˆolesdes cas d’utilisations, des classes, des m´ethodes et des associations;

uneinteraction: une s´equence de messages partiellement ordonn´es ´echang´es entre les rˆoles.

description sp´ecifique au niveauinstancequi repr´esente :

une instance particuli`ere d’une interaction compos´es d’objets et de liens respectant les rˆoles, et destimulus(instances de messages) ´echang´es entre ces objets.

Oct.2002 Collaboration– 5

Collaboration : rˆoles

Chaque ´el´ement d’une collaboration joue unrˆole.

Les rˆoles des classificateurs (classes, cas d’utilisation, ...) est repr´esent´e par un symbole de classe :

:C Un rôle anonyme de la classe C

Un rôle R de la classe C /R:C

Objet anonyme instance de la classe C /R:C

:C

Objet anonyme instance de la classe C, jouant le rôle R

/R Un rôle R /R Objet anonyme jouant

le rôle R O/R:C Objet O,instance

de la classe C, jouant le rôle R

Oct.2002 Collaboration– 6

Diagrammes de collaboration SIMMO/ENSM.SE

Collaboration : rˆoles (suite)

Les rˆoles des associations sont des textes respectant la syntaxe des ´etiquettes d’associations (diagrammes de classes).

/Locataire : Personne +habitant /Maison : Logement

+habitation

Diagrammes de collaboration SIMMO/ENSM.SE

Collaboration : niveau sp´ecification

La collaboration forme un graphe de rˆoles li´es par des rˆoles d’associations.

En g´en´eral, une collaboration au niveau sp´ecification repr´esente un contexte.

/Locataire : Personne

/Maison : Logement /Propriétaire:Personne

:Coût :Lieu

+habitant

+habitation

+loueur

* 1

1

*

+adresse 1 1

1

1 +loyer

(3)

Collabaration : au niveau instance

Diagramme repr´esentant une instance du diagramme au niveau sp´ecification avec desstimulus.

Stimulus : instance d’un message envoy´e d’un objet vers un autre.

:Client

Loueur / Propriétaire :Personne

/Maison :Logement :Cout

1.1.i : valeur()

1.1 *[i:=1..n] : loyer() 1: revenuDeLocation(pourLesMaisons)

Oct.2002 Collaboration– 9

Collaboration : repr´esentation condens´ee

Dans UML, une collaboration est repr´esent´ee comme suit :

Cas d’utilisation 1

Une collaboration

<<réalise>>

Personne

+ calculeRetraite()

Calcul de la retraite Réalisation de : Personne::calculeRetraite

Calcul de la retraite

Documentation de classes/méthodes Documentation de

cas d’utilisation

Oct.2002 Collaboration– 10

Diagrammes de collaboration SIMMO/ENSM.SE

Messages

Les objets communiquent en ´echangeant des messages repr´esent´es sous forme de fl`eches.

Les messages sont ´etiquett´es par le nom de l’op´eration ou du signal invoqu´e.

L’envoi d’un message n´ecessite que le r´ecepteur puisse r´ealiser l’op´eration.

Expéditeur Destinataire

Etiquette du message

Oct.2002 Messages– 11

Diagrammes de collaboration SIMMO/ENSM.SE

Messages : ´etiquettes

Les ´etiquettes d´ecrivent les messages auxquels elles sont attach´ees.

Syntaxe g´en´erale:

[synchronisation] [’[’garde’]’]

[s´equence] [it´eration] [r´esultat :=]

nom message [’(’arguments’)’]

nom message: nom de l’op´eration ou du signal invoqu´e par l’interm´ediaire de ce signal

garde: condition bool´eenne et optionnelle (repr´esent´ee entre corchets) autorisant ou non l’envoi d’un message.

Oct.2002 Messages– 12

(4)

Messages : s´equence

Ensemble de num´eros ordonnant l’envoi des messages (1puis2puis3 ...)

Num´erotation englobante (cas d’appels de proc´edure) :2(appel initial) puis2.1(premier appel imbriqu´e) puis2.2(second sous-appel) puis 3(appel du mˆeme niveau que le num´ero2).

:Chaine hi−fi

:Lecteur CD :utilisateur

1 : allumer()

2 : lecture(CD)

2.1 : lecture()

2.1.1 : démarrer() 2.1.2 : afficherTitre()

Oct.2002 Messages– 13

Messages : it´eration

It´eration s´equentielle : envois´equentielde n instances du mˆeme message.

Syntaxe :*[clause d’it´eration]

It´eration parall`ele : envoiparall`elede n instances du mˆeme message.

Syntaxe :*||[clause d’it´eration]

A B

*[i:=1..n] Message

Oct.2002 Messages– 14

Diagrammes de collaboration SIMMO/ENSM.SE

Messages : arguments

Liste des param`etres du message s´epar´es par des virgules.

Les arguments et le nom de l’action d´eterminent sans ambigu¨ıt´e l’action `a r´ealiser.

Les arguments peuvent contenir des valeurs retourn´ees par des messages envoy´es pr´ec´edemment.

Exemples :

Afficher ( x, y )– affiche les valeurs x et y Soustraire( Aujourd’hui,

DateDeNaissance )– calculer le nombre de jours entre deux dates

Diagrammes de collaboration SIMMO/ENSM.SE

Messages : r´esultat

Le r´esultat est constitu´e d’une liste de valeurs retourn´ees par le message.

Ces valeurs peuvent ˆetre utilis´ees comme param`etres des autres messages.

A

C

B 1 : p := Message

2 : Message2 ( p )

(5)

Messages : synchronisation

Synchronization de message : envoi d’un message ssi d’autres messages ontd´ej`a´et´e envoy´es.

Syntaxe :message1, message2.../

A

C

B D

A1,B2 / C4 : Message3 A1 : Premier message

B2 : Message2

B1 : Message

Oct.2002 Messages– 17

Messages : appel de proc´edure

Dans un appel de proc´edure (flot de contrˆole emboˆıt´e), la s´equence emboˆıt´ee doit se terminer pour que la s´equence englobante reprenne le contrˆole.

Les appels de proc´edure sont repr´esent´es par des fl`eches `a pointe triangulaire.

A B

Envoi simple

Oct.2002 Messages– 18

Diagrammes de collaboration SIMMO/ENSM.SE

Messages : flot de contrˆole asynchrone

Dans un flot de contrˆole asynchrone, il n’y pas de message englob´e ou englobant

pas d’obligation de terminaison d’autre messages pour continuer.

Les messages asynchrones sont repr´esent´es par des demi-fl`eches.

A B

Envoi asynchrone

Oct.2002 Messages– 19

Diagrammes de collaboration SIMMO/ENSM.SE

Messages : flot de contrˆole `a plat

Cas particulier de messages asynchrones.

Mod´elisation d’une progression non proc´edurale souvent utilis´ee pour les messages entre un acteur et le syst`eme.

Les messages sont repr´esent´es par des fl`eches simples.

A

:utilisateur

Un message

Oct.2002 Messages– 20

(6)

Interactions

D´efinit la communication entre les instances des ´el´ements d’une collaboration.

Plusieurs interactions peuvent s’appliquer `a la mˆeme collaboration pour exprimer divers comportements.

Le contexte d’une interaction comprend les arguments, les variables locales, l’´etat des objets ainsi que les liens entre les objets qui participent `a la collaboration.

/Ascenseur : Cabine :Porte

/Ascenseur : Cabine

:Porte +porte

ouvrir()

Niveau spécification Niveau instance

Oct.2002 Interactions– 21

Interactions (suite)

Les diagrammes d’interactions montrent les interactions entre les objets etles relations structurelles permettant ces interactions.

A B

C Destruction

<<local>>

<<copie>>

Oct.2002 Interactions– 22

Diagrammes de collaboration SIMMO/ENSM.SE

Interactions (suite)

Les objets et les liens cr´e´es ou d´etruits au cours d’une interaction peuvent respectivement porter les contraintesnouveauouetruit.

Les objets cr´e´es, puis d´etruits au sein de la mˆeme interaction, portent la contraintetransitoire.

A

B

D {transitoire}

C {détruit}

{nouveau}

Diagrammes de collaboration SIMMO/ENSM.SE

Interactions (suite)

UML permet une repr´esentation condens´ee d’un ensemble d’objets.

Utile lorsque tous les objets de l’ensemble doivent ˆetre trait´es de mani`ere uniforme.

:Elève :Instituteur

:Instituteur

:Elève

Niveau spécification Niveau instance

1 *

*[tous] : Debout

(7)

Interactions (suite)

Possibilit´e de repr´esenter un objet particulier appartenant `a un groupe afin de lui appliquer un message particulier

Repr´esentation `a l’aide d’une composition indiquant que l’objet fait parti de l’ensemble d’objets.

Répertoire :Fichier

unFichier : Fichier

<<local>>

fichiers 1 : unFichier := Selectionne(critère)

2 : Ouvrir()

Oct.2002 Interactions– 25

Repr´esentation des acteurs

La notation UML permet de faire figurer un acteur dans les diagrammes de collaboration.

Ils permettent de repr´esenter les int´eractions d´eclench´ees par un ´el´ement ext´erieur au syst`eme.

Lepremier messageest envoy´e par l’acteur.

:Ascenseur :Personne

:Cabine 1 : Venir me chercher au RDC

2 : Ajouter destination( RDC )

Oct.2002 Repr´esentation 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 repr´esentent des informations compl´ementaires : liens polymorphes, r´ealisation d’interfaces, ...

/Propriétaire

:Personne :Animal

:Chat :Chien

animalFamilier Nourrir()

Oct.2002 Classes abstraites et interface– 27

Références

Documents relatifs

Michel Ternoy, psychologue de la fonction publique hospitalière, docteur d’état ès lettres et sciences humaines, vice-président de la SIPPS Jean-Marie Barthélémy, docteur

En Java l’instanciation d’un objet se fait en deux étapes : 1 : Définition d’une variable du type de la classe désirée.. String uneChaine ; /* Déclare qu’il y aura un

• Les instances de composants sont surtout utilis´ees dans les diagrammes de d´eploiement. Oct.2002 Composant

• Il s’agit d’un syst`eme de s´ecurit´e limitant les acc`es `a des parties d’un ´edifice `a l’aide de cartes magn´etiques. Oct.2002 Exemple d’un syst`eme de s´ecurit´e

• Un diagramme d’objets est une instance d’un diagramme de classes et illustre l’´etat d’un syst`eme `a un moment donn´e.. • Les diagrammes d’objets

– soit des objets d’implantation (diagrammes de s´equences pour les interactions “informatiques”).. • Ils sont identifi´es par l’interm´ediaire des cas d’utilisation ou

Processus logiciel : Un processus logiciel est un ensemble d’activités et de résultats connexes. Lorsque ces activités sont effectuées dans un ordre spécifique,

Cette méthode retourne vrai s’il existe une l’intersection ainsi que le point d’intersection faux, dans le cas contraire..  Une classe Droite constituée d’un Point et