Diagrammes des séquences

Documents pareils
Les diagrammes de modélisation

Cours de Génie Logiciel

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Université de Bangui. Modélisons en UML

UML (Paquetage) Unified Modeling Language

Chapitre I : le langage UML et le processus unifié

Table des matières Sources

Cours STIM P8 TD 1 Génie Logiciel

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Formation : Modélisation avec UML 2.0 et Mise en pratique

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Guichet automatique de banque

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Le Guide Pratique des Processus Métiers

Business Process Modeling (BPM)

IFT2255 : Génie logiciel

Architecture d'entreprise : Guide Pratique de l'architecture Logique

M1 : Ingénierie du Logiciel

Initiation à LabView : Les exemples d applications :

Projet Active Object

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Le modèle conceptuel des traitements

MEGA ITSM Accelerator. Guide de Démarrage

Algorithmes de recherche

Mobyt Intégration par Webservice TABLE DES MATIERES

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

Mobyt Intégration HTTP TABLE DES MATIERES

Urbanisation de système d'information. PLM 4 (Product Lifecycle Management) Préoccupation d'assurance qualité Processus et Procédures

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

RECOMMANDATION 27 EFFICACITE DE LA COMMUNICATION, ENTRE LES CANAUX DE DISTRIBUTION ET LES ASSUREURS, ET RECIPROQUEMENT.

Manuel d utilisation NETexcom

Mail2SMS. Envoyer facilement vos SMS depuis un . Version : Revision : 12/12/2011. Page 1/8

Génie Logiciel Avancé Cours 3 Le modèle à objets

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

LES FICHES Domaines. Domaine D1. Travailler dans un environnement numérique

Méthodes de développement. Analyse des exigences (spécification)

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

Nom de l application

SCÉNARIO DE TD AUTONOME. Auteur(e) :Auteur : cap Établissement : UTC

Les réseaux cellulaires vers la 3G

MDI Chèque de Allégroupe Réclamation

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Ingénierie des Modèles. Méta-modélisation

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Il s'agit d'un accident survenu dans l'exercice ou à l'occasion de l'exercice des fonctions (art de la loi n du 26 janvier 1984).

Asset Management Software Client Module. Manuel d utilisation

Créer le schéma relationnel d une base de données ACCESS

VRM Monitor. Aide en ligne

Description de la formation

Cours en ligne Développement Java pour le web

Business Intelligence

Exercices INF5171 : série #3 (Automne 2012)

MEGA ITSM Accelerator. Guide de démarrage

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

10. Envoyer, recevoir des mails

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Référentiel C2i niveau 1 Version 2 :

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Premiers pas sur e-lyco

Cours Gestion de projet

A-t-on le temps de faire les choses?

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

UML (Diagramme de classes) Unified Modeling Language

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version septembre 2006

AIDE MEMOIRE. Forprev. De l habilitation à la gestion de sessions. Page 1 sur 55

Service d'installation et de démarrage de la solution de stockage réseau HP StoreEasy 1000/3000

modélisation solide et dessin technique

Informations relatives à l'inscription - résidence

Arcserve Replication and High Availability

Guide de démarrage rapide

DT ULYSSE SERVICE PARTAGE GUIDE UTILISATEUR POUR LA SAISIE DES FRAIS DE DEPLACEMENT

LE MANUEL CE SUPPORT PRÉSENTE DIFFÉRENTES RUBRIQUES REPÉRÉES PAR UNE ICONE

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

Manuel d'utilisation

Acropole Acropole Gestion du courrier - Archivage

Qu est-ce qu un résumé?

Conditions d'abonnement Premium (durée : 1 an)

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

31 Loc : Contrôle d accès. Manuel utilisateur

LA COMPTABILITÉ DU COMITÉ D ENTREPRISE : DE NOUVELLES OBLIGATIONS DE TRANSPARENCE À PARTIR DU 1 er JANVIER 2015

Conception, architecture et urbanisation des systèmes d information

Gestion des cartes ristourne

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Génie logiciel (Un aperçu)

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Article L52-4 Article L52-5 Article L52-6

Transcription:

Diagrammes des séquences Modéliser les vues dynamiques d'un système Les diagrammes d interactions permettent de modéliser comment les objets communiquent entre eux (point focal : échange de messages). Il existe 4 types de diagrammes sémantiquement équivalents : Généralement, on utilise un diagramme d interaction pour un use case. La norme 2.0 reclasse les diagrammes de la norme 1.X et met les diagrammes suivants dans la classe des diagrammes d'interaction : Diagrammes de séquence Diagrammes de collaboration Diagramme de communication Diagramme d'interaction globale (Interaction Overview Diagram) Diagrammes de timing Ces types de diagramme tendent à traduire un fonctionnement dans un contexte particulier et l'accent est mis spécifiquement sur la séquence des opérations plutôt que sur les données qui sont véhiculées, bien que certains ajouts (décorations) permettent de le faire. Le diagramme de communication dans la norme 1.4 a été renommé diagramme de communication. Si le diagramme de séquence et de communication met le focus sur la structure et la séquence des messages entre les objets, le diagramme de timing met plus d'accent sur les états et les changements d'états. Les diagrammes d Pour rassembler les séquences ensemble dans un diagramme de haut niveau, le diagramme d'interaction globale (Interaction Overview Diagram) est une séquence dans laquelle chaque activité élémentaire est un diagramme de séquence. Diagramme de séquence Le diagramme de séquence représente la chronologie des interactions entre les objets dans l accomplissement d une tâche. Le diagramme de communication (ancien diagramme de collaboration dans les normes 1.x) est un diagramme «dual» du diagramme de séquence puisque la transformation de l un à l autre est automatisée dans Rational par exemple. Le diagramme de communication met l accent sur l étalage spatial des objets impliqués plus que sur la chronologie des événements. Dans le passé, le diagramme de séquence est encore appelé «diagramme d interaction» ou «scénario» dans la méthode OMT. Il fait partie des diagrammes de la vue dynamique. Dans un diagramme de séquence, chaque objet impliqué dans une collaboration (en vue d'exécution d'une tâche identifiée) est représenté avec un axe des temps, orienté du haut vers le bas, appelé «ligne de vie». Les périodes durant lesquelles l'objet est actif sont représentées sur l'axe des temps par un rectangle, et portent le nom de périodes d'activation ou encore bandes d activation... En principe, le diagramme de séquence illustre seulement un chemin à travers l exécution d une tâche macroscopique. On pourrait essayer de documenter les structures de contrôle simples avec les commentaires mais ce n est pas le point fort de ce diagramme avec les versions 1.X. Dans la version 2.0, on peut représenter par exemple une structure de if-then-else avec des "fragments" (de séquence). Il n y a aucune échelle sur l axe des temps. On peut ajouter des contraintes ou des «notes» pour la production si le besoin se fait sentir. Il permet de modéliser l interaction entre les objets dans le temps. On y trouve les éléments suivants : Objet : instance d une classe Ligne de vie (objet) et bloc d activation (opération) Message : Méthode de la classe réceptrice #Niedercorn LT «la Briquerie» 57100 THIONVILLE UML : diagrammes des séquences & page 1/7

Pour les objets et les messages : Des lignes verticales pointillées représentent des objets (pas des classes!) Le nom de la classe (:ClassName) est optionnel et il : o représente un message o représente un retour explicite de message (return) La classe de l objet sender devrait avoir une association avec la classe de l objet receiver dans le diagramme de classe Structures de contrôle 1. La message1() est envoyé seulement si la condition specifiée dans la guard (entre brackets) est vraie. 2. Une branche. Le sender envoie soit le message2() soit le message3(). Les conditions de guard sont exclusives. 3. L Itération. Le sender envoie la message4() tant que la condition est vraie. 4. Pour chaque. Si le receiver est une collection d objets, envoyer le message à tous ces objets. 5. Grouping. Les activités dans la boîte ont lieu seulement si le test est vrai. L asterisque indique l itération. Diagramme de séquence : sémantique Les diagrammes de séquences permettent de représenter des collaborations entre objets selon un point de vue temporel, on y met l'accent sur la chronologie des envois de messages. Contrairement au diagramme de collaboration, on n'y décrit pas le contexte ou l'état des objets, la représentation se concentre sur l'expression des interactions. Les diagrammes de séquences peuvent servir à illustrer un cas d'utilisation. L'ordre d'envoi d'un message est déterminé par sa position sur l'axe vertical du diagramme ; le temps s'écoule "de haut en bas" de cet axe. La disposition des objets sur l'axe horizontal n'a pas de conséquence pour la sémantique du diagramme. Les diagrammes de séquences et les diagrammes d'état-transitions sont les vues dynamiques les plus importantes d'uml. #Niedercorn LT «la Briquerie» 57100 THIONVILLE UML : diagrammes des séquences & page 2/7

Types de messages Comme vous pouvez le voir dans l'exemple ci-dessus, UML propose un certain nombre de stéréotypes graphiques pour décrire la nature du message (ces stéréotypes graphiques s'appliquent également aux messages des diagrammes de collaborations) : message simple : Message dont on ne spécifie aucune caractéristique d'envoi ou de réception particulière. message minuté (timeout) : Bloque l'expéditeur pendant un temps donné (qui peut être spécifié dans une contrainte), en attendant la prise en compte du message par le récepteur. L'expéditeur est libéré si la prise en compte n'a pas eu lieu pendant le délai spécifié. message synchrone : Bloque l'expéditeur jusqu'à prise en compte du message par le destinataire. Le flot de contrôle passe de l'émetteur au récepteur (l'émetteur devient passif et le récepteur actif) à la prise en compte du message. message asynchrone : N'interrompt pas l'exécution de l'expéditeur. Le message envoyé peut être pris en compte par le récepteur à tout moment ou ignoré (jamais traité). message dérobant : N'interrompt pas l'exécution de l'expéditeur et ne déclenche une opération chez le récepteur que s'il s'est préalablement mis en attente de ce message. Activation d'un objet Sur un diagramme de séquence, il est aussi possible de représenter de manière explicite les différentes périodes d'activité d'un objet au moyen d'une bande rectangulaire superposée à la ligne de vie de l'objet. On peut aussi représenter des messages récursifs, en dédoublant la bande d'activation de l'objet concerné. Pour représenter de manière graphique une exécution conditionnelle d'un message, on peut documenter un diagramme de séquence avec du pseudo-code et représenter des bandes d'activation conditionnelles. Exemple : Commentaires : Ne confondez la période d'activation d'un objet avec sa création ou sa destruction. Un objet peut être actif plusieurs fois au cours de son existence (voir exemple ci-dessus). Le pseudo-code peut aussi être utilisé pour indiquer des itérations (avec incrémentation d'un paramètre d'un message par exemple). Le retour des messages asynchrones devrait toujours être matérialisé, lorsqu'il existe. Notez qu'il est fortement recommandé de synchroniser vos messages, comme sur l'exemple qui suit... L'exemple qui suit présente aussi une alternative intéressante pour la représentation des branchements conditionnels. Cette notation est moins lourde que celle utilisée dans l'exemple ci-dessus. #Niedercorn LT «la Briquerie» 57100 THIONVILLE UML : diagrammes des séquences & page 3/7

Préférez aussi l'utilisation de contraintes à celle de pseudo-code, comme dans l'exemple qui suit. Exemple : Exemple : Retrait en espèce Rédigez un diagramme de séquence basé sur l énoncé suivant: Le guichetier ouvre une session Le guichetier saisit le numéro de compte du client. Le système guichet valide le compte auprès du système central. Le système guichet demande le type d opération au guichetier Le guichetier sélectionne le montant du retrait Le système guichet interroge le système central pour s assurer que le compte est suffisamment approvisionné Le système guichet demande au système central de débiter le compte Le système notifie au guichetier qu il peut délivrer le montant demandé Diagramme de Séquence #Niedercorn LT «la Briquerie» 57100 THIONVILLE UML : diagrammes des séquences & page 4/7

Autres exemples : Le contrôleur C1 envoie un appel de procédure demandant l état du bouton B1. B1 retourne une valeur indiquant que le bouton est ON. C1 instancie l objet T1 de MathLib qui calcule une formule et retourne le résultat au contrôleur C1 qui exécute après une fonction interne. Le schéma de classe montre les méthodes et les canaux de communication. Exemple : Commentaire : Un message réflexif ne représente pas l'envoi d'un message, il représente une activité interne à l'objet (qui peut être détaillée dans un diagramme d'activités) ou une abstraction d'une autre interaction (qu'on peut détailler dans un autre diagramme de séquence). #Niedercorn LT «la Briquerie» 57100 THIONVILLE UML : diagrammes des séquences & page 5/7

Ajouts de la norme 2.0 La norme 2.0 ajoute des structures de contrôle et un mécanisme de hiérarchisation des diagrammes de séquence. Ci-dessous sont les quelques exemples de Agile Modeling. Implantation de If-Then-Else #Niedercorn LT «la Briquerie» 57100 THIONVILLE UML : diagrammes des séquences & page 6/7

Référence à d'autres séquences dans d'autres diagrammes Décomposition d'une durée de vie dans un autre diagramme. L'objet symbolisant la durée de vie représente tous les autres objets agrégés (il peut ne pas avoir une existence réelle mais juste une entité symbolique. #Niedercorn LT «la Briquerie» 57100 THIONVILLE UML : diagrammes des séquences & page 7/7