Diagramme de sequence UML
6 avril 2009Le diagramme de séquence UML2PlanIntroductionLes bases du diagramme de séquenceConcepts avancésConclusion2IntroductionUne interaction est un échange de messages au sein d’un ensemble de participants dans le but de répondre à une demande•Participant doit être compris au sens large (acteur, système, objet, rôle, etc.)•L’aspect le plus visible d’une interaction consiste en un ensemble de messages échangés par des lignes de vieLa séquence des messages est particulièrement importanteLes interactions peuvent être utilisées dans de nombreuses situations, à des niveaux d’abstraction très différents :•Modélisation métier•Cas d’utilisation•Conception détaillée•TestChaque interaction ne représente qu’une partie du comportement : notion de scénario3IntroductionLes diagrammes UML2 (rappel)4Source : site OMGLe diagramme de séquenceLe diagramme de séquence est le plus répandu des diagrammes d’interaction•Notation de base très simple et « naturelle »Il met l’accent sur la séquence verticale des messages passés entre éléments au sein d’une interaction•Une ligne de vie est un élément typé 5TempsLigne de vieUne ligne de vie est un élément typé (nom:Type)•Anonyme ou nommé•Une collection, ou un membre d’une collection6MessageMessage = élément de communication unidirectionnel entre objets qui déclenche un traitement dans l’objet destinataireLes différents types de messages :•Synchrone•Asynchrone•Retour•Création d’objet•DestructionActivation7Opérateur : loopL’opérateur loop•Représente une boucle•L’opérande est exécuté un certain nombre de fois •La garde peut inclure un nombre minimal et un nombre maximal d’itérations, ou une expression booléenneNotion de contrainte•State /invariant8Opérateur : altL’opérateur alt•Représente un choix de comportement•Au plus un des opérandes sera choisi : il doit avoir une expression de garde qui s’évalue à trueOn peut utiliser la garde elseSi aucune garde ne s’évalue à true, aucun des opérandes ne s’exécute et le reste de l’interaction est exécuté9Opérateur : optL’opérateur opt•Représente un comportement optionnel•Soit l’unique opérande est exécuté, soit rien du tout •Le fragment optest équivalent à un fragment altavec un seul opérande non-vide10RéférenceUne interaction peut faire référence explicitement à une autre interaction grâce à un cadre avec le mot-clé ref11Exercice12Réalisez un diagramme de séquence pour le jeu de démineur•Utilisez des fragments combinésSolution13sd Jouer une partie (nominal):Joueur«system»:DemineurrefConfigurer le jeuopt [choix joueur]loop altopt [meilleur temps]alt [gain][perte]decouvrirCase(case)marquerCase(case)decouvrirCase(case)gagné !entrerNom(nom)decouvrirCase(case)perdu !Opérateur : parL’opérateur par•Représente une fusion de comportements parallèles•Les occurrences des messages des différents opérandes peuvent être entremêlés du moment que l’ordre imposé par chaque opérande est préservé 14Opérateur : criticalL’opérateur critical•Représente une région critique : les occurrences des messages ne peuvent pas être entremêlés avec d’autres•La région est traitée de façon « atomique »15Autres opérateursL’opérateur seq•Représente un séquencementfaible :L’ordre des occurrences à l’intérieur de chaque opérande est maintenuLes occurrences à l’intérieur d’opérandes différents sur des lignes de vie différentes peuvent arriver dans n’importe quel ordreLes occurrences à l’intérieur d’opérandes différents sur la même ligne de vie restent séquentiellesLe contraire est donné par l’opérateur strictL’opérateur negreprésente des occurrences invalidesL’opérateur break•Représente un comportement qui est exécuté à la place du reste de l’interaction•Le fragment combiné doit couvrir toutes les lignes de vie Il existe encore d’autres opérateurs, peu utilisés :•Consider, ignore, assert16ExempleExemple plus complet d’utilisation des fragments combinés17Vue globaleLa référence «horizontale» permet de représenter des combinaisons d’interactions modulaires•Comparable au diagramme de vue globale d’interaction18Référence verticaleLa décomposition « verticale »19Contraintes temporellesTemps ou durée20Méthodologie21Les diagrammes d’interaction peuvent être utilisés aussi bien en analyse qu’en conception•Messages opérations et méthodes•Exemple : types de classes du RUPExemple de passage de l’analyse à la conception22Définition de corps de méthode23Reverse Engineering24Certains outils savent générer des diagrammes de séquence à partir du codeConclusion25Il existe 4 types de diagrammes d’interaction en UML :•Le diagramme de séquence•Le diagramme de temps•Le diagramme de communication•Le diagramme de vue globale d’interactionLe plus utilisé est le diagramme de séquence•A la fois en analyse•Système « boite noire »•Et en conception•Interaction entre objets logicielsPour en savoir plus …26Livres sur UML de Pascal Roques :•UML 2 par la pratique, Eyrolles 2008•UML 2 -Modéliser une application web, Eyrolles 2008
Description
Ce module permet de se former en profondeur aux possibilites de modelisation des interactions offertes par le diagramme de sequence UML2.
Presentation Transcript
Your Facebook Friends on WizIQ