Conseil, Services et Solutions pour l’Industrie
1. EADS Matra Datavision - Confidentiel - 11 avril 2023
Le Modèle Dynamique
Conseil, Services et Solutions pour l’Industrie
2. EADS Matra Datavision - Confidentiel - 11 avril 2023
Le Modèle Dynamique : Plan du chapitre Définition
Message, événement Vue globale sur les interactions du système
cas d’utilisation, scénario diagramme de séquence diagramme de collaboration
Diagramme d'états Synthèse du modèle dynamique et du modèle objet Diagramme d ’activités
Conseil, Services et Solutions pour l’Industrie
3. EADS Matra Datavision - Confidentiel - 11 avril 2023
Le Modèle Dynamique : Définition Décrit l'évolution au cours du temps du logiciel
Description de la vie de chaque objet dans le temps• Changement d'états des objets
– Modification des valeurs des attributs qui caractérise l'objet– Modification des liens entre objets
Montre le flux de contrôle dans le temps Séquences d'opérations à exécuter en réponse à des
événements extérieurs Interactions dans le temps entre objets
Envois de messages et réponses aux événements Appels d'opérations
Conseil, Services et Solutions pour l’Industrie
4. EADS Matra Datavision - Confidentiel - 11 avril 2023
Le Modèle Dynamique : Les diagrammes Le modèle dynamique repose sur un ensemble de
diagrammes Diagrammes de séquence ou Diagramme de collaboration pour
chaque scénario• Modéliser la collaboration de plusieurs objets dans un cas
d ’utilisation (mais pas la définition de son comportement) Un diagramme d'états pour certaines classes
• Modéliser le comportement d ’un objet
• Les diagrammes d'états sont reliés par des événements "partagés" Diagrammes d ’activités pour la description des traitements ou
les synoptiques de tâches (workflow)
Conseil, Services et Solutions pour l’Industrie
5. EADS Matra Datavision - Confidentiel - 11 avril 2023
Scénario : Définition Une séquence de messages qui correspond à une
utilisation du système Les scénarios sont créés pour des cas d ’utilisation
du système Les scénarios montrent comment est utilisé le
système ce qu'il va faire en réaction à ces messages
Eviter les alternatives (séquences conditionnelles) dans un scénario si besoin d'une alternative : faire plutôt deux scénarios
Conseil, Services et Solutions pour l’Industrie
6. EADS Matra Datavision - Confidentiel - 11 avril 2023
Exemples de scénarios
Appel téléphonique Scénario : le numéro appelé est occupé
• L'appelant décroche le téléphone• L'appelant commence à composer le numéro• L'appelant termine de composer le numéro• La tonalité "occupée" commence à sonner• L'appelant raccroche le téléphone
Scénario : le numéro appelé n'est pas occupé• L'appelant décroche le téléphone• L'appelant commence à taper le numéro• L'appelant termine de taper le numéro• Le téléphone commence à sonner• L'appelé décroche• La conversation se déroule• L'appelé raccroche le téléphone
Conseil, Services et Solutions pour l’Industrie
7. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme de séquence Représentation graphique du scénario montrant
le séquencement des messages (opération, signal) entre objets dans le scénario
Modéliser la collaboration de plusieurs objets dans un cas d ’utilisation (mais pas la définition de son comportement)
Met en évidence les messages concurrents du scénario L ’envoie d ’un message est atomique
insécable la durée de l ’envoie est considérée nulle comparée à la
granularité de l ’interaction Un objet est représenté par sa ligne de vie
une ligne de vie peut être la vue abstraite d ’un ensemble d ’objets
Conseil, Services et Solutions pour l’Industrie
8. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme de séquence: représentation
temps
décrocher
débuter tonalité
composer chiffre(n)
débuter tonalité sonnerie sonner
arrêter tonalité
...composer chiffre(n)
décrocher
arrêter tonalité sonnerie arrêter sonnerie
appelant:Personne :Ligne appelé:Personne
composer chiffre(n)
connecterconnecterraccrocher
déconnecterdéconnecter
raccrocher
ligne de vie
Un système téléphonique
L ’envoie d ’un messageest toujours horizontal
Conseil, Services et Solutions pour l’Industrie
9. EADS Matra Datavision - Confidentiel - 11 avril 2023
obj1:C1
obj2:C2
obj4:C4
obj3:C3obj5:C5
Période d ’activité.Permet de définir quel objet "à la main"
créer
mes3(w)mesA(z)
[x>0] mes1(x)
[x<=0] mes2
mes4
branchement
récursion
création
destruction
Met en évidence les processus parallèles
Conseil, Services et Solutions pour l’Industrie
10. EADS Matra Datavision - Confidentiel - 11 avril 2023
a: décrocher
b: débuter tonalité
c: composer chiffre(n)
e: débuter tonalité sonnerie
sonner
arrêter tonalité
...d: composer chiffre(n)
décrocherarrêter tonalité sonnerie arrêter sonnerie
appelant:Personne :Ligne appelé:Personne
composer chiffre(n)
connecterconnecterraccrocher
déconnecterdéconnecter
raccrocher
{b - a < 1 sec.}signifie{b.receiveTime - a.sendTime < 1 sec.}
{c - b < 10 sec.}
L ’appel est « routé » àtravers le réseau.{e - d < 5 sec.}
Définir les contraintes temporelles d'exécution
Conseil, Services et Solutions pour l’Industrie
11. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme de séquence :options de présentation Numérotation des messages
Utilisé surtout quand il y a des activités concurrentes Message asynchrone
Invocation d ’une procédure
obj1:C1 obj2:C2
obj1 garde son activité après l ’envoie du message
obj1:C1 obj2:C2
l ’activité passe de C1 à C2 jusqu ’àla terminaison de l ’activité de C2
mes
mes
Conseil, Services et Solutions pour l’Industrie
12. EADS Matra Datavision - Confidentiel - 11 avril 2023
Message avec délai de propagation quelque chose peut se produire (un message dans le sens opposé)
Itération
appelant:Personne :Ligne
débuter tonalité sonnerie
composer chiffre(n)
router flèche oblique descendante
obj1:C1 obj2:C2
mes
[x<10]
conditiond ’itération
Conseil, Services et Solutions pour l’Industrie
13. EADS Matra Datavision - Confidentiel - 11 avril 2023
Exercice UML MD0
Conseil, Services et Solutions pour l’Industrie
14. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme de collaboration
Représenter du point de vue structurel et dynamique les objets impliqués dans la mise en oeuvre “d’un but”
Modèle expliquant la coopération entre les objets utilisés pour la réalisation d’une opération ou d’un cas d’utilisation
Contient Collaboration
• Contexte structurel des participants:
– objets, classes, liens, associations, attributs Interaction
• Séquence de messages échangés entre les objets
– Numérotés
– Informations de contrôle du diagramme de séquence sont applicables
Conseil, Services et Solutions pour l’Industrie
15. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme de collaboration:numérotation simple
:Passager
:Bouton étage :Contrôleur ascenseur
:Porte:Ascenseur
1: appuyer() 2: mémoriserrequête()
3: allumer()
4: déplacer()
5: étage atteint() 6: immobiliser()
7: éteindre()
8: ouvrir()9: fermer()
objet
message
lien
Collaboration en réponse à l ’appuie sur le boutonde réquisition d ’un ascenseur
séquencement
pilote
réquisition
pilote
rôle
pilote
Conseil, Services et Solutions pour l’Industrie
16. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme de collaboration:numérotation décimale
:Passager
b/réquisition:Bouton étage ctrl/pilote:Contrôleur ascenseur
:Porte:Ascenseur
1: appuyer()1.1: mémoriser requête()
1.1.1: allumer()
1.1.2: déplacer()
1.1.2.1:étage atteint()
1.1.3: immobiliser()
1.1.4: éteindre()
1.1.5: ouvrir()1.1.6:fermer()
variante de notation du rôle
séquencement
Conseil, Services et Solutions pour l’Industrie
17. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme de collaboration:objet multiple, valeur retournée
Ensemble d ’objets du coté 0..* d ’une association Montrer qu ’un message concerne tous les objets de
l ’ensemble
Instituteur Elève*:Instituteur :Elève
1: punir()
:Client :Serveur
1: unServeur := trouver(specs)
serveurs
:Serveur
2: traiter(requête)
unServeur
valeur retournée
Conseil, Services et Solutions pour l’Industrie
18. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme de collaboration: objet actif Objet possédant son propre flot de contrôle
Peut initier des activités de contrôle
• Exemple: un processus ou une tâche Un objet passif encapsule des données mais ne peut initier un flot de contrôle
tâcheCourante:PassageTâche
:ProgrammeurUsine
:GestionnaireTâches
travail
1: débuter(travail) A2,B2 / 2: achevé(travail)
{local} travail :GestionnaireUsine
:Robot :Four
1 / B1: débuter(travail) 1 / A1: débuter(travail)B2: achevé A2: achevé
objet actif
le message « achevé » est envoyé lorsque les envois A2 et B2 ont été satisfaits
Collaboration lors du processus de travail dans une usine
Conseil, Services et Solutions pour l’Industrie
19. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme de collaboration:flot de messages
Envoi d ’un message d ’un objet à l ’autre Implémentation
appel de procédure, signal entre threads actifs, l ’occurence d ’un événement
Notation du type de flot appel de procédure ou imbrication :
flot plat indiquant le séquencement - normalement asynchrone - :
flot asynchrone; pour montrer explicitement l ’asynchronisme entre deux objets dans une séquence synchrone :
Conseil, Services et Solutions pour l’Industrie
20. EADS Matra Datavision - Confidentiel - 11 avril 2023
4: afficher(x, y)message simple
1.2.1: afficher(x, y,z)message imbriqué
3: pression := calculer(température)
message simple avec valeur retournée
[âge >= 18ans] 2.1: voter()
synchronisation avec d ’autres flots4.A,B.6 / C.1: allumer()
message conditionnel
1*: laver()itération simple
1*[i:=1..n]: laver()
itération avec clause d ’itération
A2,A1 /1 *||[i:=1..n]: éteindre()envoi parallèle - diffusion -
Conseil, Services et Solutions pour l’Industrie
21. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme de collaboration vsDiagramme de séquence
Séquence Emphase sur le séquencement : ordre évident des messages Simplicité
• Mais si ajout de conditions/alternatives/boucles perd sa lisibilité Collaboration
Emphase sur la structure : indique comment les objets sont liés Lequel ?
dépend du goût du développeur A propos des comportements conditionnels
Intégrer les conditions dans le même diagramme ?
ou Un diagramme séparé pour chaque conditions (chaque scénarios) ? Les diagrammes de séquence sont optimums quand le comportement est
simple
Conseil, Services et Solutions pour l’Industrie
22. EADS Matra Datavision - Confidentiel - 11 avril 2023
Synthèse des messages Consolide l'ensemble des messages entre objets
Ne montre pas le séquencement Intègre tous les scénarios Synthèse des dépendances dynamiques entre objets.
décrochercomposer chiffre(n)raccrocher
sonnerarrêter sonnerieconnecterdéconnecter
décrocherraccrocher
débuter tonalitéarrêter tonalitédébuter tonalité sonneriearrêter tonalité sonnerieconnecterdébuter sonnerie occupée
appelant:Personne :Ligne
appelé:Personne
Conseil, Services et Solutions pour l’Industrie
23. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d'Etats Un diagramme d'états est associé à une classe
Il est valable pour tous les objets de cette classe• toutes les instances se comporteront de la même façon
Il contient tous les scénarios possibles dans lesquels la classe est considérée
Un scénario correspond à un chemin dans un diagramme d'état
Conseil, Services et Solutions pour l’Industrie
24. EADS Matra Datavision - Confidentiel - 11 avril 2023
Exemple simple de diagramme d'états
menu inactif menu visible
bouton droit enfoncé
bouton droit levé
déplacement curseur
Diagramme d'états d'un Menu Fantôme (popup)
Conseil, Services et Solutions pour l’Industrie
25. EADS Matra Datavision - Confidentiel - 11 avril 2023
Evénement : Définition
Représente un moyen pour transmettre de l'information Se produit à un instant donné N'a pas de durée (par rapport à la durée de l'état)
Peut être :• Le déclenchement d'une action du système• Un signal externe: l'envoi d'un message par un objet• Une condition sur un ou plusieurs attributs
Conseil, Services et Solutions pour l’Industrie
26. EADS Matra Datavision - Confidentiel - 11 avril 2023
Evénement : Exemples Actions sur le système
"Sauvegarder", "Copier", "Coller" ... Signal externe
"time-out", "bouton appuyé", "bouton levé"... Condition
"Seuil dépassé", "valeur illégale"...
veille
sommeilalarme
désactiverheure atteinte
time-out
Diagramme d'états d'un réveil-matin
Conseil, Services et Solutions pour l’Industrie
27. EADS Matra Datavision - Confidentiel - 11 avril 2023
Etat d'un objet Contexte pendant lequel l'objet est susceptible de traiter des
événements reçus Un état est caractérisé par des valeurs d'attributs et/ou de liens Un objet répond ou non à un événement en fonction de son état
s'ouvrant
ouvertefermée
se fermant
bouton ouvertureporte ouverte
bouton fermetureporte fermée
bouton ouverture
Diagramme d'états d'une porte automatique
Etat initial
Etat
Conseil, Services et Solutions pour l’Industrie
28. EADS Matra Datavision - Confidentiel - 11 avril 2023
Transition entre états Transition
Un événement est instantané, un état a une durée L'objet passe d'un état à un autre en réponse à un
événementDiagramme d'états d'un Menu Fantôme (popup)
menu inactif menu visible
bouton droit enfoncé
bouton droit levé
déplacement curseur
Evénement
Transitionquitter
Etat final
Conseil, Services et Solutions pour l’Industrie
29. EADS Matra Datavision - Confidentiel - 11 avril 2023
Transition conditionnelle Transition accompagnée d'une condition
s'effectue si condition vraie
Axe Nord/Sud ouvert Nord/Sud gauche ouvert
Feux N/S : Rouge
Flèches gauche N/S : Vert
Feux E/O : Rouge
Flèches gauche E/O : Rouge
Feux N/S : Vert
Flèches gauche N/S : Rouge
Feux E/O : Rouge
Flèches gauche E/O : Rouge
Est/Ouest gauche ouvert
Feux N/S : Rouge
Flèches gauche N/S : Rouge
Feux E/O : Rouge
Flèches gauche E/O : Vert
Axe Est/Ouest ouvert
Feux N/S : Rouge
Flèches gauche N/S : Rouge
Feux E/O : Vert
Flèches gauche E/O : Rouge
time-out time-out
time-out [N/S occupé]
time-out [E/O occupé]
time-out [N/S libre]
time-out [E/O libre]
Diagramme d'états d'un système de feux de carrefour avec détection d'occupation
Nord
Sud
Ouest Est
Conseil, Services et Solutions pour l’Industrie
30. EADS Matra Datavision - Confidentiel - 11 avril 2023
Action Traitement instantané et non interruptible
sa durée n'est pas significative Associée à un événement et exécutée lors de la transition
(formalisme de Mealy issu de SA/RT) Associée à un état et exécutée en entrant ou en sortant
afficherMenu est l'action qui s'exécute pendant cette transition
menu inactifmenu visible
entry/ positionnerDébut
bouton droit enfoncé / afficherMenu
bouton droit levé / effacerMenudéplacement curseur / positionnerItem
positionnerDebut est l'action qui s'exécute en entrant dans cet état
Conseil, Services et Solutions pour l’Industrie
31. EADS Matra Datavision - Confidentiel - 11 avril 2023
Activité
Traitement de durée finie ou non Interruptible par un événement Exécutée durant un état
(formalisme de Moore issu de OOA de Shlaer/Mellor)
compositiondu numéro
Connexion en cours
do/ trouverConnexion
sonnerie
do/ faireSonnerconnecté
numéro valide
connexion faite
l'appelé décroche
Diagramme d'états d'une ligne téléphonique (partiel)
faireSonner est l'activité qui s'exécute pendant cet état
Conseil, Services et Solutions pour l’Industrie
32. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d'états : notations
Réservation
do/ trouverHoraire
entry / débuterTrans
exit / finirTrans
Proposition
do/ imprimerContrat
Agence
réserverOption
Autre syntaxe possible :
- proposer(horaire, trajet)[prix accepté] ^réserverOption : Transporteur / emettreOption
classe externeconcernée par l'état de l'objet
Transporteur
envoyerHoraire
événement généré par l'activité
proposer( horaire, trajet) [prix accepté] / emettreOption
événement généré pendant la transition
Evénement avec paramètres, condition et action
Evénement avec paramètres, condition, événement généré et action
Action en fin et endébut d'état.
Vue partielle d ’une borne interactive de réservation
Conseil, Services et Solutions pour l’Industrie
33. EADS Matra Datavision - Confidentiel - 11 avril 2023
Variables d'états Attributs manipulés dans un diagramme d'états
Leurs valeurs déterminent chaque état du diagramme Paramètres du diagramme d'états
Les opérations (actions et activités) du diagramme d'états
ont pour variables et arguments : Les variables d'états Les arguments des événements
Axe Nord/Sud ouvert
Feux N/S : Vert
Flèches gauche N/S : Rouge
Feux E/O : Rouge
Flèches gauche E/O : Rouge
Description des états du système de feux de carrefour avec 4 variables d'état.
Conseil, Services et Solutions pour l’Industrie
34. EADS Matra Datavision - Confidentiel - 11 avril 2023
Exercice UML/MD1
Conseil, Services et Solutions pour l’Industrie
35. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d'états structuré : objectifs
Structurer les diagrammes d'états dans un système complexe Eviter l'explosion combinatoire des transitions
Assemblage d'états Décomposition en sous-diagrammes
Généralisation d'états regroupement des états au comportement commun,
dans un super-état Possibilité d'y associer une généralisation
d'événements.
Conseil, Services et Solutions pour l’Industrie
36. EADS Matra Datavision - Confidentiel - 11 avril 2023
Assemblage d'états Assemblage d'états ou diagrammes imbriqués
Structurer le diagramme en sous-diagrammes avec un minimum de communication entre eux
A partir d'un diagramme de haut niveau, chaque état peut être redétaillé par un sous-diagramme
Un sous-diagramme est nommé possède obligatoirement un état initial et un état final son événement de sortie est le seul visible à niveau
supérieur.
Conseil, Services et Solutions pour l’Industrie
37. EADS Matra Datavision - Confidentiel - 11 avril 2023
Exemple d'un assemblage d'états
inactifcomposition
Numéro connexiondécrocher numéro composé
tonalité
do/jouer tonalité
do/ EnregisterNuméro
composerchiffre(n)
composition Numéro
composerchiffre(n)
[numéro valide] ^numéro composé
Evénement généré
Diagramme d'états de niveau supérieur
Sous-Diagramme pour l'état composition Numéro
nom du sous-diagramme
entrée du sous-diagramme
Conseil, Services et Solutions pour l’Industrie
38. EADS Matra Datavision - Confidentiel - 11 avril 2023
Généralisation d'états
Généralisation d'états en un super-état Généralisation d'états aux caractéristiques
communes L'état de l'objet peut être l'un des sous-états du
super-état Les sous-états héritent des transitions du super-état Un super-état peut avoir un état initial et/ou un état
final
Conseil, Services et Solutions pour l’Industrie
39. EADS Matra Datavision - Confidentiel - 11 avril 2023
Exemple d'une généralisation d'états
point-mort
Diagramme d'états d'une boîte de transmission automatique
arrière
première seconde troisième
stop
avantplus
moins
passer point-mort
passer marche-avant
passerpoint-mort
passer marche-arrière
Super-état "avant"
Transitions généralisées à tous les états dérivés
plus
moins
Transition généralisée
Bilan des transitions généralisées
• passer marche-avant depuis l'état "point mort" fait transiter dans le super-état "avant", sous-état "première".• stop fait transiter tous les sous-états de l'état "avant" dans le sous-état "première".• passer point-mort fait transiter tous les sous-états de l'état "avant" dans l'état "point-mort"
Conseil, Services et Solutions pour l’Industrie
40. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d'états et agrégat
L'état d'un objet agrégat est l'union des états de ses composants Les composants concurrents changent d'état indépendamment les uns des
autres Diagramme d'états et agrégat de classes
Un diagramme d'état pour un objet agrégat est l'ensemble des diagrammes d'états de ses composants
Un état de l'objet assemblé est un assemblage d'états de ses "parties". Les états composants ne sont plus concurrents lorsqu'une transition
s'exprime par une condition dépendante d'un autre composant
Voiture
AccélérationAllumageTransmission
Agrégat
Relation d'agrégat du modèle objet
Composant
Conseil, Services et Solutions pour l’Industrie
41. EADS Matra Datavision - Confidentiel - 11 avril 2023
Exemple d'un diagramme d'états assemblés
Un état de Voiture est composée
d'un état de Accélération + d'un état de Transmission + d'un état d'allumage
Off
OnDémarrage
tourner clé[transmission aupoint mort]
lâcher clé
tourner clé pour arrêter
Allumage
point-mort arrière
première seconde troisième
stop
avantplus
moins
passer point-mort
passer marche-avant
passerpoint-mort
passer marche-arrière
plus
moins
Transmission
Off
On
appuyée
levée
Accélération
Conseil, Services et Solutions pour l’Industrie
42. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d'état etgénéralisation de classe
Un diagramme d'états est hérité Héritage des états, des transitions, de la réponse aux
événements Diagramme d'états supplémentaire d'une classe
dérivée Utilisent des attributs différents de la super-classe
Surcharge du diagramme d'états Permet d'exprimer une spécialisation par restriction
Conseil, Services et Solutions pour l’Industrie
43. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d'états et concurrence intra-objet Concurrence à l'intérieur d'un état d'un objet Divisions des attributs et des liens en sous-ensembles
• Chaque sous-ensemble a un comportement dynamique propre• Un sous-diagramme d'états par sous-ensemble
L'état de l'objet est composé d'un état de chaque sous-diagramme
Un même événement peut provoquer des transitions
dans plusieurs sous-diagrammes
Conseil, Services et Solutions pour l’Industrie
44. EADS Matra Datavision - Confidentiel - 11 avril 2023
Exemple d'un diagramme de concurrence intra-objet Affichage de l'heure, de la température et de la température cible
par un thermostat• Un état du thermostat est composé des états
– 1) "affichage heure" ou "affichage température"– 2) "affichage température cible"
• Les états 1 et 2 sont concurrents
concurrencedémarrer
do/ Afficher Heure do/ Afficher Température2 seconde
2 seconde
Affichage Température cible
do/ Afficher Température cible
édition( température) / changerTempératureCible
Sous-diagramme d'états Interface utilisateur d'un thermostat
En fonctionnement
Conseil, Services et Solutions pour l’Industrie
45. EADS Matra Datavision - Confidentiel - 11 avril 2023
Synchronisation d'activités intra-objet concurrentes
Plusieurs événements sont pris en compte
à partir d'un même état L'ordre d'arrivée de ces événements est quelconque
(simultané ou séquentiel) Le changement d'état n'a lieu que lorsque tous les événements
sont pris en compte L'objet doit avoir des activités simultanées Sous-diagramme d'états pour
un Distributeur de monnaie
Accordé
Emission
do/ émettre carte
do/ émettre argent
prêt
do/ fermerPanneau
carte prise
argent pris
^fin
finir Transaction
synchronisation:la carte et l'argent doivent être pris pour activer fermerPanneau
Les 2 activités sont concurrentes (donc indépendantes)
Conseil, Services et Solutions pour l’Industrie
46. EADS Matra Datavision - Confidentiel - 11 avril 2023
Synthèse du modèle dynamiqueet du modèle objet
Diagramme d'états = comportement des instances Actions et activités = opérations Transitions peuvent correspondre à des opérations
Nom de l'événement = nom de l'opération Arguments de l'événement = signature
Un diagramme d'états par classe Variables d'états = attributs ou liens
Conseil, Services et Solutions pour l’Industrie
47. EADS Matra Datavision - Confidentiel - 11 avril 2023
Synthèse entre modèle objetet modèle dynamique : Exemplemenu inactif
menu visible
entry / positionnerDébut
bouton droit enfoncé / afficher
bouton droit levé / effacer
déplacement curseur / positionnerItem
positionItem : integeractif : boolean
affichereffacerpositionnerDebutpositionnerItem( dc : DeplacementCurseur)
MenuVariables d'état
Opérations du diagramme d'états
Conseil, Services et Solutions pour l’Industrie
48. EADS Matra Datavision - Confidentiel - 11 avril 2023
Exercice UML/MD2
Conseil, Services et Solutions pour l’Industrie
49. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d ’activités: diagramme d ’états, traitement
Représenter l ’état de l ’exécution d ’un mécanisme déroulement d ’étapes regroupées séquentiellement dans des
branches parallèles de flot de contrôle Diagramme d ’états particulier
la majorité des états représentent un traitement la majorité des transitions sont tirées à la terminaison du traitement
de l ’état source Traitement
action• traitement atomique; typiquement l ’invocation d ’une opération
activité• traitement qui a une durée• constitué d ’un ensemble de traitements auxquels on peut associer un
sous-diagramme d ’activités
Conseil, Services et Solutions pour l’Industrie
50. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d ’activités:transitions, modèle Transitions
tirées par les événements suivants:• terminaison du traitement de l ’état précédent, ou• disposition d ’un objet dans un certain état, ou• l ’occurence d ’un signal, ou• la satisfaction d ’une condition
Un modèle d ’activités peut décrire principalement
• un cas d ’utilisation,• une opération
mais aussi• un acteur,• un noeud,• un paquetage• une classe• un composant
Conseil, Services et Solutions pour l’Industrie
51. EADS Matra Datavision - Confidentiel - 11 avril 2023
chercher boisson
mettre cafédans filtre
ajouter eaudans réservoir prendre tasse
prendre canettesoda
boireverser café
allumer cafetière
mettre filtredans machine
Personne::préparer boisson
[café trouvé]
[café non trouvé] [soda non trouvé]
[soda trouvé]
au moins une transition de sortie sur la complétude de l ’activité
- pas de transition interne- pas de transition de sortie étiquetée par un événement
décision: plusieurs transitions possibles dépendantes de conditions
synchronisation : fusion branche parallèle
synchronisation: ouverture branche parallèle
filtrer café
Conseil, Services et Solutions pour l’Industrie
52. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d ’activités: classes Couloir d ’activité
Distribution des activités sur des classes• montrer les différentes responsabilités au sein d ’un traitement ou
d ’une organisation Dans le business modeling, correspond à des départements différents
demander service
payer
prendre commande
remplir commande
livrer commande
percevoir commande
RéserveService ventesClient
équivalent à la ligne de vie dans le diagramme de séquence
Conseil, Services et Solutions pour l’Industrie
53. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d ’activités: relation traitement et objet
Les activités s ’opèrent sur des objets ou par des objets objets responsables d ’un traitement objets dont les valeurs sont utilisées ou déterminées par le traitement
Catégories d ’objets responsable d ’un traitement
• possède un couloir correspondant à sa ligne de vie• chaque couloir représente un objet distinct
flot• objet en entrée ou sortie d ’un traitement
en état• fréquemment, le même objet est manipulé par plusieurs activités
– apparaît plusieurs fois: chaque apparition dénotant un point différent de sa vie
Conseil, Services et Solutions pour l’Industrie
54. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d ’activités: exemple relation traitement et objet
demander service
payer
prendre commande
remplir commande
livrer commande
percevoir commande
RéserveService ventesClient
:Commande[passée]
:Commande[enregistrée]
:Commande[remplie]
:Commande[livrée]
objet flot
objet en sortie
objet en entrée
état de l ’objet (notation aussi utilisable dans diagramme de collaboration)
Conseil, Services et Solutions pour l’Industrie
55. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d ’activités: icônes de contrôle Spécifier des informations sur les transitions
Pas nécessaire mais peu aider
allumer cafetière
verser café
allumée :Cafetière
lumière éteintesignalreçu
signalenvoyé
envoyeurdu signal
récepteurdu signal
filtrer café
Conseil, Services et Solutions pour l’Industrie
56. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d ’activités: événement différé
Evénement différé pour utilisation ultérieure normalement un événement non capté est
perdu Revient à avoir une transition interne qui capte
l ’événement le met dans une file d ’attente jusqu’à ce
qu ’il soit captable ou détruit Une liste d’événement à différer par état Si une transition dépend de cet événement
est tirée immédiatement s’il est encore dans la file d ’attente
Si plusieurs transitions sont possibles, le premier événement arrivé est prioritaire
allumer cafetière
verser café
allumée
lumière éteinte
filtrer cafélumière éteinte/ defer
prendre tasselumière éteinte/ defer
Conseil, Services et Solutions pour l’Industrie
57. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d ’activités: utilisation Utile pour
le workflow les traitements parallèles
Interprétation dépend de la perspective Conception
• c ’est une tâche qui doit être faite (par un humain ou un ordinateur) Analyse/Implémentation
• c ’est une méthode de classe Permet de choisir l ’ordre des choses
spécifier les règles de séquencement Business modeling
encourage le parallélisme Concurrence
spécifie graphiquement le thread courant et quand la synchronisation à lieu
Conseil, Services et Solutions pour l’Industrie
58. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d ’activités: points forts et points faibles
Force Supporte et encourage le parallélisme
• bon outil pour le workflow et multithreading
Faiblesse Ne fait pas le lien direct entre activités et objets
• Indique ce qu ’il se passe mais ne dit pas qui le fait– le couloir de vie est là pour empêcher ça
Quand Analyser un cas d ’utilisation
• comprendre les actions qui doivent être prises Etude du workflow entre cas d ’utilisation
• lorsque les cas d ’usage interagissent ensemble Gérer du multithreading
Conseil, Services et Solutions pour l’Industrie
59. EADS Matra Datavision - Confidentiel - 11 avril 2023
Diagramme d ’activités:points forts et points faibles
Ne pas utiliser pour Modéliser la collaboration entre les objets
• utiliser un diagramme d ’interaction (séquence ou collaboration) Modéliser comment un objet se comporte au cours de sa vie
• utiliser un diagramme d ’états
Top Related