Академический Документы
Профессиональный Документы
Культура Документы
CONCEPTION
1
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.
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 )
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
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
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()
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
:Ligne
appel:Personne
ligne de vie
composer chiffre
...
temps
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.
2 1
bibliothecaire
bibliotheque
rechercher un adhrent()
2 2
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
32
33
MTHODOLOGIES DE
CONCEPTION
Fin de chapitre 3: Diagramme de squence