SlideShare une entreprise Scribd logo
1  sur  52
Année Universitaire
2015-2016
Chapitre 4:
Conception dynamique
AU 2015-2016
3ème A
2021-2022
DIAGRAMMES D’INTERACTION
2
Diagrammes d’interaction - Objectifs
• Décrire comment les objets interagissent au sein du
système…
– Montrer les interactions entre les objets dans le temps
– Présenter la séquence (l’ordre) et la dépendance des messages
échangés entre les objets
• Représenter certains aspects dynamiques pour la réalisation
– d’un cas d’utilisation
– d’une opération relative à un cas d’utilisation
3
Diagrammes d’interaction - Types
• Diagramme de séquence (système et objet)
– Diagramme de séquence système phase d’analyse
– Diagramme de séquence objets phase de conception
4
DIAGRAMME DE SÉQUENCE OBJETS
5
Présentation - Rappel
• Un diagramme de séquence est à deux dimensions:
– Dimension verticale : le temps
• L'ordre (le séquencement) d'envoi d'un message est
déterminé par la position du message sur l'axe vertical du
diagramme
• Le temps s'écoule "de haut en bas" de cet axe
– Dimension horizontale : les objets (et les acteurs)
6
Diagramme de séquence système VS
diagramme de séquence objet
Source : UML2 par la pratique
7
Analyse
Conception
Exemple
Source : UML2 Analyse et
conception
8
Diagramme de séquence objet du CU
« Ajouter emprunt »
Concepts clés
• Objets
• Lignes de vie
• Zones d’activation
• Messages
• Structures de contrôle :
– Fragments combinés
9
Objet, ligne de vie et zone d’activation
• Objet :
– Représente une instance :
• d’un acteur
• d’une classe
• Ligne de vie :
– Traduit l'existence d'un objet pendant une période
de temps
• Exemple :
10
 Zone d’activation :
 Représente le temps durant lequel un objet est actif : en train d'exécuter
une opération
Messages
• Les objets communiquent entre eux via des messages
• Types des messages:
– Message synchrone
– Message asynchrone
– Message de retour
– Message de création
– Message de destruction
11
(1/5)
Messages
• Un message synchrone traduit l’invocation d’une opération:
– Un objet demande à un objet appelé d’exécuter une opération
– L’objet émetteur reste bloqué le temps que dure l’invocation de la
méthode
– Un objet peut envoyer un message à lui-même pour invoquer une
méthode locale : message réflexif
• Syntaxe :
numéro : [résultat = ] nomOpération([paramètres])
12
(2/5)
Messages
• Remarque
– L’opération invoquée doit être définie dans la classe relative à
l’objet récepteur et visible dans la classe relative à l’objet
émetteur
• Exemple :
13
(3/5)
Messages
• Message asynchrone
– Envoyer un signal à un objet
– Invoquer une méthode sans bloquer l’émetteur
• Message de retour
– Renvoyer une valeur à l’objet appelant
• Message de création d’instance (synchrone)
– Invoquer l’opération de création d’un objet
• Message de destruction d’instance (synchrone)
– Invoquer l’opération de destruction d’un objet
14
(4/5)
Messages
• Exemple :
15
(5/5)
Exemple
• Exemple de traduction d’un diagramme de séquence
objet en code java:
Adapté à partir du lien : http://www.wiziq.com/tutorial/23674-Diagramme-de-S-233-quence-UML
16
public int jouer()
{
de1.lancer();
v1=de1.lireValeur();
de2.lancer();
v2=de2.lireValeur();
v = v1 + v2;
return v;
}
Les structures de contrôle
• Fragments combinés
– Fragment d’interaction comportant un opérateur
d’interaction (exemple : loop, opt, alt, ref…)
• Voir chapitre 2 : analyse dynamique
• Exemple 1 :
17
Source : Livre UML2 analyse et conception
(1/2)
Les structures de contrôle
• Exemple 2 :
18
Source : Livre UML2 analyse et conception
(2/2)
ETUDE DE CAS
Etude d’un (tirée du livre UML2 par la pratique)
19
Exemple
• S.I. d’une bibliothèque qui permet d’emprunter des
livres
Diagramme de cas d’utilisation
20
(1/4)
Exemple
• Les opérations système du cas d’utilisation «Enregistrer les emprunts »
sont détaillées sur le diagramme de séquence système suivant :
21
(2/4)
Exemple
• Pré-conditions
– le catalogue de livres existe et n’est pas vide ;
– l’adhérent a été reconnu par le système et
n’a pas atteint le seuil maximal d’emprunts.
22
(3/4)
 Post-conditions
 un prêt p a été créé ;
 l’attribut date de p a été positionné à la date du
jour ;
 l’attribut dateRetour de p a été positionné à (la
date du jour + deux semaines) ;
 p a été lié au livre l dont l’attribut ISBN vaut
l’ISBN passé en paramètre ;
 p a été lié à l’adhérent concerné et à la
bibliothèque.
Analyse
Conception
Exemple
Diagramme de séquence objet pour l’opération système « emprunterLivre » :
23
(4/4)
Architecture logicielle - Bref aperçu
• L’architecture logicielle est le processus de conception de
l’organisation globale du système et incluant
– La subdivision du logiciel en sous-systèmes.
– Les décisions à prendre concernant leur interactions.
– La détermination des interfaces (des contrats).
• Modèle de référence : modèle en couches :
– S’applique aux applications munies d’une interface graphique
manipulant des données persistantes.
– Architecture logique en 3 couches, 5 couches,…
24
Architecture logicielle – Modèle en 3 couches
• Modèle en 3 couches
– Couche présentation
– Couche métier
– Couche persistance
• Couche présentation :
– Prend en charge les interactions entre les utilisateurs et le
logiciel
– Permet de visualiser les informations
– Traduit les commandes de l’utilisateur en actions sur les
autres couches
• Exemples : Une ligne de commande, une interface graphique, un
navigateur internet
25
(1/2)
Architecture logicielle – Modèle en 3 couches
• Couche métier:
– Correspond à la partie fonctionnelle de l'application
– Décrit les opérations que l'application opère sur les données
en fonction des requêtes des utilisateurs
– Offre des services applicatifs et métier à la couche
présentation en s'appuyant sur les données de la couche
inférieure
• Couche persistance :
– Permet le stockage et la récupération des données
– Conserve les données neutres et indépendantes des serveurs
d'applications ou de la logique métier
26
(2/2)
Remarques
• Communications entre les types de stéréotypes
– Interface – Interface
– Interface – Contrôleur
– Contrôleur – Contrôleur
– Contrôleur – Entité
– Entité – Entité
• Ces stéréotypes peuvent être utilisés depuis la phase d’analyse
• Il n’est pas obligatoire de travailler avec ces stéréotypes (certaines
méthodes de conception les préconisent)
27
 Interface – Entité
Représentation
28
Exemple
29
Source : livre UML2 par la pratique
DIAGRAMME D’ETAT-TRANSITION
30
Présentation
• Diagramme comportemental
• Utilisé pour les classes qui ont un comportement complexe
• Est associé à une instance d’une classe (objet) possédant plusieurs états
• Décrit comment un objet réagit à des événements en fonction de son état
courant et comment il passe à un nouvel état
31
Représentation
• Graphe orienté d’états et de transitions représentant un automate à
états finis
• Exemple : fonctionnement d’un bouton poussoir
– Suite à la pression sur le bouton poussoir la réaction de la machine dépend de son état
courant : si elle est en marche elle va s’arrêter et si elle est à l’arrêt elle se mettra en marche
32
Concepts clés
• État
– Activité
• Transition
– Évènement
– Condition de garde
– Action
• État composite
33
ÉTAT
34
État
• Un objet passe par plusieurs états durant sa durée de vie
• Un état : ensemble des valeurs des propriétés d’un objet
• Un objet à un état donné:
– Attend un évènement
– Accomplit une activité
• Etat initial
• Etat final
• Exemple :
35
TRANSITION
36
Transition
• Décrit la réaction d’un objet lorsqu’un événement se produit
• Permet le passage d’un état à un autre
• Une transition possède en général :
– Un événement déclencheur
– Une condition de garde
– Une action
• Opération associée à la transaction
• Est non-interruptible
– Un état cible
37
(1/5)
Transition
• Présentation :
• Exemple simple :
38
(2/5)
Transition
• Transition réflexive ou transition propre
– L’état de départ et l’état cible sont identiques
– L’objet quitte un état pour y revenir
• Transition interne
– Transition qui se déclenche dans un état courant
– La transition a un état source mais non pas d’état cible
• L’objet ne quitte pas l’état courant
– Est inscrite dans l’état
39
(3/5)
Transition
• Illustration :
– Si on est dans l’état S et qu’il y a apparition d’une occurrence de
Event a alors x est activée
– Si on est dans l’état S et qu’il y a apparition d’une occurrence de
Event b alors y (on sort d’abord de S) puis z (déclenchée car
suffixant Event b) et enfin w (on re-rentre dans S) sont activées
40
(4/5)
Transition
• Exemple 1 : Diagramme d’états-transition de la cabine d’un ascenseur
41
• Exemple 2 : Diagramme d’états-transition du monnayeur d’un distributeur de boissons
(5/5)
ÉVÈNEMENT
42
Évènement
• Se produit à un instant donné et n’a pas de durée
• Déclenche une transition
• Types d’événements :
– Type appel de méthode (call)
– Type signal
• Exemple : clic de souris, interruption d’entrées-sorties
– Type changement de valeur (vrai/faux) : évaluation d’une expression
booléenne : when (condition_booléenne)
43
(1/2)
Évènement
– Type temporel : événement lié à l’écoulement du temps
• Après une durée précise: after (durée)
• A une durée précise: when (date)
• Exemple :
– Après deux minutes d’inactivité, l’écran de veille sera activé
44
(2/2)
ACTIVITÉ
45
Activité
• Spécifie un comportement optionnel de l’objet lorsqu’il atteint un nouvel état
(après le déclenchement d’une transition)
• Est interruptible
• Types d’activités :
– Activité d’entrée (entry) : actions effectuées au moment de l’entrée dans un
état
– Activité durable (do) : indique un travail effectué tant que l’objet est dans l’état
– Activité de sortie (exit) : actions effectuées au moment de la sortie d’un état
46
(1/2)
Activité
• Exemple:
– Dans un jeu vidéo, le personnage en état d’attaque va tout
d’abord sortir son arme, attaquer l’adversaire et ranger son
arme à la fin de l’attaque
47
(2/2)
Exemple
• Simulation d’un personnage de jeu vidéo :
48
ÉTAT COMPOSITE
49
État composite
• État qui contient plusieurs états
• Forme 1 : décomposition cachée
• Forme 2 : décomposition explicite
50
(1/3)
État composite
• Exemple : 2 représentations possibles pour factoriser
l’état combiné décroché
51
(2/3)
Pour tous ces états
le combiné est
décroché
Source : UML2 par la pratique
État composite
• Solutions de l’exemple:
52
(3/3)
Ou

Contenu connexe

Similaire à Chapitre4_ConceptionDynamique (1).pptx

14_PM_chapitre3_Modelisation pour modélisation
14_PM_chapitre3_Modelisation pour modélisation14_PM_chapitre3_Modelisation pour modélisation
14_PM_chapitre3_Modelisation pour modélisationGeorges OLE
 
Cours 1 les principes de base
Cours 1 les principes de baseCours 1 les principes de base
Cours 1 les principes de baseMariem ZAOUALI
 
Design patterns comportementaux
Design patterns comportementauxDesign patterns comportementaux
Design patterns comportementauxYannick Chartois
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriMansouri Khalifa
 
Diagramme de Séquence
Diagramme de SéquenceDiagramme de Séquence
Diagramme de SéquenceabdoMarocco
 
Workshop Spring - Session 4 - Spring Batch
Workshop Spring -  Session 4 - Spring BatchWorkshop Spring -  Session 4 - Spring Batch
Workshop Spring - Session 4 - Spring BatchAntoine Rey
 
Unified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VFUnified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VFcifaf13039
 
Chapitre N°4 Diagramme de séquence.pdf
Chapitre N°4  Diagramme de séquence.pdfChapitre N°4  Diagramme de séquence.pdf
Chapitre N°4 Diagramme de séquence.pdfSaadiaAjbbar
 
Definitiondesbesoinsuml
DefinitiondesbesoinsumlDefinitiondesbesoinsuml
DefinitiondesbesoinsumlVINOT Bernard
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceLilia Sfaxi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
dokumen.tips_diagramme-de-sequence-uml.pdf
dokumen.tips_diagramme-de-sequence-uml.pdfdokumen.tips_diagramme-de-sequence-uml.pdf
dokumen.tips_diagramme-de-sequence-uml.pdfviyipim509
 
Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)Farouk Mezghich
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services webCHOUAIB EL HACHIMI
 
Présentation agreg 2015 épreuve tp
Présentation agreg 2015 épreuve tpPrésentation agreg 2015 épreuve tp
Présentation agreg 2015 épreuve tpthibault13600
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++coursuniv
 

Similaire à Chapitre4_ConceptionDynamique (1).pptx (20)

14_PM_chapitre3_Modelisation pour modélisation
14_PM_chapitre3_Modelisation pour modélisation14_PM_chapitre3_Modelisation pour modélisation
14_PM_chapitre3_Modelisation pour modélisation
 
PresentationMéthodologie SCRUM-2021.pptx
PresentationMéthodologie SCRUM-2021.pptxPresentationMéthodologie SCRUM-2021.pptx
PresentationMéthodologie SCRUM-2021.pptx
 
Cours 1 les principes de base
Cours 1 les principes de baseCours 1 les principes de base
Cours 1 les principes de base
 
Design patterns comportementaux
Design patterns comportementauxDesign patterns comportementaux
Design patterns comportementaux
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
 
Cours_Java.pdf
Cours_Java.pdfCours_Java.pdf
Cours_Java.pdf
 
Diagramme de Séquence
Diagramme de SéquenceDiagramme de Séquence
Diagramme de Séquence
 
7.Diagramme d'Activité.pdf
7.Diagramme d'Activité.pdf7.Diagramme d'Activité.pdf
7.Diagramme d'Activité.pdf
 
Workshop Spring - Session 4 - Spring Batch
Workshop Spring -  Session 4 - Spring BatchWorkshop Spring -  Session 4 - Spring Batch
Workshop Spring - Session 4 - Spring Batch
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Unified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VFUnified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VF
 
Chapitre N°4 Diagramme de séquence.pdf
Chapitre N°4  Diagramme de séquence.pdfChapitre N°4  Diagramme de séquence.pdf
Chapitre N°4 Diagramme de séquence.pdf
 
Definitiondesbesoinsuml
DefinitiondesbesoinsumlDefinitiondesbesoinsuml
Definitiondesbesoinsuml
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
dokumen.tips_diagramme-de-sequence-uml.pdf
dokumen.tips_diagramme-de-sequence-uml.pdfdokumen.tips_diagramme-de-sequence-uml.pdf
dokumen.tips_diagramme-de-sequence-uml.pdf
 
Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
Présentation agreg 2015 épreuve tp
Présentation agreg 2015 épreuve tpPrésentation agreg 2015 épreuve tp
Présentation agreg 2015 épreuve tp
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
 

Chapitre4_ConceptionDynamique (1).pptx

  • 1. Année Universitaire 2015-2016 Chapitre 4: Conception dynamique AU 2015-2016 3ème A 2021-2022
  • 3. Diagrammes d’interaction - Objectifs • Décrire comment les objets interagissent au sein du système… – Montrer les interactions entre les objets dans le temps – Présenter la séquence (l’ordre) et la dépendance des messages échangés entre les objets • Représenter certains aspects dynamiques pour la réalisation – d’un cas d’utilisation – d’une opération relative à un cas d’utilisation 3
  • 4. Diagrammes d’interaction - Types • Diagramme de séquence (système et objet) – Diagramme de séquence système phase d’analyse – Diagramme de séquence objets phase de conception 4
  • 6. Présentation - Rappel • Un diagramme de séquence est à deux dimensions: – Dimension verticale : le temps • L'ordre (le séquencement) d'envoi d'un message est déterminé par la position du message sur l'axe vertical du diagramme • Le temps s'écoule "de haut en bas" de cet axe – Dimension horizontale : les objets (et les acteurs) 6
  • 7. Diagramme de séquence système VS diagramme de séquence objet Source : UML2 par la pratique 7 Analyse Conception
  • 8. Exemple Source : UML2 Analyse et conception 8 Diagramme de séquence objet du CU « Ajouter emprunt »
  • 9. Concepts clés • Objets • Lignes de vie • Zones d’activation • Messages • Structures de contrôle : – Fragments combinés 9
  • 10. Objet, ligne de vie et zone d’activation • Objet : – Représente une instance : • d’un acteur • d’une classe • Ligne de vie : – Traduit l'existence d'un objet pendant une période de temps • Exemple : 10  Zone d’activation :  Représente le temps durant lequel un objet est actif : en train d'exécuter une opération
  • 11. Messages • Les objets communiquent entre eux via des messages • Types des messages: – Message synchrone – Message asynchrone – Message de retour – Message de création – Message de destruction 11 (1/5)
  • 12. Messages • Un message synchrone traduit l’invocation d’une opération: – Un objet demande à un objet appelé d’exécuter une opération – L’objet émetteur reste bloqué le temps que dure l’invocation de la méthode – Un objet peut envoyer un message à lui-même pour invoquer une méthode locale : message réflexif • Syntaxe : numéro : [résultat = ] nomOpération([paramètres]) 12 (2/5)
  • 13. Messages • Remarque – L’opération invoquée doit être définie dans la classe relative à l’objet récepteur et visible dans la classe relative à l’objet émetteur • Exemple : 13 (3/5)
  • 14. Messages • Message asynchrone – Envoyer un signal à un objet – Invoquer une méthode sans bloquer l’émetteur • Message de retour – Renvoyer une valeur à l’objet appelant • Message de création d’instance (synchrone) – Invoquer l’opération de création d’un objet • Message de destruction d’instance (synchrone) – Invoquer l’opération de destruction d’un objet 14 (4/5)
  • 16. Exemple • Exemple de traduction d’un diagramme de séquence objet en code java: Adapté à partir du lien : http://www.wiziq.com/tutorial/23674-Diagramme-de-S-233-quence-UML 16 public int jouer() { de1.lancer(); v1=de1.lireValeur(); de2.lancer(); v2=de2.lireValeur(); v = v1 + v2; return v; }
  • 17. Les structures de contrôle • Fragments combinés – Fragment d’interaction comportant un opérateur d’interaction (exemple : loop, opt, alt, ref…) • Voir chapitre 2 : analyse dynamique • Exemple 1 : 17 Source : Livre UML2 analyse et conception (1/2)
  • 18. Les structures de contrôle • Exemple 2 : 18 Source : Livre UML2 analyse et conception (2/2)
  • 19. ETUDE DE CAS Etude d’un (tirée du livre UML2 par la pratique) 19
  • 20. Exemple • S.I. d’une bibliothèque qui permet d’emprunter des livres Diagramme de cas d’utilisation 20 (1/4)
  • 21. Exemple • Les opérations système du cas d’utilisation «Enregistrer les emprunts » sont détaillées sur le diagramme de séquence système suivant : 21 (2/4)
  • 22. Exemple • Pré-conditions – le catalogue de livres existe et n’est pas vide ; – l’adhérent a été reconnu par le système et n’a pas atteint le seuil maximal d’emprunts. 22 (3/4)  Post-conditions  un prêt p a été créé ;  l’attribut date de p a été positionné à la date du jour ;  l’attribut dateRetour de p a été positionné à (la date du jour + deux semaines) ;  p a été lié au livre l dont l’attribut ISBN vaut l’ISBN passé en paramètre ;  p a été lié à l’adhérent concerné et à la bibliothèque. Analyse Conception
  • 23. Exemple Diagramme de séquence objet pour l’opération système « emprunterLivre » : 23 (4/4)
  • 24. Architecture logicielle - Bref aperçu • L’architecture logicielle est le processus de conception de l’organisation globale du système et incluant – La subdivision du logiciel en sous-systèmes. – Les décisions à prendre concernant leur interactions. – La détermination des interfaces (des contrats). • Modèle de référence : modèle en couches : – S’applique aux applications munies d’une interface graphique manipulant des données persistantes. – Architecture logique en 3 couches, 5 couches,… 24
  • 25. Architecture logicielle – Modèle en 3 couches • Modèle en 3 couches – Couche présentation – Couche métier – Couche persistance • Couche présentation : – Prend en charge les interactions entre les utilisateurs et le logiciel – Permet de visualiser les informations – Traduit les commandes de l’utilisateur en actions sur les autres couches • Exemples : Une ligne de commande, une interface graphique, un navigateur internet 25 (1/2)
  • 26. Architecture logicielle – Modèle en 3 couches • Couche métier: – Correspond à la partie fonctionnelle de l'application – Décrit les opérations que l'application opère sur les données en fonction des requêtes des utilisateurs – Offre des services applicatifs et métier à la couche présentation en s'appuyant sur les données de la couche inférieure • Couche persistance : – Permet le stockage et la récupération des données – Conserve les données neutres et indépendantes des serveurs d'applications ou de la logique métier 26 (2/2)
  • 27. Remarques • Communications entre les types de stéréotypes – Interface – Interface – Interface – Contrôleur – Contrôleur – Contrôleur – Contrôleur – Entité – Entité – Entité • Ces stéréotypes peuvent être utilisés depuis la phase d’analyse • Il n’est pas obligatoire de travailler avec ces stéréotypes (certaines méthodes de conception les préconisent) 27  Interface – Entité
  • 29. Exemple 29 Source : livre UML2 par la pratique
  • 31. Présentation • Diagramme comportemental • Utilisé pour les classes qui ont un comportement complexe • Est associé à une instance d’une classe (objet) possédant plusieurs états • Décrit comment un objet réagit à des événements en fonction de son état courant et comment il passe à un nouvel état 31
  • 32. Représentation • Graphe orienté d’états et de transitions représentant un automate à états finis • Exemple : fonctionnement d’un bouton poussoir – Suite à la pression sur le bouton poussoir la réaction de la machine dépend de son état courant : si elle est en marche elle va s’arrêter et si elle est à l’arrêt elle se mettra en marche 32
  • 33. Concepts clés • État – Activité • Transition – Évènement – Condition de garde – Action • État composite 33
  • 35. État • Un objet passe par plusieurs états durant sa durée de vie • Un état : ensemble des valeurs des propriétés d’un objet • Un objet à un état donné: – Attend un évènement – Accomplit une activité • Etat initial • Etat final • Exemple : 35
  • 37. Transition • Décrit la réaction d’un objet lorsqu’un événement se produit • Permet le passage d’un état à un autre • Une transition possède en général : – Un événement déclencheur – Une condition de garde – Une action • Opération associée à la transaction • Est non-interruptible – Un état cible 37 (1/5)
  • 38. Transition • Présentation : • Exemple simple : 38 (2/5)
  • 39. Transition • Transition réflexive ou transition propre – L’état de départ et l’état cible sont identiques – L’objet quitte un état pour y revenir • Transition interne – Transition qui se déclenche dans un état courant – La transition a un état source mais non pas d’état cible • L’objet ne quitte pas l’état courant – Est inscrite dans l’état 39 (3/5)
  • 40. Transition • Illustration : – Si on est dans l’état S et qu’il y a apparition d’une occurrence de Event a alors x est activée – Si on est dans l’état S et qu’il y a apparition d’une occurrence de Event b alors y (on sort d’abord de S) puis z (déclenchée car suffixant Event b) et enfin w (on re-rentre dans S) sont activées 40 (4/5)
  • 41. Transition • Exemple 1 : Diagramme d’états-transition de la cabine d’un ascenseur 41 • Exemple 2 : Diagramme d’états-transition du monnayeur d’un distributeur de boissons (5/5)
  • 43. Évènement • Se produit à un instant donné et n’a pas de durée • Déclenche une transition • Types d’événements : – Type appel de méthode (call) – Type signal • Exemple : clic de souris, interruption d’entrées-sorties – Type changement de valeur (vrai/faux) : évaluation d’une expression booléenne : when (condition_booléenne) 43 (1/2)
  • 44. Évènement – Type temporel : événement lié à l’écoulement du temps • Après une durée précise: after (durée) • A une durée précise: when (date) • Exemple : – Après deux minutes d’inactivité, l’écran de veille sera activé 44 (2/2)
  • 46. Activité • Spécifie un comportement optionnel de l’objet lorsqu’il atteint un nouvel état (après le déclenchement d’une transition) • Est interruptible • Types d’activités : – Activité d’entrée (entry) : actions effectuées au moment de l’entrée dans un état – Activité durable (do) : indique un travail effectué tant que l’objet est dans l’état – Activité de sortie (exit) : actions effectuées au moment de la sortie d’un état 46 (1/2)
  • 47. Activité • Exemple: – Dans un jeu vidéo, le personnage en état d’attaque va tout d’abord sortir son arme, attaquer l’adversaire et ranger son arme à la fin de l’attaque 47 (2/2)
  • 48. Exemple • Simulation d’un personnage de jeu vidéo : 48
  • 50. État composite • État qui contient plusieurs états • Forme 1 : décomposition cachée • Forme 2 : décomposition explicite 50 (1/3)
  • 51. État composite • Exemple : 2 représentations possibles pour factoriser l’état combiné décroché 51 (2/3) Pour tous ces états le combiné est décroché Source : UML2 par la pratique
  • 52. État composite • Solutions de l’exemple: 52 (3/3) Ou