UML. Diagrammes états-transitions. Delphine Longuet. delphine.longuet@lri.fr



Documents pareils
Les diagrammes de modélisation

Cours de Génie Logiciel

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

Le Guide Pratique des Processus Métiers

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

Le modèle conceptuel des traitements

MANUEL D'UTILISATION Téléphone Aastra 6753i, PoE

UML : DIAGRAMME D ETATS

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

UML. Diagrammes de classes (suite) Delphine Longuet.

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

Guichet automatique de banque

MANUEL D'UTILISATION Téléphone Aastra 57i, PoE

RAPPORT DE CONCEPTION UML :

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

Table des matières Sources

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

M1 : Ingénierie du Logiciel

Diagramme de classes

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

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

Conditions d utilisation

UML (Paquetage) Unified Modeling Language

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

Mode d'emploi AED de formation

Business Process Modeling (BPM)

PROGRAMMATION EVENEMENTIELLE sur EXCEL

Le langage UML 2.0 Notion d Objet

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

NON URGENTE TEMPORAIRE DEFINITIVE OBJET : RÉCUPÉRATION DES DONNÉES CLIENT SUR DISQUE DUR DÉFECTUEUX OU INVALIDÉ

ECO=Comfort' Contrôle'par'SMS'

Chapitre I : le langage UML et le processus unifié

GUIDE DU SERVICE DE MESSAGERIE VOCALE

IFT1215 Introduction aux systèmes informatiques

ANALYSE DE RISQUE AVEC LA MÉTHODE MEHARI Eric Papet Co-Fondateur SSII DEV1.0 Architecte Logiciel & Sécurité Lead Auditor ISO 27001

SD1+ SD1+ SD1+ ENT ESC

Hotspot Mobile 4G HUAWEI E5776. Guide de démarrage rapide

SOCIETE NATIONALE DES CHEMINS DE FER BELGES SPECIFICATION TECHNIQUE

GUIDE D UTILISATION. Réglages par défaut. Installation. Panneau de configuration de l'unité principale: Sirène D alarme. maison.

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Information utiles. webpage : Google+ : digiusto/

Chapitre 2. Classes et objets

Université de Bangui. Modélisons en UML

HAM841K CENTRALE D'ALARME POUR SYSTEMES DE SECURITE COMMERCIAUX ET D'HABITATION

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

Guide Rapide d'utilisation

opti-vm Serveur Vocal et Standard Automatique Siemens HiPath 11xx et Hipath 12xx Installation et Guide Utilisateur Version 1.0

GUIDE D UTILISATION VOCALYS CW32 CENTRALE-TRANSMETTEUR

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Business Talk IP Centrex. guide. web utilisateur. pour. les services standards

QUESTION 1 {2 points}

Date: 22/10/12 Version: 3.2

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

NOTICE D INSTALLATION CENTRALE 260

EXERCICES UML. Modéliser cette situation par un diagramme de cas d utilisation. Consulter planning

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

Guide abrégé ME401-2

Messagerie vocale Édition Îles-de-la-Madeleine. Guide d utilisation télébec telebec.com

Alcatel-Lucent 500 DECT Handset. Localisation and notification management Guide de Configuration

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

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

Guide d utilisation. Version 10

Analyse par Objets. avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Mobyt Intégration par Webservice TABLE DES MATIERES

Guide de fonctions du téléphone du système SCI Norstar

TRANSMETTEUR TELEPHONIQUE TTX = SINTEL X

Programme de formation

Correction TD algorithmique

IFT2255 : Génie logiciel

LOLF. Les essentiels AMUE

SCONET Modifications apportées dans la version SCONET

Générer du code à partir d une description de haut niveau

Contrôle interne et organisation comptable de l'entreprise

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

Guide abrégé ME301-2

Logiciel d'application Tebis

FlatBox. Système d Alarme de Sécurité GSM / Sans Fil

Contrat d'hébergement

Préparation à l installation d Active Directory

Cours de Programmation en Langage Synchrone SIGNAL. Bernard HOUSSAIS IRISA. Équipe ESPRESSO

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

Analyse,, Conception des Systèmes Informatiques

REALISATION d'un. ORDONNANCEUR à ECHEANCES

EM398x-R1 UPS VA

Méthodologies Orientées-Objet!

P our appeler : Décrochez le combiné et composez le numéro OU Composez le numéro et décrochez le combiné

Génie Logiciel Orienté Objet UML

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Liste des Paramètres 2FC4...-1ST 2FC4...-1PB 2FC4...-1PN 2FC4...-1SC 2FC4...-1CB

UML et les Bases de Données

Projet Active Object

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

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

Norme internationale d information financière 1 Première application des Normes internationales d information financière

CENTRAL TELEPHONIQUE ANALOGIQUE 3 LIGNES 12 POSTES autocommutateur téléphone SELECTEUR FAX TELEPHONE. Ref 3L12PF = VIP312

.NET - Classe de Log

Transcription:

Polytech Paris-Sud Formation initiale 3 e année Spécialité Informatique Année 2014-2015 UML Diagrammes états-transitions Delphine Longuet delphine.longuet@lri.fr

Diagramme états-transitions Objectif : Décrire le comportement dynamique d'une entité (logiciel, composant, objet...) Comportement décrit par états + transitions entre les états État : abstraction d'un moment de la vie d'une entité pendant lequel elle satisfait un ensemble de conditions Transition : changement d'état Éteinte PressionInterrupteur PressionInterrupteur transition Allumée état D. Longuet - UML 2

Diagramme états-transitions Objectif : Décrire le comportement dynamique d'une entité (logiciel, composant, objet...) Comportement décrit par états + transitions entre les états État : abstraction d'un moment de la vie d'une entité pendant lequel elle satisfait un ensemble de conditions Transition : changement d'état Intérêt : Vue synthétique de la dynamique de l'entité Regroupe un ensemble de scénarios D. Longuet - UML 3

Exemple : distributeur automatique Distributeur insérercarte pavésaisiecode saisircode ListeMontants choisirmontant rendrecarte délivrerbillets Scénario principal Distributeur insérercarte messagecarteinvalide rendrecarte Carte invalide Distributeur insérercarte pavésaisiecode saisircode messagecodeerroné pavésaisiecode saisircode ListeMontants choisirmontant rendrecarte délivrerbillets Une erreur de code Distributeur insérercarte pavésaisiecode saisircode messagecodeerroné pavésaisiecode saisircode messagecodeerroné pavésaisiecode saisircode messagecodeerroné messagecarteavalée Trois erreurs de code D. Longuet - UML 4

Diagramme états-transitions correspondant insérercarte [carte non valide] / rendrecarte allumer Inactif insérercarte [carte valide] when(nbessais = 3) / éteindre avalercarte CarteValidée Entry / nbessais à 0 saisircode [code erroné] / nbessais + 1 autorisation [refusée] autorisation [accordée] /délivrerbillets saisircode [code valide] Transaction Entry / rendrecarte choisirmontant / demanderautorisation CodeValidé D. Longuet - UML 5

Types d'états État initial État Initialisation du système, exécution du constructeur de l'objet État final Fin de vie du système, destruction de l'objet États intermédiaires : étapes de la vie du système, de l'objet État Entry [cond. ent.] / act. ent. Do / activité event1 [cond1] / action1 event2 [cond2] / action2... Exit [cond. sort.] / act. sort. D. Longuet - UML 6

État Caractéristiques d'un état : Conditions vérifiées Actions réalisées Événements attendus réglertempérature(t) conditions : thermostat non nul minuterie non nulle FourAllumé... Entry / mettre thermostat à T Do / allumer voyant when(thermostat < T) / chauffer timeout... D. Longuet - UML 7

État Caractéristiques d'un état : Conditions vérifiées Actions réalisées Événements attendus... activité pendant la durée de l'état réglertempérature(t) FourAllumé Entry / mettre thermostat à T Do / allumer voyant when(thermostat < T) / chauffer timeout action à l'entrée dans l'état... D. Longuet - UML 8

État Caractéristiques d'un état : Conditions vérifiées Actions réalisées Événements attendus réglertempérature(t) événement réinitialisant l'état FourAllumé... événement sans changement d'état Entry / mettre thermostat à T Do / allumer voyant when(thermostat < T) / chauffer timeout / thermostat à zéro... événement avec changement d'état D. Longuet - UML 9

Événement Événement : Fait instantané venant de l'extérieur du système et survenant à un instant donné Types d'événements : Signal : réception d'un message asynchrone Appel d'une opération (synchrone) : liée aux cas d'utilisation, opération du diagramme de classes... Satisfaction d'une condition booléenne : when(cond), évaluée continuellement jusqu'à ce qu'elle soit vraie Temps - Date relative : when(date = date) - Date absolue : after(durée) D. Longuet - UML 10

Action Action : Réaction du système à un événement Caractéristiques : atomique, instantanée, non interruptible Exemples d'actions (syntaxe laissée libre) : affectation envoi d'un signal appel d'une opération création ou destruction d'un objet D. Longuet - UML 11

Action déclenchée par un événement événement [condition] / action Lorsque l'événement se produit, si la condition est vérifiée, alors l'action est effectuée avec changement d'état (transition) État1 événement [condition] / action État2 État événement [condition] / action sans changement d'état (événement interne) D. Longuet - UML 12

Événements internes à l'état : Dynamique d'un état Événement à l'entrée : Entry Événement à la sortie : Exit Événement sans changement d'état : event État Entry [cond. ent.] / act. ent. event1 [cond1] / action1 event2 [cond2] / action2... Exit [cond. sort.] / act. sort. D. Longuet - UML 13

Événements internes à l'état :! Dynamique d'un état Événement à l'entrée : Entry Événement à la sortie : Exit Événement sans changement d'état : event Activité : Do Activité action Pas instantanée Peut être interrompue Effet des événements internes : Interruption de l'activité avec sauvegarde du contexte État Entry [cond. ent.] / act. ent. Do / activité event1 [cond1] / action1 event2 [cond2] / action2... Exit [cond. sort.] / act. sort. D. Longuet - UML 14

Dynamique d'un état Événements externes à l'état : transitions Transition vers l'état : evt-in Transition depuis l'état : evt-out Transition depuis l'état vers lui-même : evt-self evt-in [cond. in] / act. in evt-out [cond. out] / act. out État Entry [cond. ent.] / act. ent. Do / activité event1 [cond1] / action1 event2 [cond2] / action2... Exit [cond. sort.] / act. sort. evt-self [cond. self] / act. self Effet de evt-self : Réinitialisation de l'état, interruption de l'activité sans sauvegarde du contexte D. Longuet - UML 15

Dynamique d'un état État evt-in [cond. in] / act. in evt-out [cond. out] / act. out Entry [cond. ent.] / act. ent. Do / activité event1 [cond1] / action1 event2 [cond2] / action2... Exit [cond. sort.] / act. sort. interruption de l'activité pas de changement d'état evt-in event2 event1 evt-out act. in act. ent. action2 action1 act. sort. act. out D. Longuet - UML 16

Dynamique d'un état evt-in [cond. in] / act. in evt-out [cond. out] / act. out État Entry [cond. ent.] / act. ent. Do / activité event1 [cond1] / action1 event2 [cond2] / action2... Exit [cond. sort.] / act. sort. evt-self [cond. self] / act. self arrêt de l'activité changement d'état evt-in event2 evt-self event1 evt-out act. in act. ent. action2 act. sort. act. self act. ent. action1 act. sort. act. out D. Longuet - UML 17

Dynamique d'un état Ne pas confondre Sauvegarde du contexte de l'activité pendant action Perte du contexte de l'activité pendant action État Entry [cond. ent.] / act. ent. Do / activité event [cond] / action Exit [cond. sort.] / act. sort. État Entry [cond. ent.] / act. ent. Do / activité Exit [cond. sort.] / act. sort. event [cond] / action D. Longuet - UML 18

Exemple Distributeur automatique saisircode [code erroné] / nbessais + 1 insérercarte [carte non valide] / rendrecarte allumer Inactif insérercarte [carte valide] when(nbessais = 3) / éteindre avalercarte CarteValidée Entry / nbessais à 0 saisircode [code erroné] / nbessais + 1 autorisation [refusée] autorisation [accordée] /délivrerbillets saisircode [code valide] Transaction Entry / rendrecarte choisirmontant / demanderautorisation CodeValidé D. Longuet - UML 19

États composites État composite : État regroupant un ensemble d'états Objectifs : Hiérarchiser les états Structurer les comportements complexes Factoriser les actions raccrocher Occupé Raccroché Composition raccrocher Tonalité raccrocher raccrocher Conversation D. Longuet - UML 20

États composites État composite : État regroupant un ensemble d'états Objectifs : Hiérarchiser les états Structurer les comportements complexes Factoriser les actions Décroché Occupé Raccroché Composition Tonalité raccrocher Conversation D. Longuet - UML 21

États composites État composite : État regroupant un ensemble d'états Objectifs : Hiérarchiser les états Structurer les comportements complexes Factoriser les actions transition vers l'état composite Décroché Occupé Raccroché Composition Tonalité raccrocher point d'entrée dans l'état Conversation D. Longuet - UML 22

États composites État orthogonal : État composite dans lequel plusieurs états sont actifs simultanément (concurrence/parallélisme) État actif global = un état actif par région régions Préparation et rendu monnaie Préparation Entry / placer gobelet Do / servir boisson Ajout sucre Entry / ajouter sucre Rendu monnaie Entry / monnaie = somme - prix Do / rendre(monnaie) D. Longuet - UML 23

États composites État orthogonal : État composite dans lequel plusieurs états sont actifs simultanément (concurrence/parallélisme) État actif global = un état actif par région transition complexe Préparation et rendu monnaie Préparation Entry / placer gobelet Do / servir boisson Ajout sucre Entry / ajouter sucre Rendu monnaie Entry / monnaie = somme - prix Do / rendre(monnaie) Représentation équivalente D. Longuet - UML 24

Utilisation des diagrammes états-transitions En phase d'analyse : Description de la dynamique du système vu de l'extérieur Synthèse des scénarios liés aux cas d'utilisation Événements = action des acteurs En phase de conception : Description de la dynamique d'un objet particulier Événements = appels d'opérations D. Longuet - UML 25

Diagramme états-transitions d'un objet retirer(c) ajouter(c,v) [present(c)] ajouter(c,v) [not present(c) and taille < capacité - 1] Conteneur(capacité) Vide ajouter(c,v) Non vide retirer(c) [present(c) and taille > 1] Spécification du conteneur : ensemble de couples (clé,valeur) avec clés uniques capacité fixe taille = nombre de couples présents ajouter(c,v) : ajoute si clé absente, écrase si clé présente ajout au-delà de la capacité interdit retirer(c) : retire le couple de clé c s'il existe retirer(c) [present(c) and retirer(c) taille = 1] [not present(c)] retirer(c) ajouter(c,v) [present(c)] [not present(c) and taille = capacité - 1] Plein ajouter(c,v) [not present(c)] / Exception ajouter(c,v) retirer(c) [present(c)] [not present(c)] D. Longuet - UML 26

Résumé rapide D. Longuet - UML 27

Utilisation d'uml en projet logiciel Analyse des besoins et spécification Diagramme des cas d'utilisation (+ description textuelle) Diagrammes de séquence de scénarios d'utilisation (scénarios génériques ou instanciés) Diagramme états-transitions du système global Conception Diagramme de classes (Diagrammes de séquence des cas d'utilisation détaillés par rapport au diagramme de classes) Diagrammes états-transitions d'objets D. Longuet - UML 28