Vous êtes sur la page 1sur 34

MTHODOLOGIES DE

CONCEPTION
1

Chapitre 4: diagramme de squence

DIAGRAMME DE SQUENCE

Le diagramme de squence permet de dcrire les cas dutilisation de faon mettre en vidence les interactions entre les objets et les acteurs du systme selon un point de vue temporel. Les diagrammes de squences et les diagrammes d'tat-transitions sont les vues dynamiques les plus importantes d'UML (squence, collaboration, tats transition, activit) en gnral, un diagramme de squence capture le comportement dun seul scnario. Il contient un certain nombre dobjets et les messages transmis entre ces objets dans le cadre dun cas dutilisation.

Cas dutilisation

diagramme de squence
2

DIAGRAMME DE SQUENCE(SUITE)
Un diagramme de squence a deux dimensions: dimension verticale: le temps;

L'ordre d'envoi d'un message est dtermin par sa position sur l'axe vertical du diagramme ; le temps s'coule "de haut en bas" de cet axe. Lordre de disposition des objets sur l'axe horizontal est sans importance.

dimension horizontale: les objets (et les acteurs)

DIAGRAMME DE SQUENCE(SUITE)
Les diagrammes de squence sutilise de deux manires diffrentes: Diagramme de squence systme: c'est un diagramme en boite noir qui montre les interactions/squences entre les acteurs et le systme vue comme une boite noir Les diagrammes de squence reprsentant les interactions entre objets: c'est un diagramme en bote blanche qui rentre dans le dtail des squences systmes .Il met en jeu : un acteur un ensemble dobjets la chronologie des changes entre les objets 4

ELMENTS DE BASE
- Acteur
- Objet - Ligne de vie - Bande dactivation - Envoi de message
Nom_acteur

les acteurs peuvent galement communiquer avec des objets, ainsi ils sont numrs en colonne. message les Un acteur est modlis en utilisant le symbole objets sont des instances deshabituel: Stickman. classes

- Cration dynamique les lignes de vie, LifeLine, identifient l'existence de les activations, sont modlises par des botes - Supprimer un objet par rapport au temps. La notation utilise pour l'objet rectangulaires sur la ligne de vie. Elles indiquent une quandde vie est une ligne pointille verticale ligne l'objet effectue une action. partant de l'objet. les messages, modliss par des flches horizontales entre les activations, indiquent les communications entre les objets.

MESSAGE
Les principales informations contenues dans un diagramme de squence sont les messages changs entre les lignes de vie, prsents dans un ordre chronologique. Un message dfinit une communication particulire entre des lignes de vie (objets ou acteurs). La rception des messages provoque une priode d'activit marquant le traitement du message (spcification d'excution dans le cas d'un appel de mthode).

SYNTAXE DE MESSAGE
La syntaxe des messages est :nomSignal Ou Operation ( parametres )

La syntaxe des arguments est la suivante :nomParametre = valeurParametre

Pour un argument modifiable :nomParametre : valeurParametre

Exemples : appeler( Ali Ben Saleh", 54214110) afficher(x,y) initialiser(x=100) f(x:12) Pierre

TYPES DE MESSAGE
Plusieurs types de messages existent, dont les plus courants :
l'envoi d'un signal ; l'invocation d'une opration (appel de mthode) ; la cration ou la destruction d'un objet; Messages rflexif.

MESSAGE SYNCHRONE
Un message synchrone bloque l'expditeur jusqu' la rponse du destinataire (Si un objet A invoque une mthode d'un objet B, A reste bloqu tant que B n'a pas termin)

S1(info1)

Graphiquement, un message synchrone se reprsente par une che en traits pleins et lextrmit pleine partant de la ligne de vie dun objet expditeur et allant vers celle de lobjet cible

feedback S2(info2)

Obj1 est bloqu en attente du rsultat/fin dexcution Obj1 nenvoie de lobj2 du traitement S2 que lorsque retour de feedback lui est arriv

On peut associer aux messages d'appel de mthode un message de retour (en pointills) marquant la reprise du contrle par l'objet metteur du message synchrone

EXEMPLE

10

MESSAGE SYNCHRONE(SUITE)
Les messages synchrones correspondent des oprations dans le diagramme de classes

11

MESSAGE ASYNCHRONE
Un message asynchrone n'est pas bloquant pour l'expditeur. Le message envoy peut tre pris en compte par le rcepteur tout moment ou ignor.

S1(info1)

S2(info2)

feedback

Graphiquement, un message asynchrone se reprsente par une che en traits pleins et lextrmit ouverte partant de la ligne de vie dun objet expditeur et allant vers celle de lobjet cible

Obj1 est non bloqu il continue son excution

12

MESSAGE ASYNCHRONE
Les messages asynchrones correspondent des signaux dans le diagramme de classes.

Les signaux sont des objets dont la classe est strotype signal et dont les attributs (porteurs d'information) correspondent aux paramtres du message.

Le retour des messages asynchrones s'effectue par l'envoi de nouveaux messages asynchrones.

13

CRATION ET DESTRUCTION DE LIGNES DE VIE


La cration d'un objet est matrialise par une flche qui pointe sur le sommet d'une ligne de vie. On peut aussi utiliser un message asynchrone ordinaire portant le nom create

La destruction d'un objet est matrialise par une croix qui marque la fin de la ligne de vie de l'objet. On peut aussi utiliser un message asynchrone ordinaire portant le nom destroy

14

MESSAGE RFLEXIF
Un objet peut galement senvoyer un message luimme ; on parle dun message rflexif. Les messages rflexifs correspondent aux transitions internes au niveau des objets. Valable pour les rcursions Valable pour les itrations

1 5

EXEMPLE

client

distributeur

Banque

1 : introduire carte()

2 : afficher ecran saisie code()

3 : saisir code()

4 : verifier code()

5 : banque OK

16

EXEMPLE GNRAL :

Scnario : le numro appel n'est pas occup L'appelant dcroche le tlphone la tonalit est dclenche l'appelant tape un chiffre la tonalit s'arrte l'appelant tape un chiffre l'appelant tape un chiffre l'appelant tape un chiffre le tlphone appel commence sonner et la tonalit de sonnerie commence dans appelant L'appel dcroche le tlphone de l'appel cesse de sonner et la tonalit de sonnerie cesse dans appelant les tlphones sont connects. La conversation se droule L'appel raccroche le tlphone Les tlphones sont dconnects Lappelant raccroche le tlphone

17

appelant:Personne dcrocher dbuter tonalit composer chiffre arrter tonalit

:Ligne

appel:Personne

ligne de vie

composer chiffre

...

composer chiffre(n) dbuter tonalit sonnerie sonner dcrocher arrter sonnerie

temps

arrter tonalit sonnerie connecter

connecter
raccrocher

dconnecter raccrocher

dconnecter

18

La caisse du GAB est alimente (il reste au moins un billet !). Aucune carte ne se trouve dj coince dans le lecteur. La connexion avec le Systme dautorisation est oprationnelle. Scnario nominal 1. Le Porteur de carte introduit sa carte dans le lecteur de cartes du GAB. 2. Le GAB vrifie que la carte introduite est bien une carte bancaire. 3. Le GAB demande au Porteur de carte de saisir son code didentification. 4. Le Porteur de carte saisit son code didentification. 5. Le GAB compare le code didentification avec celui qui est cod sur la puce de la carte. 6. Le GAB demande une autorisation au Systme dautorisation. 7. Le Systme dautorisation donne son accord et indique le solde hebdomadaire. 8. Le GAB demande au Porteur de carte de saisir le montant dsir du retrait. 9. Le Porteur de carte saisit le montant dsir du retrait. 10. Le GAB contrle le montant demand par rapport au solde hebdomadaire. 11. Le GAB demande au Porteur de carte sil veut un ticket. 12. Le Porteur de carte demande un ticket. 13. Le GAB rend sa carte au Porteur de carte. 14. Le Porteur de carte reprend sa carte. 15. Le GAB dlivre les billets et un ticket. 16. Le Porteur de carte prend les billets et le ticket. 17.Le GAB enregistre la transaction de retrait. Ralisez un diagramme de squence systme qui dcrit le scnario nominal du cas dutilisation RETIRER DE LARGENT pour un client de la banque.

19

20

EXERCICE :
Le fonctionnement de la bibliothque est le suivant: Une bibliothque propose ses adhrents des uvres littraires; les uvres peuvent tre prsents en plusieurs exemplaires; un adhrent peut emprunter jusqu 3 livres.

gestion des emprunt bibliothecaire

2 1

bibliothecaire

bibliotheque

rechercher un adhrent()

adherent trouve() verifier si l'adherent peut emprunter()

l'adherent peut emprunter() rechercher une oeuvre()

oeuvre trouve() verifier exemplaire si disponible()

exemplaire disponible() decrementer le nombre d'exemplaire() attribuer l'exemplaire a l'adherent()

2 2

FRAGMENTS DINTERACTION COMBINS

Un fragment combin permet de dcomposer une interaction complexe en fragments suffisamment simples pour tre compris. Il est dfini par un oprateur et des oprandes. Loprateur conditionne la signification du fragment combin. Il existe 12 doprateurs dfinis dans la notation UML 2.0 Un fragment combin se reprsente de la mme faon qu'une interaction. Il est reprsent un rectangle dont le coin suprieur gauche contient un pentagone. Dans le pentagone figure le type de la combinaison, appel oprateur dinteraction. Les oprandes dun oprateur dinteraction sont spars par une ligne pointille. Les conditions de choix des oprandes sont donnes par des expressions boolennes entre crochets ([ ]).

23

OPRATEUR "ALTERNATIVE"
L'oprateur "alt" dsigne un choix, une alternative. Il reprsente deux comportements possibles : c'est en quelque sorte l'quivalent du SI...ALORS...SINON : donc, une seule des deux branches sera ralise dans un scnario donn. La condition d'excution d'une des deux branches (l'quivalent du SI) peut tre explicite ou implicite. L'utilisation de l'oprateur else permet d'indiquer que la branche est excute si la condition du alt est fausse.

2 4

OPRATEUR "ALTERNATIVE"
soit l'utilisateur rentre un code correct et dans ce cas le diagramme de squence relatif la vrification du code est appel, - soit l'utilisateur rentre un code erron, trois fois, et sa carte est garde (le distributeur se r-initialise et demande nouveau une carte).

25

LE LABEL REF
Rutiliser une interaction consiste placer un fragment portant la rfrence ref l o l'interaction est utile. On spcifie le nom de l'interaction dans le fragment.

2 6

OPRATEUR "OPTION"
L'oprateur "opt" dsigne un fragment combin optionnel comme son nom l'indique : c'est dire qu'il reprsente un comportement qui peut se produire... ou pas. Un fragment optionnel est quivalent un fragment "alt" qui ne possderait pas d'oprande else (qui n'aurait qu'une seule branche). Un fragment optionnel est donc une sorte de SI...ALORS.

2 7

OPRATEUR "OPTION"
L'utilisateur, si il est mcontent, peut se dfouler sur le distributeur de billets. En revanche, la plupart des utilisateurs contiennent leur agressivit et restent corrects envers le distributeur de billet. L'oprateur "opt" montre cette possibilit.

28

OPRATEUR "LOOP"

"Loop" (boucle) est not "loop". Cet oprateur est utilis pour dcrire un ensemble d intraction qui s'excutent en boucle. En gnral, une contrainte appele garde indique le nombre de rptitions (minimum et maximum) ou bien une condition boolenne respecter.

29

OPRATEUR "LOOP"
Lorsque l'utilisateur se trompe trois fois de code, la carte est garde et le distributeur se remet en mode d'attente d'une carte.

3 0

OPRATEUR PAR"
L'oprateur par permet d'envoyer des messages en parallle. Ce qui se passe de part et d'autre de la ligne pointille est indpendant.

31

COMBINER LES OPRATEURS


Les fragments combins et leurs oprateurs peuvent tre combins/mixs en vue de dcrire des comportements complexes.

32

COMBINER LES OPRATEURS


lorsque l'utilisateur se trompe trois fois de code, la carte est garde et le distributeur se remet en mode d'attente d'une carte.

33

MTHODOLOGIES DE
CONCEPTION
Fin de chapitre 3: Diagramme de squence

Vous aimerez peut-être aussi