• 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 ([email protected])

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

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

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,

• 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

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

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