Cours n 5 : Diagramme de séquences

Documents pareils
Gestion des Prospects : Adresses à exporter

Manuel d'utilisation: Gestion commerciale - CRM

LE TABLEAU DE BORD REMONTEE DES COMPTES. Outils de gestion prévisionnelle, d'analyse financière et du contrôle de gestion. TABLE DES MATIERES

LOGICIELS ET BASES DE DONNÉES PROTECTION ET VALORISATION

Service de mobilité interbancaire - Règlement

Service de mobilité interbancaire - Règlement

Annexe 2 Annexe technique de la convention individuelle d habilitation «professionnel de l automobile»

2. Trouvez la version du firmware que vous souhaitez télécharger dans la rubrique Boot From CD, correspondant à votre modèle de SSD.

Nouveautés apportées à l assessment-tool

Fiche de projet pour les institutions publiques

Utiliser les activités de cours de Moodle : le Questionnaire

Processus des services

ÉTAPES CLÉS DE LA RÉPONSE AUX VIOLATIONS DU RESPECT DE LA

Financement des investissements Page 1 sur 6

Les stratégies de Backup dans WSS V3

Cible de Sécurité - Blancco DataCleaner+ v4.8

ASSODESK.COM Aide en ligne

GUIDE DU CANDIDAT REPRESENTANT EN ASSURANCE DE DOMMAGES DES PARTICULIERS. Préparation aux examens de l AMF. Pour : DESJARDINS ASSURANCES GENERALES

Article I - Objet. Article II - Conditions d'utilisation de la eboutique

Charte de la gestion cookies groupe PVCP 25/09/2014

ENREGISTEUR NUMERIQUE USB Guide utilisateur

GUIDE DE L UTILISATEUR

MISSIONS COMMERCIALES

Annexe 1 Annexe technique de la convention d habilitation «expert en automobile»

Les dossiers de FO RÉSIDENCE PRINCIPALE. Prêts soumis à conditions de revenus : o Critères d attribution :

REGLEMENT COMPLET Tentez de gagner une tablette tactile

[SIMULATEUR DE CREDIT IMMOBILIER]

Contenu de version

MARCHES PUBLICS DE TRAVAUX. Lot : n 3 PEINTURE. Objet du marché : RENOVATION DES BUREAUX 411, 412 et 413 BLOC III / Niveau 4 INRA SITE DE THEIX

CYBERLEARN COURS MOODLE. SUPPORT DE TRAVAIL Pour professeur-es et assistant-es d'enseignement

FINAL CUT PRO 7 / DIDACTICIEL / OUVERTURE DU PROGRAMME / REGLAGES / IMPORTATION / EXPORTATION / RACCOURCIS

SYSTEME DE TELERADIAMETRIE H*(10)

Nous proposons 3 syntaxes au choix :

Logiciel de gestion des inscriptions en CPGE

Vente de Capacités de Stockage de gaz du 13 mai 2015

Comme nous devons clôturer nos systèmes actuels avant la transition, veuillez noter les dates suivantes :

REGLEMENT COMPLET «3D World Koksijde»

Règlement du concours de POCKET FILM organisé par le Département de la Haute-Vienne

GUIDE INSTALLATION IAS

Alcatel OmniPCX Office

Communiqué de lancement : Sage 100 Scanfact Version V15.50

Basculer entre un réseau domestique et celui de votre lieu de travail

(les caractères apparaissent en vidéo inversé : blanc sur fond

livraisons en centrale

Projet de renouvellement de l infrastructure informatique de la Mairie de Châtel-Guyon. Cahier des charges

VDI Vendeur à Domicile Indépendant

Archivage et valeur probatoire. Livre blanc

PROTECTION DES VARIÉTÉS VÉGÉTALES EN ARGENTINE

Bourse Étienne-Beauclair Banque Nationale

Coefficient 4. L ACRC est validé par le contrôle des compétences suivantes :

Le dispositif de qualification OPQIBI pour les audits énergétiques (réglementaires)

L'ANALYSE DU BILAN PATRIMONIAL EN VALEURS NETTES. Approfondir l'analyse du bilan financier : retraitements du bilan comptable.

Pour répondre au besoin de sécurité juridique et de prévisibilité, la Loi type devrait traiter des questions suivantes:

CONSOLIDATION DES COMPTES - PRINCIPES. Exposés des principes liés aux participations et aux contrôles des sociétés, Exercices corrigés, Synthèse.

Restitution. Enquête FNOGEC auprès des principaux éditeurs de logiciels. Mise en conformité aux normes SEPA

Ville de Pierrefitte-sur-Seine Centre Technique Municipal

LIVRET SERVICE QUADRA EXPERT ON DEMAND

Meilleures pratiques en matière d'indexation de contenu. Mise à niveau à partir de versions antérieures à la version 6.5

PROCESSUS DE CERTIFICATION DES MONITEURS JE NAGE INFORMATIONS POUR LES MAITRE ÉVALUATEURS

Prénom et nom de l enfant : Sexe de l enfant : M F L âge de l enfant : Nom de la garderie ou du CPE : Adresse : Téléphone :

LES 3 PHASES DU PROJET EDI

2 ) LA RESIDENCE URBAINE DE FRANCE

Utilisation de RAMSIS dans la conception automobile Lisa Denninger Apports et Limites des Mannequins Virtuels 18 Novembre 2014

Résumé du module 6 : Coût et structure du capital

PHP MySQL. 1. Introduction à PHP

POLITIQUE DE REMUNERATION

Dossier Spécial. Les 5 étapes pour vendre ACT! Apprendre à détecter un besoin en Gestion de Contacts

Il existe un format informatique appelé.csv (Comma-Separated Values, des valeurs séparées par des virgules).

Dons des entreprises. Objet. Forme. Conditions

Guide pour la rédaction d une Spécification Technique de Besoin (STB)

"TSPM" «TENSTEP PROJECT MANAGER» ( * ) ACADEMIE TENSTEP USA GEORGIA FORMATEUR : Pr. Rodolfo CASABONNE D.G TENSTEP FRANCE

Manuel d utilisation de Nomad Trading

A toutes les Directrices et à tous les Directeurs des établissements scolaires de l enseignement secondaire et secondaire technique

PREPARATION DE VOTRE PFMP Réalisé et testé par Laurence Martin, enseignante au LP du Toulois et chargée de mission en économie et gestion option vente

DSP compétences professionnelles région NPC Groupe de travail n 1

Kluwer ERP Dashboard - VERO.

Délibération n 01/2014

Les EMA (Empreintes de Machines à Affranchir)

Toutefois, nous pouvons vous assurer que, pour vos besoins personnels et professionnels, ce document a la même valeur que l'original.

Guide d aide à la rédaction d un essai

Les accidents du travail

Directory List & Print (Pro) by Infonautics GmbH, Switzerland

Règlement de consultation

a) Financement par des tiers : emprunts, crédits bancaires, leasing, crédit spontané (lors d un achat à crédit) ;

ITIL V3. Les principes de la conception des services

Siège social : 12, rue Massue Vincennes cedex

Project Portfolio Management

esil PROJET DE MODELISATION ORIENTEE OBJET INFORMATIQUE - 3 ANNEE

BOURSE EXPLO RA SUP (Région Rhône-Alpes) Toutes destinations-séjour académique et stage

Règles de marché. En vue de vous garantir des exécutions au meilleur cours, les contre-valeurs maximales par ordre sont de :

L évaluation L évaluation externe Questions Questions / / réponses

Catalogue de formation bureautique

DIPLOME NATIONAL de MASTER

LIVRE BLANC SEM. Google AdWords Le guide ultime du SEM pour votre Boutique en ligne

Le Prix de la Fondation Joseph Plaskett en peinture

Communauté de Communes du Rhône aux Gorges de l'ardèche

Transcription:

UML : Langage de mdélisatin bjet unifié Curs n 5 : Diagramme de séquences 1) Rôle du diagramme de séquences : Le diagramme de séquence fait parties des diagrammes cmprtementaux (dynamique) et plus précisément des diagrammes d interactins. Il permet de représenter des échanges entre les différents bjets et acteurs du système en fnctin du temps. A mins que le système à mdéliser sit extrêmement simple, nus ne puvns pas mdéliser la dynamique glbale du système dans un seul diagramme. Nus ferns dnc appel à un ensemble de diagrammes de séquences chacun crrespndant à une sus fnctin du système, généralement d ailleurs pur illustrer un cas d utilisatin. 2) Représentatin du diagramme de séquence : 2-1) Délimitatin du diagramme de séquence : Le diagramme de séquence est placé dans un rectangle qui dispse d une étiquette sd en haut à gauche (qui signifie sequence diagramm) suivi du nm du diagramme. 2-2) L bjet : Dans un diagramme de séquence, l bjet à la même représentatin que dans le diagramme des bjets. C'est-à-dire un rectangle dans lequel figure le nm de l bjet. Le nm de l bjet est généralement suligné et peut prendre l une des quatre frmes suivantes : Les diagrammes de séquences représentant les échanges entre les bjets mais aussi les échanges avec les acteurs, nus truverns aussi la représentatin du stickman (qui peut être cnsidéré cmme un bjet). 2-3) La ligne de vie : Cmme il représente la dynamique du système, le diagramme de séquence fait entrer en actin les instances de classes intervenant dans la réalisatin d un cas d utilisatin particulier. A chaque bjet est asscié une ligne de vie (en trait pintillés à la verticale de l bjet) qui peut être cnsidéré cmme un axe temprel (le temps s écule du haut vers le bas). Dans ce genre de diagramme, la quantificatin du temps n a pas d imprtance. 1/9

La ligne de vie indique les pérides d activité de l bjet (généralement, les mments u l bjet exécute une de ces méthdes). Lrsque l bjet est détruit, la ligne de vie s achève par un crix. 2-4) Les messages : 2-4-1) Définitin : Un message définit une cmmunicatin particulière entre des lignes de vie. Ainsi, un message est une cmmunicatin d un bjet vers un autre bjet. La réceptin d un message est cnsidérée par l bjet récepteur cmme un événement qu il faut traiter (u pas). Plusieurs types de messages existent, les plus cmmuns snt : L invcatin d une pératin : message synchrne (appel d une méthde de l bjet cible). L envi d un signal : message asynchrne (typiquement utilisé pur la gestin événementielle). La créatin u la destructin d une instance de classe au curs du cycle principal. Les messages synchrnes : La réceptin d un message synchrne dit prvquer chez le destinataire le lancement d une de ses méthdes (qui suvent prte le même nm que le message). L expéditeur du message reste blqué pendant tute l exécutin de la méthde et attend dnc la fin de celle-ci avant de puvir lancer un nuveau message. C est le message le plus fréquemment utilisé. Les messages asynchrnes : Dans le cas d un message asynchrne, l expéditeur n attend pas la fin de l activatin de la méthde invquée chez le destinataire. Un message asynchrne peut être : Un appel de méthde : Fréquent dans un système multi-threads (multi-tâche). Ainsi, l bjet expéditeur n étant pas blqué pendant l exécutin de la méthde, il peut cntinuer ainsi à envyer d autres messages. Un signal (cas le plus fréquent) : L bjet expéditeur transmet juste une infrmatin à l bjet destinataire. Suvent, ce snt les acteurs u les périphériques qui envient des signaux, typiquement utilisé dans la gestin événementielle d une IHM graphique, cmme la librairie QT, par exemple. 2-4-2) Représentatin graphique : Dans le diagramme de séquence, les envis de messages snt représentés par des flèches hrizntales qui vnt de la ligne de vie de l bjet émetteur vers la ligne de vie de l bjet récepteur du message. Les messages synchrnes : (flèche avec un triangle plein à sn extrémité). Les messages asynchrnes : (simple flèche) Les messages de retur (répnses) : (simple flèche en pintillés). Si une méthde qui a été activée (par un message) dit returner des valeurs à la fin de sn activatin, cela se fait par un message retur. Le message de retur n est dnc pas un appel de méthde (il ne prvque dnc pas l activatin d un bjet) Le message retur prte suvent le nm de l élément returné. 2/9

2-4-3) Créatin et destructin d bjets : Une séquence peut aussi cntenir la créatin u la destructin d un bjet : La créatin d un bjet est matérialisée par un message spécifique, appel d un cnstructeur, généralement accmpagné du stérétype «create» qui pinte sur le début (le smmet) de la ligne de vie de l bjet créé (Le rectangle de l instance de la classe est alrs surbaissée). La destructin d un bjet est représentée par une crix à la fin de sa ligne de vie. Suvent l bjet est détruit suite à la réceptin d un message mais ce n est pas bligatire. Dans ce cas là, il prte le stérétype «destry». 2-4-4) Syntaxe des messages synchrnes et asynchrnes: Dans la plupart des cas, la réceptin d un message est suivie de l exécutin de la méthde de la classe cible. Cette méthde peut recevir des arguments et la syntaxe des messages permet de transmettre ces arguments. La plupart du temps, dans un diagramme de séquence, nus puvns nus cntenter de définir un message par : - Sn nm (qui est le nm de la méthde appelée u du signal envyé). Nus puvns lui adjindre facultativement : - Une numértatin devant le nm message (séparé du nm du message par 2 pint " : "). La numértatin s effectue séquentiellement à partir de 1. - Les paramètres passés à la méthde u au signal (entre parenthèses après le nm du message). 2-4-5) Syntaxe des répnses (messages retur) : Cmme pur les messages synchrnes u asynchrnes, nus puvns nus cntenter de dnner au message retur un simple nm, mais nus puvns aussi les caractériser plus précisément en utilisant la syntaxe suivante : numér : attribut = nmmessage (paramètres) : valeurderetur. 3/9

2-4-6) Remarque sur la syntaxe des messages dans les diagrammes de séquence : La syntaxe que nus venns de vir est simple et très suvent largement suffisante pur décrire les messages des diagrammes de séquence. 3) Quelques séquences expliquées : 3-1) Messages returs implicites et explicites : Le retur d un message synchrne peut ne pas être représenté, le retur est alrs implicite. Par cntre, dans le cas d un message asynchrne, il est impératif de faire apparaître le message de retur. Le retur est explicite. Bien entendu, si l exécutin de la méthde lancée par le message asynchrne ne dit rien returner, il est évident que nus ne devns pas représenter le message de retur (c'est généralement le cas le plus classique, ntamment avec la gestin événementielle). Les 3 diagrammes suivants snt équivalents : 3-2) Recuvrement des bandes d activatins : Lrsqu un bjet est déjà activé il peut quand même recevir d autres messages (appel d une autre de ses méthdes), cela se représente par un dédublement de la bande d activatin. 3-3) Messages récursifs : Un bjet peut s envyer un message à lui-même (utilisatin d une autre méthde du même bjet). Cela se représente là aussi par un dédublement de la bande d activatin. 4/9

3-4) Cntraintes temprelles : Des repères temprels avec des cntraintes peuvent être placés le lng de la ligne de vie. Un message avec un temps de prpagatin nn négligeable peut être représenté par une flèche blique u en l'écrivant explicitement. 3-6) Messages perdus et truvés : - Le message perdu est un message dnt nus cnnaissns l émetteur mais pas le récepteur. Il est représenté par une flèche partant de la ligne de vie d un élément vers un disque nir. Le message perdu puvant être, à l rigine, synchrne u asynchrne, nus avns dnc les types de pintes de flèches. Cette srte de message permet de mdéliser, par exemple, les scenarii de pertes de message sur un réseau. - Le message truvé est un message dnt nus cnnaissns le destinataire mais pas l émetteur. Il est représenté par une flèche partant d un disque nir vers la ligne de vie d un élément. Ce message peut être utilisé pur mdéliser le cmprtement d un élément suite à la réceptin d un message d exceptin. 4) Fragments d interactins cmbinés : Un fragment d interactins est une partie du diagramme de séquence (délimitée par un rectangle) assciée à une étiquette (dans le cin supérieur gauche). L étiquette cntient un pérateur d interactin qui permet de décrire des mdalités d exécutin des messages à l intérieur du cadre. 5/9

Les pérandes d un pérateur d interactin snt séparés par une ligne pintillée. Les cnditins de chix des pérandes (éventuels) snt dnnées par des expressins bléennes entre crchets ([ ]). Les principales mdalités snt les bucles, les branchements cnditinnels, les alternatives, les envis simultanés, etc. 4-1) Fragment d interactin avec pérateur «pt» : L pérateur ptin (pt) cmprte un pérande et une cnditin de garde assciée. Le susfragment s exécute si la cnditin de garde est vraie et ne s exécute pas dans le cas cntraire. 4-2) Fragment d interactin avec pérateur «alt» : L pérateur alternatives (alt) est un pérateur cnditinnel pssédant plusieurs pérandes séparés par des pintillés. C est l équivalent d une exécutin à chix multiples. Chaque pérande détient une cnditin de garde. Seul le sus-fragment dnt la cnditin est vraie est exécuté. La cnditin else est exécutée que si aucune autre cnditin n est valide. 4-3) Fragment d interactin avec pérateur «lp» : L pérateur de bucle (lp) exécute une itérative dnt la séquence qu elle cntient est exécutée tant que la garde qui lui est assciée est vraie. - La garde s écrit de la façn suivante : lp [min, max, cnditin] : Chaque paramètre (min, max et cnditin) est ptinnel. Le cntenu du cadre est exécuté min fis, puis cntinue à s exécuter tant que la cnditin et que le nmbre d exécutin de la bucle ne dépasse pas max fis. - Exemple de gardes : lp[3] La séquence s exécute 3 fis. Lp[1, 3, cde=faux] La séquence s exécute 1 fis puis un maximum de 2 autres fis si cde=faux. 6/9

4-4) Fragment d interactin avec pérateur «par» : Un fragment d interactin avec l pérateur de traitements parallèles (par) cntient au mins deux sus fragments (pérandes) séparés par des pintillés qui s exécutent simultanément (traitements cncurrents). 4-5) Autres fragments d interactins: Nus venns de vir les 4 fragments d interactins les plus utilisés (pt, alt, lp et par). Il en existe en réalité 13 au ttal, ci-dessus la liste des 8 autres : ignre et cnsidere : pur les fragments facultatifs u bligatires. critical : pur les fragments qui divent se déruler sans être interrmpus. break : pur les fragments représentants des scenarii exceptinnels u de ruptures (ex appui sur la tuche «Esc»). Le scénari de rupture est exécuté si une cnditin de garde est satisfaite. assert : Pur les fragments dnt n cnnaît à l avance les paramètres du message (exemple : après la saisie des 4 chiffres d un cde, la saisie suivante sera bligatirement la tuche «Entrée»). seq : indique que le fragment est cmpsé de plusieurs sus fragments qui peuvent s exécuter dans n imprte quel rdre (mais pas en même temps). strict : pur les fragments dnt les messages divent se déruler dans un rdre bien précis. neg : pur indiquer que la séquence à l intérieur du fragment n est pas valide. ref : permet de faire appel à un autre diagramme de séquence. 5) Stérétypes de Jacbsn : A l intérieur d un système, il existe très suvent des classes qui pssèdent un rôle bien particulier qui serait intéressant de visualiser d une façn nn équivque dans vtre diagramme de séquence. C est le cas ntamment : Pur les classes qui représentent des cmpsants de l IHM. Pur la classe qui cntrôle glbalement le système avec la prise en cmpte de la gestin événementielle. 7/9

Pur les classes qui implémentent la persistance des attributs (asssiées à une base de dnnées). Jackbsn distinguent les tris stérétypes suivants : «bundary» : classes qui servent à mdéliser les interactins entre le système et ses acteurs. «cntrl» : classes utilisées pur représenter la crdinatin, l enchaînement et le cntrôle d autres bjets. «entity» : classes qui servent à mdéliser des infrmatins durables et suvent persistantes. 6) Exemple de diagramme de séquence : Le DAB Un cas d utilisatin est très suvent dcumenté par une descriptin textuelle. Un diagramme de séquence permet de cmpléter et de visualiser simplement et intuitivement la descriptin textuelle. Dans le curs sur les diagrammes des cas d utilisatins, nus avns fait une descriptin textuelle du cas d utilisatin «Retirer de l argent» du DAB. Le diagramme de séquence du scénari nminale est le suivant : 8/9

Le diagramme de séquence ci-dessus ne crrespnd qu au scénari nminal du cas d utilisatin. Des ntes (ptinnelles) permettent d indiquer les scenarii alternatifs et d exceptins. Chaque scénari nminal u d exceptin peut être dcumenté par sn prpre diagramme de séquence. Grâce aux fragments d interactins, il est pssible de dcumenter un scénari alternatif (u d exceptin) dans le diagramme de séquence du scénari nminale. Par exemple, le diagramme de séquence ci-dessus crrespnd à la descriptin du scénari nminal et du scénari alternatif SA4 (prteur de carte client banque). 9/9