Catégories de messages message « trouvé » (Found message) : • message dont on ignore la provenance • en dehors du cadre décrit par le DS • « bruit » Introduction à UML Diagramme de cas• message envoyé, mais jamais re¸cu d’utilisation Diagramme de classes Diagramme de packages Diagramme d’objets Diagramme de communication Diagramme de séquence Diagramme d’activité Diagramme d’états Autres diagrammes Démarche de conception OO 159 | | 160 | | | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML | Diagramme de séquence Période d’activité Période d’activité • période durant laquelle un objet effectue une action • état « actif » (6= durée de vie) • un objet peut être actif plusieurs fois | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML | • | Diagramme de séquence Catégories de messages message réflexif • l’objet s’envoie un message à lui-même • appel à une autre méthode de l’objet • appel récursif | Diagramme de casDiagramme de cas d’utilisationd’utilisation Diagramme de classesDiagramme de classes Diagramme deDiagramme de packagespackages Diagramme d’objetsDiagramme d’objets Diagramme deDiagramme de communicationcommunication Diagramme deDiagramme de séquenceséquence Diagramme d’activitéDiagramme d’activité Diagramme d’étatsDiagramme d’états Autres diagrammesAutres diagrammes Démarche deDémarche de conception OOconception OO 161 | | 162 | | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base | Diagramme de séquence Gates Gates (ou Portes) • source ou destination d’un message en dehors de la portée du diagramme | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base | Diagramme de séquence Durées et contraintes temporelles • Représentation des délais de transmission : | Diagrammes UMLDiagrammes UML Introduction à UMLIntroduction à UML Diagramme de casDiagramme de cas d’utilisationd’utilisation Diagramme de classesDiagramme de classes Diagramme deDiagramme de packagespackages Diagramme d’objetsDiagramme d’objets Diagramme deDiagramme de communicationcommunication Diagramme deDiagramme de séquenceséquence 163 164 Introduction Concepts de base | • | Durées et contraintes temporelles Observation et contraintes temporelles : | Introduction Concepts de base | • | Durées et contraintes temporelles Observation et contraintes sur la durée : | Diagrammes UMLDiagrammes UML Introduction à UMLIntroduction à UML Diagramme de casDiagramme de cas d’utilisationd’utilisation Diagramme de classesDiagramme de classes Diagramme deDiagramme de packagespackages Diagramme d’objetsDiagramme d’objets Diagramme deDiagramme de communicationcommunication Diagramme deDiagramme de séquenceséquence Diagramme d’activitéDiagramme d’activité Diagramme d’étatsDiagramme d’états Autres diagrammesAutres diagrammes Démarche deDémarche de conception OOconception OO 165 | | | 166 | | Méthode de Conception Orientée Objet A. Lewandowski Introduction | Exemple : | Diagramme de séquence Durées et contraintes temporelles | Méthode de Conception Orientée Objet A. Lewandowski Introduction | Diagramme de séquence Références Référence à une interaction • pour : décomposer, réutiliser • attention : | Concepts de baseConcepts de base • arguments doivent correspondre aux paramètres de Diagrammes UMLDiagrammes UML l’interaction Diagramme de casDiagramme de cas d’utilisationd’utilisation qui participent à l’interaction Diagramme de classesDiagramme de classes Diagramme deDiagramme de packagespackages Diagramme d’objetsDiagramme d’objets Diagramme deDiagramme de communicationcommunication Diagramme deDiagramme de séquenceséquence Diagramme d’activitéDiagramme d’activité Diagramme d’étatsDiagramme d’états Autres diagrammesAutres diagrammes Démarche deDémarche de conception OOconception OO 167 | | 168 | | | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base | Diagramme de séquence Cadre d’interaction Cadre d’interaction (Fragment) nommé par un opérateur • ref • référence à une autre interaction • alt | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base | • | Diagramme de séquence Cadre d’interaction | Représentation | packages Diagramme d’objets Diagramme de communication Diagramme de séquence 169 | • • • • fragment à répéter tant que l’expression de garde est vraie par • fragments qui s’exécutent en parallèle critical • zone critique, considérée comme atomique et qui doit être exécutée sans interruption | packages Diagramme d’objets Diagramme de communication Diagramme de séquence 170 | • | Attention • on ne représente pas les algorithmes! | Diagrammes UML • fragment d’alternative (équivalent du « if - else ») Diagrammes UML Introduction à UML Introduction à UML Diagramme de cas • opt Diagramme de cas d’utilisation d’utilisation Diagramme de classes • fragment optionnel, avec expression conditionnelle Diagramme de classes Cadre d’interaction Cadre d’interaction 171 172 Méthode de Méthode de Conception Conception Orientée Objet Diagramme de séquence Orientée Objet Diagramme de séquence A. Lewandowski A. Lewandowski Les continuations • sorte d’étiquette (label) • permet de définir des branchements • lors de l’utilisation de fragments (alternative) : • soit tout au début du fragment • soit tout à la fin • couvre toutes les lignes de vie du fragment 173 174 Méthode de Méthode de Conception Conception Orientée Objet Diagramme de séquence Orientée Objet Diagramme de séquence A. Lewandowski A. Lewandowski Continuation Retour sur l’étude de cas : le DAB (Distributeur Automatique de Billets) IntroductionIntroduction Diagrammes UMLDiagrammes UML 1 Distribution d’argent à tout porteur de carte de crédit, Diagramme de casDiagramme de casvia un lecteur de carte et un distributeur de billet Diagramme deDiagramme de 2 Consultation de solde de compte, dépôt d’espèces et de Diagramme d’objetsDiagramme d’objets chèques pour les clients porteurs d’une carte de crédit Introduction à UMLIntroduction à UML d’utilisationd’utilisation Diagramme de classesDiagramme de classes packagespackages Diagramme deDiagramme de de la banque associée au DAB communicationcommunication Diagramme deDiagramme de séquenceséquence plus • les transactions sont sécurisées • il faut parfois recharger le distributeur, etc. 175176 Retour sur l’étude de cas : le DAB Introduction Concepts de base Diagrammes UMLTravail à effectuer : Introduction à UML Diagramme de cas• décrire les cas d’utilisation « S’authentifier » et « Retirer Diagramme de classes de l’argent » à l’aide de diagrammes de séquence d’utilisation Diagramme de packages Diagramme d’objets Diagramme de communication Diagramme de séquence Diagramme d’activité Diagramme d’états Autres diagrammes Démarche de conception OO Conception Conception Orientée Objet Les diagrammes UML Orientée Objet [Vue Fonctionnelle/Dynamique] Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de cas d’utilisation Diagramme de classes Diagramme de packages Diagramme d’objets Diagramme de communication Diagramme de séquence Diagramme d’activité Diagramme d’états Autres diagrammes Démarche de conception OO 179 | | | 180 | | | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de cas d’utilisation Diagramme de classes Diagramme de packages Diagramme d’objets Diagramme de communication Diagramme de séquence 181 | Diagramme d’activité | Diagramme d’activité Présentation | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de cas d’utilisation Diagramme de classes Diagramme de packages Diagramme d’objets Diagramme de communication Diagramme de séquence 182 | Diagramme d’activité Utilisation Utilisé pour | | • • • | Représenter un processus métier (point de vue Fonctionnel) • qui fait quoi, ou` ? • enchaˆ?nements d’activités (workflows) Décrire la dynamique d’un CU (point de vue Fonctionnel) • Description de l’ensemble des actions réalisées par le système (pas seulement le scénario nominal) • Complète un diagramme de séquence (avec exceptions, branchements conditionnels, etc.) Logique procédurale (point de vue Dynamique) • algorithmes, opérations des classes • organisation séquentielle globale des activités de plusieurs objets | | • • • • | Objectif : | | représenter les activités séquentielles d’un processus Activité = suite d’actions Sous forme de graphe orienté {actions, transitions} Réseau de pétri (tokens) | | | | | | | | | |
Introduction • Action Introduction Concepts de base Concepts de base • nœud du graphe Diagrammes UML Diagrammes UML Diagramme de cas Diagramme de cas d’utilisation • contrainte d’enchaˆ?nement d’utilisation Diagramme de classes Diagramme de classes Diagramme de Diagramme de packages • Raffinements packages Diagramme d’objets Diagramme d’objets communication communication Diagramme de • entrée, terminaison Diagramme de séquence séquence Diagramme d’états Diagramme d’états Autres diagrammes • etc. Autres diagrammes Démarche de Démarche de conception OO 183 | | | conception OO 184 | | | | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Introduction à UML Diagramme de cas d’utilisation Diagramme de classes Diagramme de packages | Actions | Diagramme d’activité Actions | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de cas d’utilisation Diagramme de classes Diagramme de packages | Les Flux | Diagramme d’activité Flux | | • pour « enchaˆ?ner » les actions • les flux de contrôle • quand une action se termine, la suivante démarre • pour modéliser une séquence • notation : flèche orientée | | • étape d’une activité • entité atomique (du point de vue de l’activité qui la contient) • Notation : | | Diagramme d’objets Diagramme d’objets Diagramme de Diagramme de communication communication Diagramme deDiagramme de séquence nom de séquence Diagramme d’activitéDiagramme d’activité Diagramme d’états l'action Diagramme d’états Autres diagrammesAutres diagrammes 185 | | 186 | | | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML | Diagramme d’activité Nœuds de contrôle Les Nœuds de contrôle • Nœuds particuliers utilisés pour coordonner les flux entre les actions/activités • | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML | • | Diagramme d’activité Nœuds de contrôle | Nœud de décision • choix, alternative | Introduction à UML Plusieurs sortes : Introduction à UML Diagramme de cas Diagramme de cas d’utilisation • Nœud initial (début de l’activité) d’utilisation Diagramme de classes Diagramme de classes • packages packages Diagramme d’objets Diagramme d’objets Diagramme deDiagramme de communicationcommunication Diagramme deDiagramme de séquenceséquence 187 188 Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de classes Diagramme de | • | Nœuds de contrôle Nœud de fusion (Merge node) • pas de synchronisation • accepte n’importe lequel des flux entrant • les tokens qui arrivent sont « forwardés » | Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de cas d’utilisation Diagramme de classes Diagramme de | • | Nœuds de contrôle Nœud de débranchement (Fork node) • flux entrant divisé en plusieurs flux concurrents • = parallélisation • duplication des tokens | packages packages Diagramme d’objetsDiagramme d’objets Diagramme deDiagramme de communicationcommunication Diagramme deDiagramme de séquenceséquence Diagramme d’activitéDiagramme d’activité Diagramme d’étatsDiagramme d’états Autres diagrammesAutres diagrammes Démarche de Démarche de conception OO conception OO A. Lewandowski A. Lewandowski Nœuds de contrôle Exemple • Nœud de jonction (Join node) Exemple : Introduction Introduction Démarche de conception OO 191 | | Démarche de conception OO 192 | | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de cas d’utilisation Diagramme de classes Diagramme de packages | Diagramme d’activité Exercice | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de cas d’utilisation Diagramme de classes Diagramme de packages | Diagramme d’activité Nœuds de contrôle Autre Nœud de contrôle • Nœud de terminaison de flux (Flow final node) • termine un flux (6= termine l’activité) | Retour sur l’étude de cas : le DAB (Distributeur Automatique de Billets) • Réalisez un diagramme d’activité qui décrit la | Concepts de base • si certains tokens transportent des objets, chaque token Concepts de base Diagrammes UML Diagrammes UML avec son objet est forwardé Diagramme de cas • sinon, un token « global » est créé et forwardé Diagramme de casd’utilisation d’utilisation Diagramme de classes Diagramme de classes Diagramme de Diagramme de packagespackages Diagramme d’objetsDiagramme d’objets Diagramme deDiagramme de communicationcommunication Diagramme deDiagramme de séquenceséquence Diagramme d’activitéDiagramme d’activité Diagramme d’étatsDiagramme d’états Autres diagrammesAutres diagrammes Diagramme d’objets Diagramme d’objets Diagramme de Diagramme de séquence séquence 193 194 Nœuds de contrôle Actions liées à des signaux Actions liées à des signaux Introduction Introduction Exemple : Diagrammes UML Diagrammes UML Introduction à UML Introduction à UML Diagramme de cas d’utilisation Diagramme de classes Diagramme de packages Diagramme d’objets Diagramme de communication Diagramme de séquence Diagramme d’états Diagramme d’états Autres diagrammes Autres diagrammes Démarche de Démarche de conception OO conception OO A. Lewandowski A. Lewandowski Actions liées à des signaux Objets Exemples : Utilisation des objets Introduction Introduction Objet | | Objet [état] Introduction à UML Diagramme de casd’état d’utilisation Diagramme de classes Diagramme de packages Diagramme d’objets• Notation : Diagramme de communication Diagramme de séquence Diagramme d’activité Diagramme d’états Autres diagrammes Démarche de Démarche de conception OO conception OO 197 198 Méthode de Méthode de Conception Conception Orientée Objet Diagramme d’activité Orientée Objet Diagramme d’activité A. Lewandowski A. Lewandowski Représentation des flux d’objets : Introduction Introduction Exemples : Concepts de base Concepts de base Diagrammes UML Introduction à UML Diagramme de cas d’utilisation Diagramme de classes Diagramme de packages Diagramme d’objets Diagramme de communication Diagramme de séquence Datastore Exemple : Introduction Introduction • sorte de « buffer » • conserve tous les tokens re¸cus Concepts de base Concepts de base Introduction à UML • arcs sortants : Introduction à UMLDiagramme de cas Diagramme de cas d’utilisation d’utilisation Diagramme de classes • copie de token(s) Diagramme de classes Diagramme de Diagramme de packages • équivaut à une requête packages Diagramme de Diagramme de communication communication Diagramme de Diagramme de séquence séquence Diagramme d’activité Nom Diagramme d’activité Diagramme d’états Diagramme d’états Autres diagrammes [etat] Autres diagrammes Démarche de conception OO 201 202 | | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML | Diagramme d’activité Conditions locales | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML | Diagramme d’activité Régions interruptibles | Pré-conditions et post-conditions locales • conditions autour de la réalisation d’une action • locales au flux, car dépendent du contexte de l’activité • Exemple : | Régions interruptibles • sous-ensemble d’une activité • susceptible de se terminer si un événement particulier se produit • tous les flux de la région sont interrompus | Diagramme de casDiagramme de cas d’utilisationd’utilisation • Notation : Diagramme de classesDiagramme de classes Diagramme deDiagramme de packagespackages Diagramme d’objetsDiagramme d’objets Diagramme deDiagramme de communicationcommunication Diagramme deDiagramme de séquenceséquence Diagramme d’activitéDiagramme d’activité Diagramme d’étatsDiagramme d’états Autres diagrammesAutres diagrammes Démarche deDémarche de conception OOconception OO 203 | | | 204 | | | Méthode de Conception Orientée Objet A. Lewandowski Introduction | Exemple : | Diagramme d’activité Régions interruptibles | Méthode de Conception Orientée Objet A. Lewandowski Introduction | Gestion des exceptions | Diagramme d’activité Exceptions | • pour spécifier les actions à effectuer en cas | Concepts de base d’erreur/exception dans un nœud « protégé » (une Introduction à UMLaction ou un groupe d’actions) • 6= région interruptible d’utilisation Diagrammes UML Diagramme de cas Diagramme de classes Diagramme de packages• Notation : Diagramme d’objets Diagramme de communication séquenceNœud de Nœud gestion protégé ExceptionType d'exception 205 206 Exemple : | Exceptions | Partitions Le diagramme peut être organisé en partitions • pour montrer les responsabilités (qui fait quoi) | Introduction Introduction • découpage en « couloirs » Concepts de base Diagrammes UML Introduction à UML • Diagramme de casNotation : d’utilisation Diagramme de classes Diagramme de packages Diagramme d’objets Diagramme de communication Diagramme de séquence (partition) Diagramme d’étatsAction Autres diagrammes Démarche de conception OO conception OO 207 | | | 208 | | | Méthode de Conception Orientée Objet A. Lewandowski Introduction | Exemple : | Diagramme d’activité Partitions | Méthode de Conception Orientée Objet A. Lewandowski Introduction | Régions d’expansion | Diagramme d’activité Régions d’expansion | • actions qui s’exécutent pour plusieurs éléments de même type (collections) | Concepts de base• mots-clés : « parallel », « iterative », « stream » Introduction à UMLun ou plusieurs connecteurs en entrée, 0 ou plusieurs en Diagrammes UML • Diagramme de cas d’utilisationsortie Diagramme de classes Diagramme de • packagesNotation : Diagramme d’objets Diagramme de communication Diagramme de séquence Diagramme d’activité Diagramme d’états Autres diagrammes Démarche de conception OO 209 | | | 210 | | | Méthode de Conception Orientée Objet A. Lewandowski Introduction | Exemple : | Diagramme d’activité Régions d’expansion | Méthode de Conception Orientée Objet A. Lewandowski Introduction | Activité | Diagramme d’activité Activité | • Encapsulation du flux des actions qui la réalisent Introduction à UMLIntroduction à UML Diagramme de casDiagramme de cas d’utilisationd’utilisation Diagramme de classesDiagramme de classes Diagramme deDiagramme de packagespackages Diagramme d’objetsDiagramme d’objets Diagramme deDiagramme de communicationcommunication Diagramme deDiagramme de séquenceséquence 211 212 Activité Activité Exemple : Diagrammes UML Introduction à UML Diagramme de cas• Des actions peuvent invoquer d’autres activités d’utilisation Diagramme de classes• tenir compte des paramètres Diagramme de packages Diagramme d’objets Diagramme de communication Diagramme de séquence Diagramme d’activité Diagramme d’états Autres diagrammes Démarche de conception OO 213 214 Méthode de Méthode de Conception Conception Orientée Objet Diagramme d’activité Orientée Objet Les diagrammes UML A. Lewandowski A. Lewandowski Exercice Représenter par un diagramme d’activité la recette (simplifiée) de la mousse au chocolat : • commencer par casser le chocolat en morceaux, puis le faire Concepts de base Concepts de base fondre Diagrammes UML Diagrammes UML Introduction à UML • en parallèle, casser les œufs en séparant les blancs des jaunes Introduction à UML Diagramme de cas Diagramme de cas d’utilisation d’utilisation Diagramme de classes • quand le chocolat est fondu, ajouter les jaunes d’œuf Diagramme de classes Diagramme de Diagramme de packages packages Diagramme d’objets • battre les blancs en neige jusqu’à ce qu’ils soient bien fermes Diagramme d’objets Diagramme de Diagramme de communication communication séquence séquence Diagramme d’activité les briser Diagramme d’activité Diagramme d’états Diagramme d’états Autres diagrammes Autres diagrammes • verser dans des ramequins individuels Démarche de Démarche de conception OO conception OO • mettre au frais au moins 3 heures au réfrigérateur avant de servir [Vue Fonctionnelle/Dynamique] Orientée Objet Orientée Objet Diagramme d’états A. Lewandowski A. Lewandowski Présentation Diagramme de machine à états Diagramme de machine à états IntroductionIntroduction • Automate à états finis Concepts de baseConcepts de base • Abstraction des comportements possibles d’une classe Diagrammes UMLDiagrammes UML ou d’une opération Introduction à UMLIntroduction à UML Diagramme de casDiagramme de cas d’utilisationd’utilisation Diagramme d’objetsDiagramme d’objets Diagramme deDiagramme de • événements communicationcommunication Diagramme deDiagramme de • séquenceséquence Chaque objet / opération • suit le comportement décrit par l’automate • se trouve à un instant donné dans un état qui caractérise ses valeurs 217 218
Introduction Concepts de base Diagrammes UML | Utilisation Utilisé pour • se concentrer sur le fonctionnement d’une classe • décrire le comportement concret de la vie d’un objet | Introduction Concepts de base Diagrammes UML | Graphe orienté états-transitions • nœuds = états • arcs = transitions | Représentation | Introduction à UML • lié à un ou plusieurs scénarios Introduction à UML Diagramme de cas Diagramme de cas d’utilisation • les classes complexes d’utilisation Diagramme de • objets réactifs complexes Diagramme depackages packages Diagramme d’objets Diagramme d’objets • protocole et séquences (sessions, etc.) Diagramme de Diagramme de communication • en général 10% des classes d’une application communication Diagramme de Diagramme de séquence séquence • plus en télécom., moins en gestion Diagramme d’activité Diagramme d’activité Diagramme d’états Diagramme d’états • Autres diagrammes Représenter la navigation Autres diagrammes Démarche de • IHM, enchaˆ?nements d’écrans, site web, etc. Démarche de conception OO conception OO 219 220 Méthode de Méthode de Conception Conception A. Lewandowski ´ A. Lewandowski Etat´ Etat Exemple : Introduction Introduction Société | | | Personne | 0..1 | 1..* Diagrammes UML • Situation stable à un moment de la vie d’un objet Diagrammes UML Introduction à UML Introduction à UML Diagramme de cas d’utilisation Diagramme de classes Diagramme de packages | • | L’objet • satisfait une condition | Diagramme de cas d’utilisation Diagramme de classes Diagramme de packages | • Diagramme d’objets exécute une certaine activité Diagramme d’objets Diagramme de Diagramme de communication • attend un certain événement communication Diagramme de Diagramme de séquence séquence • Un objet reste dans un état pendant un temps fini Diagramme d’états Diagramme d’états Autres diagrammes Autres diagrammes Démarche de conception OO 221 | | | Démarche de conception OO 222 | | | | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de cas | • | Diagramme d’états Etat´ l’état = image des valeurs des attributs + présence ou non de liens avec d’autres objets | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de cas | Etats´ | Diagramme d’états Etat´ | | • Un seul et unique état initial par niveau hiérarchique • Plusieurs états finaux possibles (voire aucun) | | Exemple : | | d’utilisationd’utilisation Diagramme de classesDiagramme de classes Diagramme deDiagramme de packagespackages Diagramme d’objetsDiagramme d’objets Diagramme deDiagramme de communicationcommunication Diagramme deDiagramme de séquenceséquence Exemple : conception OO 225 | | conception OO 226 | | | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de cas d’utilisation Diagramme de classes Diagramme de packages Diagramme d’objets Diagramme de communication Diagramme de séquence | Diagramme d’états Etat´ Eléments constituant un´ état • Nom • Actions et Activités internes • entry : action effectuée lorsque l’objet entre dans l’état • exit : comportement (action) de l’objet lorsqu’il quitte l’état • do : comportement (continu) de l’objet lorsqu’il est dans l’état (activité) • Transitions internes • auto-transitions sur événement extérieur | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de cas d’utilisation Diagramme de classes Diagramme de packages Diagramme d’objets Diagramme de communication Diagramme de séquence | Transition entre états | Diagramme d’états Transition | • Réponse de l’objet (dans un certain état) à l’occurence d’un événement • passage à un autre état • action à exécuter • Evénement déclencheur´ • résultant de messages entre objets (signal, appel) • internes (une condition devient vraie) • | Introduction Introduction Concepts de base Concepts de base Comment identifier les différents états ? Introduction à UML • Intuitivement Introduction à UMLDiagramme de cas Diagramme de cas d’utilisation d’utilisation Diagramme de classes • En analysant les attributs et les associations de la classe Diagramme de classes Diagramme de Diagramme de packages packages Diagramme d’objets • Au travers d’un diagramme d’interaction (séquence, Diagramme d’objets Diagramme de Diagramme de communication communication) communication Diagramme de Diagramme de séquence séquence Diagramme d’états Diagramme d’états Autres diagrammes Autres diagrammes temporels (période d’attente, date de déclenchement) Diagramme d’activité État 1 Diagramme d’activitéDiagramme d’états Diagramme d’états Autres diagrammes entry/ act. en entrée Autres diagrammes • Un événement est une information instantanée Démarche de exit/ act. en sortie Démarche de • Le passage d’un état à un autre est instantané conception OOconception OO do/ act. continue on évt/ act. interne 227 228 Méthode de Méthode de Conception Conception Orientée Objet Diagramme d’états Orientée Objet Diagramme d’états Transition Transition Représentation d’une transition • Tout est optionnel Exemples : • mais l’absence d’événement est rare Introduction Introduction Concepts de base • Action classique : envoi de message Concepts de base Diagrammes UML • send cible.message(arguments) Diagrammes UML Diagramme de cas Diagramme de cas d’utilisation d’utilisation Diagramme de classes Diagramme de classes Diagramme deDiagramme de packagespackages Diagramme d’objetsDiagramme d’objets Diagramme deDiagramme de communicationcommunication Diagramme deDiagramme de séquenceséquence 229 230 Transition Action et Activité Exemples : • Actions • non interruptibles • Activités • opérations qui « durent » • représentées au travers d’un état • interruptibles (dès qu’une transition est franchie) 231 232 Méthode de Méthode de Conception Conception Orientée Objet Diagramme d’états Orientée Objet Diagramme d’états A. Lewandowski A. Lewandowski ´ Dans un état : ´ Etats composites IntroductionIntroduction • Un état peut se décomposer en sous-états disjoints • Transitions déclenchées par le même événement Concepts de baseConcepts de base Diagrammes UMLDiagrammes UML Introduction à UMLIntroduction à UML • Les sous-états héritent des variables d’état et des Diagramme de casDiagramme de cas d’utilisationd’utilisation Diagramme de classesDiagramme de classes transitions externes du super-état Diagramme deDiagramme de packagespackages Diagramme d’objetsDiagramme d’objets Diagramme deDiagramme de communicationcommunication Diagramme deDiagramme de séquenceséquence Diagramme d’activitéDiagramme d’activité Diagramme d’étatsDiagramme d’états Autres diagrammesAutres diagrammes Démarche deDémarche de conception OOconception OO Orientée Objet Diagramme d’états Orientée Objet Diagramme d’états A. Lewandowski ´ A. Lewandowski Exercice Etats composites Exemples Cas d’un réveil : Exemple Pseudo-état historique Introduction • Un automate n’a pas de mémoire Introduction • Notation spéciale pour mémoriser le dernier sous-état Concepts de base Concepts de base Diagrammes UML Diagrammes UML Introduction à UML visité Introduction à UML Diagramme de classes Diagramme de classes Diagramme de Diagramme de packages de l’entrée dans le super-état packages Diagramme d’objets Diagramme d’objets Diagramme de • Par défaut, le sous-état activé est l’état initial Diagramme decommunication communication Diagramme de Diagramme de séquence séquence Diagramme d’étatsDiagramme d’états Autres diagrammesAutres diagrammes Démarche deDémarche de conception OO conception OO 237 | | 238 | | | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de cas | Diagramme d’états Régions concurrentes Régions concurrentes • Forme de parallélisme entre automates • Composition d’un état à partir de plusieurs états indépendants | Méthode de Conception Orientée Objet A. Lewandowski Introduction Concepts de base Diagrammes UML Introduction à UML Diagramme de cas | D’autres pseudo-états : | Diagramme d’états Pseudo-états | • Débranchement (Fork) • parallélisation • Jonction (Join) | d’utilisationd’utilisation • synchronisation Diagramme de classesDiagramme de classes Diagramme deDiagramme de packagespackages Diagramme d’objetsDiagramme d’objets Diagramme deDiagramme de séquenceséquence Diagramme d’activitéDiagramme d’activité Diagramme d’étatsDiagramme d’états Autres diagrammesAutres diagrammes Démarche deDémarche de conception OOconception OO 239 240 Méthode de Méthode de Conception Conception Orientée Objet Diagramme d’états Orientée Objet Diagramme d’états A. Lewandowski A. Lewandowski • Décision Introduction Introduction Concepts de base • Fusion (Merge) Concepts de base Comment construire le diagramme d’états ? Diagrammes UMLDiagrammes UML 1 Décrire d’abord le comportement nominal d’utilisationd’utilisation 2 Ajouter les transitions correspondant aux Diagramme deDiagramme decomportements alternatifs ou d’erreur Introduction à UMLIntroduction à UML Diagramme de casDiagramme de cas Diagramme de classesDiagramme de classes packagespackages Diagramme d’objetsDiagramme d’objets 241 242
Introduction Concepts de base Diagrammes UML• Diagrammes d’interaction Introduction à UML • diagramme de timing Diagramme de cas d’utilisation • diagramme global d’interaction Diagramme de classes Diagramme de packages• Diagrammes structurels Diagramme d’objets Diagramme de• diagramme de structure composite communication Diagramme de• diagramme de composants séquence Diagramme d’activité• diagramme de déploiement Diagramme d’états Autres diagrammes Démarche de conception OO 244 245 Méthode de Méthode de Conception Conception Orientée Objet Diagramme de timing Orientée Objet Diagramme de timing Introduction Introduction Concepts de base Diagramme de timing Concepts de base Diagrammes UML Diagrammes UML • Interactions avec focus sur les changements d’états et Introduction à UML Introduction à UML Diagramme de cas contraintes temporelles Diagramme de casd’utilisation d’utilisation Diagramme de • Axe du temps horizontal Diagramme depackages packages Diagramme d’objets Diagramme d’objets Diagramme de • Utilisé dans les applications temps réel Diagramme de communication communication Diagramme de Diagramme de séquence séquence Diagramme d’activité Diagramme d’activité Diagramme d’états Diagramme d’états Démarche de Démarche de conception OO conception OO 246 247 Méthode de Méthode de Conception Conception Orientée Objet Diagramme global d’interaction Orientée Objet Diagramme global d’interaction A. Lewandowski A. Lewandowski Concepts de base Diagramme global d’interaction Concepts de base Diagrammes UML Diagrammes UML • Vue d’ensemble des interactions Introduction à UML Introduction à UML Diagramme de cas Diagramme de cas d’utilisation • Mélange Activité/Séquence d’utilisation Diagramme de classes Diagramme de classes Diagramme de Diagramme de • packages Diagramme d’activité ou` certaines actions sont packages Diagramme d’objets Diagramme d’objets Diagramme de Diagramme de séquence séquence 248 249 Diagramme de structure composite Introduction Introduction • un conteneur Diagrammes UML Diagrammes UML Introduction à UML • participants (parts) Introduction à UML Diagramme de cas Diagramme de cas d’utilisation • connecteurs (relations entre participants au sein du d’utilisation Diagramme de classes Diagramme de classes Diagramme de conteneur) Diagramme de packages packages Diagramme d’objets • ports (interactions avec l’environnement) Diagramme d’objets Diagramme de Diagramme de communication • interfaces communication Diagramme d’activité Adapté pour les composants Diagramme d’activité Diagramme d’états Diagramme d’états Autres diagrammes • Focus sur la structure interne Autres diagrammes Démarche de Démarche de A. Lewandowski A. Lewandowski Diagramme de composants Introduction Introduction • description des composants logiciels « physiques » et de Diagrammes UML Diagrammes UML Introduction à UML leurs relations Introduction à UML Diagramme de cas Diagramme de cas d’utilisation • représenter l’organisation et les dépendances entre d’utilisation Diagramme de classes Diagramme de classes composants Diagramme de Diagramme de packages packages • Diagramme d’objets montre les choix d’implémentation Diagramme d’objets Diagramme de structure composite | Diagramme de structure composite Diagramme de Diagramme de séquence séquence • élément rempla¸cable d’un système Diagramme d’activité Diagramme d’activité Diagramme d’états • conforme à et réalise interfaces Diagramme d’étatsAutres diagrammes Autres diagrammes Démarche de Démarche de conception OO conception OO A. Lewandowski A. Lewandowski Diagramme de déploiement • Objectifs Introduction • Représenter l’architecture matérielle et la répartition Introduction Concepts de base logicielle (système distribué) Concepts de base Diagrammes UML • Visualiser la distribution des composants dans Diagrammes UML Introduction à UML Introduction à UML l’entreprise Diagramme de cas Diagramme de cas d’utilisation d’utilisation Diagramme de classes • Nœuds Diagramme de classes packages • équipement (matériel : serveur, modem, imprimante, packagesDiagramme d’objets Diagramme d’objets Diagramme de etc.) Diagramme decommunication communication Diagramme de • environnement d’exécution (logiciel : BD, mémoire, Diagramme deséquence séquence conteneur EJB, etc.) • Un nœud contient des artefacts : classes, etc. • Relations entre nœuds : supports de communication 254 255
| | | | |