SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
Diagrammes d’activités
1
Les diagrammes d’activités permettent de modéliser
les traitements (adaptés à la modélisation des flots de
contrôle et des flots de données).
Permettent de représenter graphiquement le
comportement d’une méthode ou l’exécution d’un
scénario de cas d’utilisation.
La représentation des diagrammes d’activités est
proche de celle des diagrammes d’états-transitions, mais
leur sémantique diffère.
2
Les diagrammes d’états-transitions : adaptés aux
systèmes réactifs et chaque diagramme est relatif à une
classe (ou objet). Les diagrammes d’activités ne sont pas
rattachés à une classe particulière. On peut attacher un
diagramme d’activités à n’importe quel élément de
modélisation afin de visualiser ou de décrire son
comportement.
Différence principale entre diagramme
d’interaction et diagramme d’activités est que les
premiers mettent l’accent sur le flot de contrôle d’un
objet à l’autre; les seconds modélisent sur le flot de
contrôle entre activités.
3
Les diagrammes d’activité ont un pouvoir
d’expression proches des langages de programmation
objet. Par exemple, la spécification des actions de base
comme l’affectation, les structures conditionnelles, les
boucles, ainsi que des instructions particulières
spécifiques à la programmation objet (appel de
méthodes, exception,…).
Les diagrammes d’activités peuvent être bien
adaptés pour la phase de spécifications détaillées des
traitements.
4
Terminologie
5
Action, activité et Transition = éléments principaux
d’un diagramme d’activité.
- Action (action) = plus petit traitement qui peut être
exprimé en UML, en agissant sur le système. Une action
peut être rapprochée de la notion d’instruction
élémentaire d’un langage de programmation (comme
Java).
Par exemple : une affectation de valeur à un attribut, un
accès à la valeur d’une propriété, un calcul arithmétique
simple, l’émission ou réception d’un signal ;
6
Quelques types d’actions utilisées en UML
Action appeler (call operation) : invocation d’une
méthode sur un objet (de manière synchrone ou
asynchrone).
Lorsque l’action est exécutée, les paramètres sont
transmis à l’objet appelé.
appel asynchrone : l’action est terminée et les
éventuelles valeurs de retour seront ignorées.
 appel synchrone : l’appelant est bloqué pendant
l’exécution de l’action jusqu’à la fin d’exécution et, le
cas échéant, les valeurs de retour pourront être
réceptionnées. 7
Action envoyer (send) : crée un message et le transmet à
un objet appelé.
C’est un appel asynchrone (ne bloque pas l’objet
appelant). Bien adapté à l’envoi de signaux (send signal).
Action créer (create) ou détruire (destroy) : permet
d’instancier (resp. de détruire) un objet.
8
Activité (activity) : définit un comportement
représenté par une séquence d’actions. Le flot
d’exécution est modélisé par des nœuds reliés par des
arcs (les transitions).
Une activité est un comportement (behavior) et
peuvent lui être associés des paramètres.
9
Un nœud d’activité permet de représenter les étapes
le long du flot d’une activité. Il existe trois types :
1. les nœuds d’exécution (executable node)
2. les nœuds d’objets (object node)
3. les nœuds de contrôle (control nodess).
Différents types de nœuds d’activités
10
Nœuds d’activité (activity node) et nœuds de
contrôle, graphiquement :
11
Nœuds de contrôle
12
nœud de bifurcation (fourche)
ou d’union (synhronisation)
nœud initial
nœud final
nœud final de flot
nœud de décision ou de fusion,
13
Nœud de décision (decision node) = un nœud de contrôle
qui permet d’effectuer un choix entre plusieurs flots sortants.
- Un arc entrant et plusieurs arcs sortants. Ces derniers sont
généralement dotés de conditions, appelées gardes.
L’utilisation d’une garde [else] est recommandée après un
nœud de décision. Dans le cas où plusieurs arcs sont
franchissables (i.e. plusieurs conditions de garde sont
vraies), seul l’un d’entre eux est retenu et ce choix est non
déterministe.
Graphiquement :
14
Nœud de fusion (merge node) = nœud de contrôle qui
rassemble plusieurs flots entrants en un seul flot sortant.
Il n’est pas utilisé pour synchroniser des flots concurrents
(rôle du nœud d’union), mais pour choisir un flot parmi
plusieurs.
Graphiquement : idem qu’un nœud de décision :
15
Nœud de bifurcation ou de débranchement (fork
node) = nœud de contrôle qui sépare un flot en
plusieurs flots concurrents. : il possède un arc entrant
et plusieurs arcs sortants.
Graphiquement :
16
Nœud d’union ou de jointure (join node) = nœud de
contrôle qui synchronise plusieurs flots entrants : il possède
plusieurs arcs entrants et un seul arc sortant. Lorsque tous
les arcs entrants sont activés, l’arc sortant es activé.
Graphiquement, représenté
comme un nœud de bifurcation :
Remarque
Il est possible de fusionner un nœud de bifurcation et un
nœud d’union : trait plein avec plusieurs arcs entrants et
plusieurs arcs sortants :
17
Nœud initial = nœud de contrôle à partir duquel le flot
débute lorsque l’activité est invoquée.
Une activité peut avoir plusieurs nœuds initiaux. Un nœud
initial possède un arc sortant et pas d’arc entrant.
Nœud final = un nœud de contrôle possédant un ou
plusieurs arcs entrants et aucun arc sortant.
 2 sortes :
18
Nœud de fin d’activité : l’exécution de l’activité
enveloppante s’achève et tout nœud ou flot actif au sein de
l’activité enveloppante est abandonné.
Si l’activité a été invoquée par un appel synchrone, un
message (reply) contenant les valeurs des paramètres de
sortie est retourné à l’appelant.
Nœud de fin de flot
Lorsqu’un flot d’exécution atteint ce nœud, il se termine,
mais n’influe pas sur sur les autres flots actifs de l’activité
enveloppante.
19
20
20
Desserrer frein à
main
Passer 1ère vitesse
Appuyer sur pédale
d’embrayage
Relâcher pédale
d’embrayage
Nœud initial
Nœud final
Nœud de bifurcation
(fork)
Nœud d‘union
(jointure)
21
Réceptionner
marchandise
Contrôler quantité
Contrôler qualité
enregistrer
Nœud de bifurcation
(fork)
Nœud d‘union
(jointure)
synchronisations Nœud initial
Nœud final
22
DemanderTarif
PayerLePrix DemanderDélai
[sommeDisp < tarif] [ELSE]
Branchement conditionnel
Garde = expression conditionnelle
Exemple de branchement conditionnel IF – THEN – ELSE
(Nœud de décision)
23
réceptionnerArticle
vérifierArticle
commanderArticle
* (pour chaque Article)
réceptionnerArticle
vérifierArticle
commanderArticle
[il reste des articles]
[il n’a plus d’articles]
Schémas équivalents : itération
= nœud d’activité qu’on peut exécuter (i.e. une activité). Il
gère également les exceptions.
Nœud d’exécution
Enter un
code
 nœud d’action = nœud d’exécution = l’unité
fondamentale de fonctionnalité exécutable dans une
activité.
Exécution d’une action = transformation ou calcul dans
le système modélisé. Les actions sont généralement liées
à des opérations qui sont directement invoquées. Un
nœud d’action doit avoir au moins un arc entrant.
Graphiquement :
24
Nœud d’objet (object node) : on a vu la modélisation
des flot de contrôle dans un diagramme d’activités. Les
flots de données sont un élément essentiel des
traitements dans un diagramme d’activités :
représentent les arguments des opérations, les valeurs de
retour, par exemple.
Un nœud d’objet permet de définir un flot d’objet (les
données) dans un diagramme d’activités. Ce nœud
représente l’existence d’un objet généré par une action
dans une activité et utilisé par d’autres actions.
Nœud d’objets
25
- Les Pins d’entrée ou de sortie : les nœuds d’objets sont pour
spécifier les valeurs passées en argument à une activité et ses
valeurs de retour. On les appelle les pins (d’entrée ou de
sortie).
- L’activité ne peut débuter que si l’on affecte une valeur aux
différents pins d’entrée. Quand l’activité se termine, une
valeur est à chacun des pins de sortie.
- Le passage des paramètres se fair par valeurs, c-à-d que la
modification des valeurs d’entrée au cours du traitement de
l’action est visible seulement à l’intérieur de l’activité.
- Graphiquement :
26
Une transition matérialise le passage d’une activité vers une
autre. Graphiquement, les transitions sont représentées par
des flèches en traits pleins qui lient les activités entre elles.
Une transition est déclenchée dès que l’activité source est
terminée et provoque immédiatement le début de la
prochaine activité.
Les transitions sont franchies de manière atomique (durée
négligeable), ce qui n’est pas le cas des activités.
Les transitions
27
Exemple :
Graphiquement :
28
Activité-1 Activité-2
Transition automatique
établirFacture envoyerFacture
29
insererCarte
saisirCode
[codeInvalide et essais<4]
[codeValide]
choisirOperation
[retrait]
[depot]
saisirMontant
choisirCompteAcrediter
insererCheque/Liquide
restituerCarte
saisirMontant
choisirCompteAcrediter
afficherLesOffres vérifierProvisionCompte
[nonAutorisé]
[autorisé]
distribuerBillets
[codeInvalide et essais >3]
Exemple de diagramme d’activités : utiliser un DAB
30
client
commanderProduit
gererCommande
expedierProduit
recevoirProduit
reglerFacture encaisserFacture
commande
commande
[passée]
[reglée]
Etat de l’objet
Couloirs d’activités (swimlanes)
départ
fin
fournisseur
Flot d’objets
Couloirs d’activités ou swimlanes :
Ils représentent les acteurs qui
exécutent les activités.
31
passerCommande verifierDisponibilité
consulterTarif
devis
evaluerDevis
[valider]
[modifier]
[annuler]
établirFacture
préparerCommande
Facture
[émise]
Facture
[réglée]
réglerFacture
validePaiement
expédierCommande
clôturerDossier
client serviceComptabilité serviceLivraison
établirDevis
Autre exemple
GérerCommande
32
enregisterCommande
envoyerFacture
enregisterPaiement
payerFacture
Service comptable client
Exemple Simplifié:
Swimlanes (couloirs d’activités)
33
Nœud d’action :
« Accept event »
« Send signal »
« Accept time event »
détecterArrivéeTrain
faireClignoterFeux
abaisserBarrière
Attendre 5 sec
Représentation de
certaines actions de
communication
qui ont une notation
spéciale
Partie d’un diagramme d’activités
L. Audibert
M. Blay-Fornarino
Ch. Gnao
S. Graïne
Wikipédia
Références : cours de
34
35
Diagramme d’états-transitions
(diagramme d’états)
36
• Un diagramme états-transitions est un automate à états finis, qui décrit les
différents états par lesquels passe un objet (instance quelconque d’une
classe) en réponse à des événements
•permet de décrire les changements d'états d'un objet, en réaction aux
interactions avec d'autres objets ou avec des acteurs.
• représente les interactions asynchrones dans le système.
• détermine les états stables par lesquels passe le système : parmi beaucoup
d’états caractérisant un système, seuls quelques uns sont significatifs pour
le problème donné
• caractéristique d’un état : sa durée et sa stabilité, il représente une conjonction
des valeurs des attributs d'un objet.
• une transition représente le passage d'un état vers un autre.
37
38
État initial État final
État-1 État-n
CREATE DESTROY
Un objet est caractérisé par un ensemble d’attributs, qui changent
de valeur au cours du temps.
Les valeurs des attributs = l’état de l’objet
• Une transition est déclenchée par un événement :
l'arrivée d'un événement conditionne la transition
(la transition est automatique lorsqu'on ne spécifie pas
l'événement qui la déclenche)
• On peut conditionner le franchissement d’une transition,
à l'aide de «gardes», qui sont des expressions booléennes,
exprimées en langage naturel et encadrées par des
crochets.
39
Graphiquement : Etat-Transition-événement
40
État final
État-i État-j
CREATE DESTROY
événement
On peut associer une action à un événement qui va déclenche
une transition :
La syntaxe est la suivante :
Evénement / Action
Evénement/action
 A l’arrivée d’un événement, l’action est déclenchée
41
Les 3 notions sur lesquelles est basé un
diagramme d’états :
1. état d’un objet (situation d’un objet définie par
ses propriétés)
2. événement
3. comportement des objets (leurs actions et leurs
activités).
42
Rmq : la dynamique du système est modélisée par plusieurs
diagrammes d’états-transitions.
On construit un diagramme d’états-transitions pour chaque
classe (ou classeur, en général), qui possède un comportement
dynamique important.
Un diagramme d’états-transitions ne peut être associé qu’à
une seule classe.
État initial (à sa création, un objet entre dans un pseudo-état : l’état initial)
(Comme dans un diagramme d’activités)
État final est un pseudo-état qui indique la fin d’un diagramme d’états.
(Comme dans un diagramme d’activités)
43
Événement
Un événement se produit pendant l’exécution du système modélisé. Les
diagrammes d’états-transitions permettent de spécifier les réactions d’un
système à des événements discrets (comme les signaux). Un événement a une
durée négligeable.
Quand un événement est reçu, une transition peut être déclenchée et faire passer
l’objet dans un autre état.
 Plusieurs types d’événements explicites et implicites : signal, appel de
méthode, …
Syntaxe :
<nom_evenement> ( [ <param1> : <type> [; <param2> : <type> ... ] ] )
1. Événement Signal :
Un signal matérialise une communication
asynchrone à sens unique entre deux
objets.
Un même objet peut être à la fois
expéditeur et destinataire.
44
Interruption d’E/S
<<signal>>
<<signal>> <<signal>>
souris
clavier
+ Periph : int
+ abs : int
+ ord : int + caract : int
2. Événement d’appel : call event
Il représente la réception d’un appel d’une opération (méthode) par un objet.
Paramètres de l’opération = paramètres de événement appelant.
Syntaxe d’un événement d’appel = syntaxe d’un signal.
Les événements appelants sont des méthodes déclarées au niveau du diagramme de
classes.
3. Événement de changement : change
généré quand une condition (sur des valeurs d’attributs) devient VRAIE.
syntaxe : when ( <condition_booléenne> )
Les événements de création et de destruction d’objets («create» et «destroy»)
sont deux cas spéciaux d’événements d’appel.
La création d’un objet débute par l’envoi d’un événement de création
(«create») à sa classe. L’objet commence à exister dans son état initial et finit à
son arrivée dans l’état final (sa disparition, «destroy»).
45
4. Événement temporel : after ou when
générés par le passage du temps,
Spécifiés de manière absolue (date précise), ou relative (durée).
syntaxe événement temporel spécifié de manière relative : after ( <durée> )
Syntaxe événement temporel spécifié de manière absolue : when ( date = <date> )
46
Elle définit la réponse d’un objet à l’occurrence d’un événement.
Souvent, elle relie deux états.
Elle indique qu’un objet dans un état E1 peut entrer dans l’état E2 et exécuter certaines
activités, si un événement déclencheur se produit et que la condition de garde est
vérifiée.
Syntaxe : [ <événement> ][ '[' <garde> ']' ] [ '/' <activité> ]
où « garde » est une expression booléenne sur les attributs de l’objet ou sur les
paramètres des événements déclencheurs
Transition
Lorsqu’une transition se déclenche (tir d’une transition), son effet (l’activité
spécifiée après ’/’ ) s’exécute. Elle peut être :
•une opération simple (comme une assignation)
•l’envoi d’un signal ;
•l’appel d’une opération ;
•une liste d’activités, etc.
47
Transition interne
Sont déclenchées par des règles similaires à celles des transitions externe,
mais une transition interne ne possède pas d’état cible et l’état reste le même
à la suite du déclenchement.
Syntaxe = la même que celle d’une transition classique. Mais, les transitions
internes ne sont pas représentées par des arcs, elles sont spécifiées dans un
compartiment. Exemple :
48
S
SaisieMotDePasse
entry / set echo Invisible
exit / set echo normal
character / traiterCaractère
help / afficherAide
clear / remise à zéro chrono et password après 30 sec / exit
Les transitions internes ont des noms prédéfinis : entry, exit, do et include :
entry : permet de spécifier une activité qui s’exécute quand on entre dans l’état.
exit : permet de spécifier une activité qui s’exécute quand on sort de l’état.
do : commence dès que l’activité entry est terminée. Si une transition se
déclenche pendant que l’activité do est en cours, cette dernière est
interrompue et l’activité exit de l’état s’exécute.
include : permet d’invoquer un sous-diagramme d’états-transitions.
49
Point de jonction
Sans point de jonction
Avec point de jonction
50
51
saisirFormulaire demanderConfirmation
afficherProblème
go/testerEntrée
[valide]
[else]
Point de décision (comme dans un diagramme d’activités)
H*
lavage
séchage
lustrage
attente
reprise
arretD’urgence
after(5 mn)
after(5 mn)
after(3 mn)
after(3 mn)
arretD’urgence
État historique : est un pseudo-état
qui mémorise le dernier sous-état actif d’un
état composite.
Graphiquement : cercle contenant un H.
H* : pour représenter un état historique
imbriqué.
Notation abrégée : pour indiquer qu’un état est composite et
que sa définition est donnée sur un autre diagramme.
État composite = état décomposé en régions contenant chacune un ou
plusieurs sous-état(s).
Associer un fournisseur aux
produits fournis
52
53

Contenu connexe

Similaire à Support de cours Conception orientée objets - partie 2.pdf

Systemes sequentiels-grafcet-www.cours-online.com
Systemes sequentiels-grafcet-www.cours-online.comSystemes sequentiels-grafcet-www.cours-online.com
Systemes sequentiels-grafcet-www.cours-online.commorin moli
 
Transformations ponctuelles.ppt
Transformations ponctuelles.pptTransformations ponctuelles.ppt
Transformations ponctuelles.pptFerielSayah1
 
Diagramme d'état transition
Diagramme d'état transitionDiagramme d'état transition
Diagramme d'état transitionabdoMarocco
 
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdfChapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdfRimaAlaya
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdlyassinesmz
 
Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithmemustapha4
 
Chapitre4_ConceptionDynamique (1).pptx
Chapitre4_ConceptionDynamique (1).pptxChapitre4_ConceptionDynamique (1).pptx
Chapitre4_ConceptionDynamique (1).pptxfatmaezzahranouioui
 
Geti 2101 activity_diagrams
Geti 2101 activity_diagramsGeti 2101 activity_diagrams
Geti 2101 activity_diagramsChebil Hanen
 
UML Part 6 diagramme etat transition mansouri
UML Part 6 diagramme etat transition mansouriUML Part 6 diagramme etat transition mansouri
UML Part 6 diagramme etat transition mansouriMansouri Khalifa
 
systeme automatises de production
systeme automatises de production systeme automatises de production
systeme automatises de production omar bllaouhamou
 
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdfDiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdfMbarkiIsraa
 
Les bases de la compréhension grafcet
Les bases de la compréhension grafcetLes bases de la compréhension grafcet
Les bases de la compréhension grafcetmorin moli
 
Java1_BasesLangage.pdf
Java1_BasesLangage.pdfJava1_BasesLangage.pdf
Java1_BasesLangage.pdfLarbaSAWADOGO2
 
Java1_BasesLangage.pdf
Java1_BasesLangage.pdfJava1_BasesLangage.pdf
Java1_BasesLangage.pdfLarbaSAWADOGO2
 

Similaire à Support de cours Conception orientée objets - partie 2.pdf (20)

Systemes sequentiels-grafcet-www.cours-online.com
Systemes sequentiels-grafcet-www.cours-online.comSystemes sequentiels-grafcet-www.cours-online.com
Systemes sequentiels-grafcet-www.cours-online.com
 
Api
ApiApi
Api
 
Transformations ponctuelles.ppt
Transformations ponctuelles.pptTransformations ponctuelles.ppt
Transformations ponctuelles.ppt
 
Diagramme d'état transition
Diagramme d'état transitionDiagramme d'état transition
Diagramme d'état transition
 
Rappel grafcet p_systeme
Rappel grafcet p_systemeRappel grafcet p_systeme
Rappel grafcet p_systeme
 
Chapitre 4 grafcet
Chapitre 4 grafcetChapitre 4 grafcet
Chapitre 4 grafcet
 
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdfChapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
 
Le grafcet
Le grafcetLe grafcet
Le grafcet
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
 
Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithme
 
Lustre
LustreLustre
Lustre
 
Chapitre4_ConceptionDynamique (1).pptx
Chapitre4_ConceptionDynamique (1).pptxChapitre4_ConceptionDynamique (1).pptx
Chapitre4_ConceptionDynamique (1).pptx
 
Geti 2101 activity_diagrams
Geti 2101 activity_diagramsGeti 2101 activity_diagrams
Geti 2101 activity_diagrams
 
UML Part 6 diagramme etat transition mansouri
UML Part 6 diagramme etat transition mansouriUML Part 6 diagramme etat transition mansouri
UML Part 6 diagramme etat transition mansouri
 
systeme automatises de production
systeme automatises de production systeme automatises de production
systeme automatises de production
 
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdfDiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
DiagrammeSequence&DiagrammaEtatTransition&DiagrammeActivité.pdf
 
Grafcet cours
Grafcet coursGrafcet cours
Grafcet cours
 
Les bases de la compréhension grafcet
Les bases de la compréhension grafcetLes bases de la compréhension grafcet
Les bases de la compréhension grafcet
 
Java1_BasesLangage.pdf
Java1_BasesLangage.pdfJava1_BasesLangage.pdf
Java1_BasesLangage.pdf
 
Java1_BasesLangage.pdf
Java1_BasesLangage.pdfJava1_BasesLangage.pdf
Java1_BasesLangage.pdf
 

Plus de YasushiTsubakik

UML-DiagrammesSequence.pdf
UML-DiagrammesSequence.pdfUML-DiagrammesSequence.pdf
UML-DiagrammesSequence.pdfYasushiTsubakik
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfYasushiTsubakik
 
UML-DiagrammesEtatsTransitions.pdf
UML-DiagrammesEtatsTransitions.pdfUML-DiagrammesEtatsTransitions.pdf
UML-DiagrammesEtatsTransitions.pdfYasushiTsubakik
 
UML-DiagrammesEtatsTransitionsSuite.pdf
UML-DiagrammesEtatsTransitionsSuite.pdfUML-DiagrammesEtatsTransitionsSuite.pdf
UML-DiagrammesEtatsTransitionsSuite.pdfYasushiTsubakik
 
UML-AssociationsDiverses-Heritage.pdf
UML-AssociationsDiverses-Heritage.pdfUML-AssociationsDiverses-Heritage.pdf
UML-AssociationsDiverses-Heritage.pdfYasushiTsubakik
 
1-UML CasUtilisation.pdf
1-UML CasUtilisation.pdf1-UML CasUtilisation.pdf
1-UML CasUtilisation.pdfYasushiTsubakik
 
UML-diagramme de classe Operations.pdf
UML-diagramme de classe Operations.pdfUML-diagramme de classe Operations.pdf
UML-diagramme de classe Operations.pdfYasushiTsubakik
 
Développement Web- PHP (partie I).pdf
Développement Web- PHP (partie I).pdfDéveloppement Web- PHP (partie I).pdf
Développement Web- PHP (partie I).pdfYasushiTsubakik
 
Développement Web- PHP (partie II).pdf
Développement Web- PHP (partie II).pdfDéveloppement Web- PHP (partie II).pdf
Développement Web- PHP (partie II).pdfYasushiTsubakik
 
Support de Cours Gestion de projets (partie 2) - Tableau de bord.pdf
Support de Cours Gestion de projets (partie 2) - Tableau de bord.pdfSupport de Cours Gestion de projets (partie 2) - Tableau de bord.pdf
Support de Cours Gestion de projets (partie 2) - Tableau de bord.pdfYasushiTsubakik
 
Planification de projet.pdf
Planification de projet.pdfPlanification de projet.pdf
Planification de projet.pdfYasushiTsubakik
 
gestion projet Planification PERT.pdf
gestion projet Planification PERT.pdfgestion projet Planification PERT.pdf
gestion projet Planification PERT.pdfYasushiTsubakik
 
Introduction Cours Gestion de projets.pdf
Introduction Cours Gestion de projets.pdfIntroduction Cours Gestion de projets.pdf
Introduction Cours Gestion de projets.pdfYasushiTsubakik
 
Les critères de performance.pdf
Les critères de performance.pdfLes critères de performance.pdf
Les critères de performance.pdfYasushiTsubakik
 
Diagramme des cas d’utilisation.pdf
 Diagramme des cas d’utilisation.pdf Diagramme des cas d’utilisation.pdf
Diagramme des cas d’utilisation.pdfYasushiTsubakik
 

Plus de YasushiTsubakik (20)

POO-JAVA-partie3.pdf
POO-JAVA-partie3.pdfPOO-JAVA-partie3.pdf
POO-JAVA-partie3.pdf
 
POO-JAVA-partie-2.pdf
POO-JAVA-partie-2.pdfPOO-JAVA-partie-2.pdf
POO-JAVA-partie-2.pdf
 
POO-JAVA-partie-1.pdf
POO-JAVA-partie-1.pdfPOO-JAVA-partie-1.pdf
POO-JAVA-partie-1.pdf
 
UML-DiagrammesSequence.pdf
UML-DiagrammesSequence.pdfUML-DiagrammesSequence.pdf
UML-DiagrammesSequence.pdf
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
 
UML-DiagrammesEtatsTransitions.pdf
UML-DiagrammesEtatsTransitions.pdfUML-DiagrammesEtatsTransitions.pdf
UML-DiagrammesEtatsTransitions.pdf
 
UML-DiagrammesEtatsTransitionsSuite.pdf
UML-DiagrammesEtatsTransitionsSuite.pdfUML-DiagrammesEtatsTransitionsSuite.pdf
UML-DiagrammesEtatsTransitionsSuite.pdf
 
UML-Scenarios.pdf
UML-Scenarios.pdfUML-Scenarios.pdf
UML-Scenarios.pdf
 
UML-Contraintes.pdf
UML-Contraintes.pdfUML-Contraintes.pdf
UML-Contraintes.pdf
 
UML-AssociationsDiverses-Heritage.pdf
UML-AssociationsDiverses-Heritage.pdfUML-AssociationsDiverses-Heritage.pdf
UML-AssociationsDiverses-Heritage.pdf
 
1-UML CasUtilisation.pdf
1-UML CasUtilisation.pdf1-UML CasUtilisation.pdf
1-UML CasUtilisation.pdf
 
UML-diagramme de classe Operations.pdf
UML-diagramme de classe Operations.pdfUML-diagramme de classe Operations.pdf
UML-diagramme de classe Operations.pdf
 
Développement Web- PHP (partie I).pdf
Développement Web- PHP (partie I).pdfDéveloppement Web- PHP (partie I).pdf
Développement Web- PHP (partie I).pdf
 
Développement Web- PHP (partie II).pdf
Développement Web- PHP (partie II).pdfDéveloppement Web- PHP (partie II).pdf
Développement Web- PHP (partie II).pdf
 
Support de Cours Gestion de projets (partie 2) - Tableau de bord.pdf
Support de Cours Gestion de projets (partie 2) - Tableau de bord.pdfSupport de Cours Gestion de projets (partie 2) - Tableau de bord.pdf
Support de Cours Gestion de projets (partie 2) - Tableau de bord.pdf
 
Planification de projet.pdf
Planification de projet.pdfPlanification de projet.pdf
Planification de projet.pdf
 
gestion projet Planification PERT.pdf
gestion projet Planification PERT.pdfgestion projet Planification PERT.pdf
gestion projet Planification PERT.pdf
 
Introduction Cours Gestion de projets.pdf
Introduction Cours Gestion de projets.pdfIntroduction Cours Gestion de projets.pdf
Introduction Cours Gestion de projets.pdf
 
Les critères de performance.pdf
Les critères de performance.pdfLes critères de performance.pdf
Les critères de performance.pdf
 
Diagramme des cas d’utilisation.pdf
 Diagramme des cas d’utilisation.pdf Diagramme des cas d’utilisation.pdf
Diagramme des cas d’utilisation.pdf
 

Dernier

Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...Faga1939
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 

Dernier (13)

Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 

Support de cours Conception orientée objets - partie 2.pdf

  • 2. Les diagrammes d’activités permettent de modéliser les traitements (adaptés à la modélisation des flots de contrôle et des flots de données). Permettent de représenter graphiquement le comportement d’une méthode ou l’exécution d’un scénario de cas d’utilisation. La représentation des diagrammes d’activités est proche de celle des diagrammes d’états-transitions, mais leur sémantique diffère. 2
  • 3. Les diagrammes d’états-transitions : adaptés aux systèmes réactifs et chaque diagramme est relatif à une classe (ou objet). Les diagrammes d’activités ne sont pas rattachés à une classe particulière. On peut attacher un diagramme d’activités à n’importe quel élément de modélisation afin de visualiser ou de décrire son comportement. Différence principale entre diagramme d’interaction et diagramme d’activités est que les premiers mettent l’accent sur le flot de contrôle d’un objet à l’autre; les seconds modélisent sur le flot de contrôle entre activités. 3
  • 4. Les diagrammes d’activité ont un pouvoir d’expression proches des langages de programmation objet. Par exemple, la spécification des actions de base comme l’affectation, les structures conditionnelles, les boucles, ainsi que des instructions particulières spécifiques à la programmation objet (appel de méthodes, exception,…). Les diagrammes d’activités peuvent être bien adaptés pour la phase de spécifications détaillées des traitements. 4
  • 6. Action, activité et Transition = éléments principaux d’un diagramme d’activité. - Action (action) = plus petit traitement qui peut être exprimé en UML, en agissant sur le système. Une action peut être rapprochée de la notion d’instruction élémentaire d’un langage de programmation (comme Java). Par exemple : une affectation de valeur à un attribut, un accès à la valeur d’une propriété, un calcul arithmétique simple, l’émission ou réception d’un signal ; 6
  • 7. Quelques types d’actions utilisées en UML Action appeler (call operation) : invocation d’une méthode sur un objet (de manière synchrone ou asynchrone). Lorsque l’action est exécutée, les paramètres sont transmis à l’objet appelé. appel asynchrone : l’action est terminée et les éventuelles valeurs de retour seront ignorées.  appel synchrone : l’appelant est bloqué pendant l’exécution de l’action jusqu’à la fin d’exécution et, le cas échéant, les valeurs de retour pourront être réceptionnées. 7
  • 8. Action envoyer (send) : crée un message et le transmet à un objet appelé. C’est un appel asynchrone (ne bloque pas l’objet appelant). Bien adapté à l’envoi de signaux (send signal). Action créer (create) ou détruire (destroy) : permet d’instancier (resp. de détruire) un objet. 8
  • 9. Activité (activity) : définit un comportement représenté par une séquence d’actions. Le flot d’exécution est modélisé par des nœuds reliés par des arcs (les transitions). Une activité est un comportement (behavior) et peuvent lui être associés des paramètres. 9
  • 10. Un nœud d’activité permet de représenter les étapes le long du flot d’une activité. Il existe trois types : 1. les nœuds d’exécution (executable node) 2. les nœuds d’objets (object node) 3. les nœuds de contrôle (control nodess). Différents types de nœuds d’activités 10
  • 11. Nœuds d’activité (activity node) et nœuds de contrôle, graphiquement : 11
  • 13. nœud de bifurcation (fourche) ou d’union (synhronisation) nœud initial nœud final nœud final de flot nœud de décision ou de fusion, 13
  • 14. Nœud de décision (decision node) = un nœud de contrôle qui permet d’effectuer un choix entre plusieurs flots sortants. - Un arc entrant et plusieurs arcs sortants. Ces derniers sont généralement dotés de conditions, appelées gardes. L’utilisation d’une garde [else] est recommandée après un nœud de décision. Dans le cas où plusieurs arcs sont franchissables (i.e. plusieurs conditions de garde sont vraies), seul l’un d’entre eux est retenu et ce choix est non déterministe. Graphiquement : 14
  • 15. Nœud de fusion (merge node) = nœud de contrôle qui rassemble plusieurs flots entrants en un seul flot sortant. Il n’est pas utilisé pour synchroniser des flots concurrents (rôle du nœud d’union), mais pour choisir un flot parmi plusieurs. Graphiquement : idem qu’un nœud de décision : 15
  • 16. Nœud de bifurcation ou de débranchement (fork node) = nœud de contrôle qui sépare un flot en plusieurs flots concurrents. : il possède un arc entrant et plusieurs arcs sortants. Graphiquement : 16
  • 17. Nœud d’union ou de jointure (join node) = nœud de contrôle qui synchronise plusieurs flots entrants : il possède plusieurs arcs entrants et un seul arc sortant. Lorsque tous les arcs entrants sont activés, l’arc sortant es activé. Graphiquement, représenté comme un nœud de bifurcation : Remarque Il est possible de fusionner un nœud de bifurcation et un nœud d’union : trait plein avec plusieurs arcs entrants et plusieurs arcs sortants : 17
  • 18. Nœud initial = nœud de contrôle à partir duquel le flot débute lorsque l’activité est invoquée. Une activité peut avoir plusieurs nœuds initiaux. Un nœud initial possède un arc sortant et pas d’arc entrant. Nœud final = un nœud de contrôle possédant un ou plusieurs arcs entrants et aucun arc sortant.  2 sortes : 18
  • 19. Nœud de fin d’activité : l’exécution de l’activité enveloppante s’achève et tout nœud ou flot actif au sein de l’activité enveloppante est abandonné. Si l’activité a été invoquée par un appel synchrone, un message (reply) contenant les valeurs des paramètres de sortie est retourné à l’appelant. Nœud de fin de flot Lorsqu’un flot d’exécution atteint ce nœud, il se termine, mais n’influe pas sur sur les autres flots actifs de l’activité enveloppante. 19
  • 20. 20 20 Desserrer frein à main Passer 1ère vitesse Appuyer sur pédale d’embrayage Relâcher pédale d’embrayage Nœud initial Nœud final Nœud de bifurcation (fork) Nœud d‘union (jointure)
  • 21. 21 Réceptionner marchandise Contrôler quantité Contrôler qualité enregistrer Nœud de bifurcation (fork) Nœud d‘union (jointure) synchronisations Nœud initial Nœud final
  • 22. 22 DemanderTarif PayerLePrix DemanderDélai [sommeDisp < tarif] [ELSE] Branchement conditionnel Garde = expression conditionnelle Exemple de branchement conditionnel IF – THEN – ELSE (Nœud de décision)
  • 23. 23 réceptionnerArticle vérifierArticle commanderArticle * (pour chaque Article) réceptionnerArticle vérifierArticle commanderArticle [il reste des articles] [il n’a plus d’articles] Schémas équivalents : itération
  • 24. = nœud d’activité qu’on peut exécuter (i.e. une activité). Il gère également les exceptions. Nœud d’exécution Enter un code  nœud d’action = nœud d’exécution = l’unité fondamentale de fonctionnalité exécutable dans une activité. Exécution d’une action = transformation ou calcul dans le système modélisé. Les actions sont généralement liées à des opérations qui sont directement invoquées. Un nœud d’action doit avoir au moins un arc entrant. Graphiquement : 24
  • 25. Nœud d’objet (object node) : on a vu la modélisation des flot de contrôle dans un diagramme d’activités. Les flots de données sont un élément essentiel des traitements dans un diagramme d’activités : représentent les arguments des opérations, les valeurs de retour, par exemple. Un nœud d’objet permet de définir un flot d’objet (les données) dans un diagramme d’activités. Ce nœud représente l’existence d’un objet généré par une action dans une activité et utilisé par d’autres actions. Nœud d’objets 25
  • 26. - Les Pins d’entrée ou de sortie : les nœuds d’objets sont pour spécifier les valeurs passées en argument à une activité et ses valeurs de retour. On les appelle les pins (d’entrée ou de sortie). - L’activité ne peut débuter que si l’on affecte une valeur aux différents pins d’entrée. Quand l’activité se termine, une valeur est à chacun des pins de sortie. - Le passage des paramètres se fair par valeurs, c-à-d que la modification des valeurs d’entrée au cours du traitement de l’action est visible seulement à l’intérieur de l’activité. - Graphiquement : 26
  • 27. Une transition matérialise le passage d’une activité vers une autre. Graphiquement, les transitions sont représentées par des flèches en traits pleins qui lient les activités entre elles. Une transition est déclenchée dès que l’activité source est terminée et provoque immédiatement le début de la prochaine activité. Les transitions sont franchies de manière atomique (durée négligeable), ce qui n’est pas le cas des activités. Les transitions 27
  • 28. Exemple : Graphiquement : 28 Activité-1 Activité-2 Transition automatique établirFacture envoyerFacture
  • 29. 29 insererCarte saisirCode [codeInvalide et essais<4] [codeValide] choisirOperation [retrait] [depot] saisirMontant choisirCompteAcrediter insererCheque/Liquide restituerCarte saisirMontant choisirCompteAcrediter afficherLesOffres vérifierProvisionCompte [nonAutorisé] [autorisé] distribuerBillets [codeInvalide et essais >3] Exemple de diagramme d’activités : utiliser un DAB
  • 30. 30 client commanderProduit gererCommande expedierProduit recevoirProduit reglerFacture encaisserFacture commande commande [passée] [reglée] Etat de l’objet Couloirs d’activités (swimlanes) départ fin fournisseur Flot d’objets Couloirs d’activités ou swimlanes : Ils représentent les acteurs qui exécutent les activités.
  • 33. 33 Nœud d’action : « Accept event » « Send signal » « Accept time event » détecterArrivéeTrain faireClignoterFeux abaisserBarrière Attendre 5 sec Représentation de certaines actions de communication qui ont une notation spéciale Partie d’un diagramme d’activités
  • 34. L. Audibert M. Blay-Fornarino Ch. Gnao S. Graïne Wikipédia Références : cours de 34
  • 35. 35
  • 37. • Un diagramme états-transitions est un automate à états finis, qui décrit les différents états par lesquels passe un objet (instance quelconque d’une classe) en réponse à des événements •permet de décrire les changements d'états d'un objet, en réaction aux interactions avec d'autres objets ou avec des acteurs. • représente les interactions asynchrones dans le système. • détermine les états stables par lesquels passe le système : parmi beaucoup d’états caractérisant un système, seuls quelques uns sont significatifs pour le problème donné • caractéristique d’un état : sa durée et sa stabilité, il représente une conjonction des valeurs des attributs d'un objet. • une transition représente le passage d'un état vers un autre. 37
  • 38. 38 État initial État final État-1 État-n CREATE DESTROY Un objet est caractérisé par un ensemble d’attributs, qui changent de valeur au cours du temps. Les valeurs des attributs = l’état de l’objet
  • 39. • Une transition est déclenchée par un événement : l'arrivée d'un événement conditionne la transition (la transition est automatique lorsqu'on ne spécifie pas l'événement qui la déclenche) • On peut conditionner le franchissement d’une transition, à l'aide de «gardes», qui sont des expressions booléennes, exprimées en langage naturel et encadrées par des crochets. 39
  • 40. Graphiquement : Etat-Transition-événement 40 État final État-i État-j CREATE DESTROY événement
  • 41. On peut associer une action à un événement qui va déclenche une transition : La syntaxe est la suivante : Evénement / Action Evénement/action  A l’arrivée d’un événement, l’action est déclenchée 41
  • 42. Les 3 notions sur lesquelles est basé un diagramme d’états : 1. état d’un objet (situation d’un objet définie par ses propriétés) 2. événement 3. comportement des objets (leurs actions et leurs activités). 42
  • 43. Rmq : la dynamique du système est modélisée par plusieurs diagrammes d’états-transitions. On construit un diagramme d’états-transitions pour chaque classe (ou classeur, en général), qui possède un comportement dynamique important. Un diagramme d’états-transitions ne peut être associé qu’à une seule classe. État initial (à sa création, un objet entre dans un pseudo-état : l’état initial) (Comme dans un diagramme d’activités) État final est un pseudo-état qui indique la fin d’un diagramme d’états. (Comme dans un diagramme d’activités) 43
  • 44. Événement Un événement se produit pendant l’exécution du système modélisé. Les diagrammes d’états-transitions permettent de spécifier les réactions d’un système à des événements discrets (comme les signaux). Un événement a une durée négligeable. Quand un événement est reçu, une transition peut être déclenchée et faire passer l’objet dans un autre état.  Plusieurs types d’événements explicites et implicites : signal, appel de méthode, … Syntaxe : <nom_evenement> ( [ <param1> : <type> [; <param2> : <type> ... ] ] ) 1. Événement Signal : Un signal matérialise une communication asynchrone à sens unique entre deux objets. Un même objet peut être à la fois expéditeur et destinataire. 44 Interruption d’E/S <<signal>> <<signal>> <<signal>> souris clavier + Periph : int + abs : int + ord : int + caract : int
  • 45. 2. Événement d’appel : call event Il représente la réception d’un appel d’une opération (méthode) par un objet. Paramètres de l’opération = paramètres de événement appelant. Syntaxe d’un événement d’appel = syntaxe d’un signal. Les événements appelants sont des méthodes déclarées au niveau du diagramme de classes. 3. Événement de changement : change généré quand une condition (sur des valeurs d’attributs) devient VRAIE. syntaxe : when ( <condition_booléenne> ) Les événements de création et de destruction d’objets («create» et «destroy») sont deux cas spéciaux d’événements d’appel. La création d’un objet débute par l’envoi d’un événement de création («create») à sa classe. L’objet commence à exister dans son état initial et finit à son arrivée dans l’état final (sa disparition, «destroy»). 45
  • 46. 4. Événement temporel : after ou when générés par le passage du temps, Spécifiés de manière absolue (date précise), ou relative (durée). syntaxe événement temporel spécifié de manière relative : after ( <durée> ) Syntaxe événement temporel spécifié de manière absolue : when ( date = <date> ) 46
  • 47. Elle définit la réponse d’un objet à l’occurrence d’un événement. Souvent, elle relie deux états. Elle indique qu’un objet dans un état E1 peut entrer dans l’état E2 et exécuter certaines activités, si un événement déclencheur se produit et que la condition de garde est vérifiée. Syntaxe : [ <événement> ][ '[' <garde> ']' ] [ '/' <activité> ] où « garde » est une expression booléenne sur les attributs de l’objet ou sur les paramètres des événements déclencheurs Transition Lorsqu’une transition se déclenche (tir d’une transition), son effet (l’activité spécifiée après ’/’ ) s’exécute. Elle peut être : •une opération simple (comme une assignation) •l’envoi d’un signal ; •l’appel d’une opération ; •une liste d’activités, etc. 47
  • 48. Transition interne Sont déclenchées par des règles similaires à celles des transitions externe, mais une transition interne ne possède pas d’état cible et l’état reste le même à la suite du déclenchement. Syntaxe = la même que celle d’une transition classique. Mais, les transitions internes ne sont pas représentées par des arcs, elles sont spécifiées dans un compartiment. Exemple : 48 S SaisieMotDePasse entry / set echo Invisible exit / set echo normal character / traiterCaractère help / afficherAide clear / remise à zéro chrono et password après 30 sec / exit
  • 49. Les transitions internes ont des noms prédéfinis : entry, exit, do et include : entry : permet de spécifier une activité qui s’exécute quand on entre dans l’état. exit : permet de spécifier une activité qui s’exécute quand on sort de l’état. do : commence dès que l’activité entry est terminée. Si une transition se déclenche pendant que l’activité do est en cours, cette dernière est interrompue et l’activité exit de l’état s’exécute. include : permet d’invoquer un sous-diagramme d’états-transitions. 49
  • 50. Point de jonction Sans point de jonction Avec point de jonction 50
  • 51. 51 saisirFormulaire demanderConfirmation afficherProblème go/testerEntrée [valide] [else] Point de décision (comme dans un diagramme d’activités) H* lavage séchage lustrage attente reprise arretD’urgence after(5 mn) after(5 mn) after(3 mn) after(3 mn) arretD’urgence État historique : est un pseudo-état qui mémorise le dernier sous-état actif d’un état composite. Graphiquement : cercle contenant un H. H* : pour représenter un état historique imbriqué.
  • 52. Notation abrégée : pour indiquer qu’un état est composite et que sa définition est donnée sur un autre diagramme. État composite = état décomposé en régions contenant chacune un ou plusieurs sous-état(s). Associer un fournisseur aux produits fournis 52
  • 53. 53