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

Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptxrababouerdighi
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeBenamraneMarwa
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 

Dernier (15)

Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
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
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 

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