0% ont trouvé ce document utile (0 vote)
73 vues25 pages

Modèles Dynamiques et Diagrammes UML

Transféré par

Assmaa Hassan
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
73 vues25 pages

Modèles Dynamiques et Diagrammes UML

Transféré par

Assmaa Hassan
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

CHAPITRE IV

MODELE DYNAMIQUE

DIAGRAMME DE SEQUENCE,
DIAGRAMME DE COMMUNICATION
&
DIAGRAMME D’ETATS TRANSITION

"La logique vous mènera d'un point A à un point B.


L'imagination vous mènera partout "
Albert Einstein
77
IV.1 Modèle Dynamique : Définition
➢ Le modèle dynamique montre le comportement du système et
l’évolution des objets dans le temps.

➢ Le modèle dynamique identifie les différents événements


venant du monde externe et montre l'enchaînement dans le
système que provoquent ces événements externes.
➢ Evénement : Quelque chose qui se produit à un moment donné
dans le temps, et qui n'a pas de durée.
➢ Exemples : l’utilisateur décroche son téléphone, le conducteur
appuie sur un bouton.

But du modèle dynamique :


➢ Trouver les relations temporelles et événementielles entre les objets.
➢ Définir les états des objets qui déterminent une réaction différente face à
un événement.
➢ Trouver les actions effectuées par les objets suite à la réception
d’événements.

Place du modèle dynamique dans le processus de modélisation

78
IV.2 Diagrammes d'Interaction
Les diagrammes d’interaction ont pour but de modéliser la façon dont les
groupes d'objets collaborent pour réaliser un comportement donné.
➢ Représentent la collaboration entre objets pour la réalisation d'un cas
d'utilisation ou la réalisation d’une opération.
➢ Mettent en évidence l'expéditeur et le récepteur de l'événement.

➢ Chaque événement reçu par un objet devra se traduire par une


opération pour le gérer dans le diagramme de classes.

IV.2.1 Diagrammes de Séquence


➢ Montrent les interactions entre objets selon un point de vue
temporel.

➢ Le contexte des objets n'est pas représenté

IV.2.2 Diagrammes de Collaboration / Communication


➢ Montre les interactions entre objets en insistant sur la structure
spatiale statique.

➢ Exprime à la fois le contexte de groupe d'objets et l'interaction entre


ces objets.

➢ Extension du diagramme d'objets.

79
SECTION A

DIAGRAMMES DE SEQUENCE

SEQUENCES DIAGRAM

" Celui qui n'a jamais fait une erreur n'a sans doute
jamais essayé quelque chose de nouveau "
Albert Einstein
80
IV.A.1 Diagrammes de Séquence : Définition
➢ Met en évidence l'aspect temporel (haut vers le bas).
➢ Un objet a une ligne de vie représentée par une ligne verticale en
pointillé.
➢ Une flèche reçue par un objet se traduit par l’exécution d’une opération.

➢ La durée de vie de l’opération est symbolisée par un rectangle.


➢ Certains objets vivent pendant tout le diagramme, d'autres sont activés
et/ou meurent pendant la séquence.
➢ Il est possible de définir des choix et des itérations.

IV.A.2 Concepts principaux


1. Les participants (le plus souvent des objets) :

✓ Une ligne de vie


✓ Des zones d’actIV.Ation

2. Les messages
✓ L’opération et éventuellement ses paramètres

✓ Eventuellement son résultat


3. Des structures de contrôle

✓ Alt : conditionnelle
✓ Loop : boucle

✓ Réf : référence à un autre diagramme de séquence (= appel de


fonction)
✓ Etc.

IV.A.2.1 Participant : Représentation des acteurs


➢ Rectangle + Ligne de vie

➢ Nom_objet : nom_classe

81
IV.A.2.2 Messages
Communication entre les lignes de vie
➢ appel de méthode

➢ envoi d'un signal


➢ création/destruction d'une instance

Syntaxe : attribut = nom_signal_ou_op (arguments) : valeur_retournée

IV.A.2.2.1 Types de messages :


➢ Appels de méthodes ou autres méthodes d'appels synchrones

➢ Communication asynchrone : l'émetteur déclenche le stimulus et passe


immédiatement à la suite de l'exécution

82
➢ Retours de procédures (ou de méthodes) : optionnel

➢ Un objet peut s'envoyer des messages

➢ Un message peut entraîner la création ou la destruction d'objets

IV.A.2.2.2 Occurrence d'exécution


L’occurrence d’execution est aussi appelé « focus de contrôle » elle
correspond à la durée d'activité de l'objet ; ce qui représente le temps
durant lequel il est actif.

83
IV.A.2.2.3 Message trouvé; Création & Destruction d’objets

Message trouvé = émetteur inconnu


Diagrammes de séquence : Exemple Création & Destruction d’objets

IV.A.2.3 Cadre d’interaction


Cadre qui englobe une partie du DS (un fragment) pour définir un
fonctionnement non séquentiel.

➢ Alt : représente une alternative (if-then-else) ; fragment alternatif :


conditions dans les gardes.

➢ Loop : c’est une boucle; fragment à répéter tant que la condition de


garde est vrai.

➢ Opt : c’est un fragment optionnel qui sera exécuté si la garde est vraie.
➢ Par : ce sont des fragments qui s’exécutent en parallèle.

➢ Region : région critique dans laquelle un seul thread doit s’exécuter.


➢ Ref : référence : passage à un autre diagramme de séquence.

84
IV.A.2.3.1 Diagramme de séquence : Exemple cadres

Mot réservé pour déclarer un diagramme de séquence


Nom du diagramme de séquence

Contrôle et diagrammes de séquences

85
IV.A.3 Diagramme de séquence : Réserver un Livre

IV.A.4 Diagramme de Classe: Ajout des opérations dans les classes

86
SECTION B

DIAGRAMME DE
COLLABORATION ENTRE CLASSES

DIAGRAMME DE COMMUNICATION
-
COMMUNICATION DIAGRAM

" La connaissance s'acquiert par l'expérience, tout le reste


n'est que de l'information. "
Albert Einstein
87
Diagramme Collaboration / Communication
➢ Diagramme de collaboration (UML 1.X) ;
➢ Diagramme de communication (UML 2.X) ;

➢ Version simplifié du diagramme de séquence ;


➢ 2 vues différentes mais logiquement identiques : isomorphe ;

➢ Diagramme de collaboration au niveau instance = diagramme de


communication.

IV.B.1 Diagramme de collaborations : Définition


➢ Le diagramme de collaborations sous une forme distincte du diagramme de
séquences représente les interactions entre classes en mettant moins en
évidence l'aspect temporel.

➢ Ce modèle explique la coopération entre objets pour la réalisation d'une


fonctionnalité, cette coopération implique les différents événements qui se
propagent d'un objet à l'autre. Un objet doit avoir une méthode appropriée pour
traiter chaque événement qu'il reçoit (message).

➢ L'aspect temporel n'est pas complètement caché car chaque message est
numéroté.

Système

1 2
4
5 3
6

➢ Le flot de données intervenant dans ces interactions peut être précisé.

IV.B.2 Diagramme de Communication : But & Principes


PRINCIPES :

➢ Libre de placer les participants (objets) ;


➢ On fait des liens entre eux, et on les numérote (interactions) ;
➢ Pas de ligne de vie.
88
BUTS :

➢ Comportement collectif d’objets ;


➢ En vue de réaliser une opération.

DEFINITIONS :
➢ Une collaboration est une collection d’objets et d’acteurs liés entre
eux.
➢ Une collaboration définit un ensemble de participants et de relations
qui sont sensés pour un périmètre donné.
➢ Une collaboration entre deux objets travaillants ensemble produit
une fonctionnalité.
➢ Les objets collaborent entre eux par communications (s’échangeant
des messages).

QUAND L’UTILISER ?

➢ Phase de cadrage.
➢ Début de projet pour clarifier le domaine d’étude.

➢ Représenter collaboration entre le domaine d’étude et les partenaires


➢ Permet de déterminer :

✓ Les flux entrants ;


✓ Les flux sortants ;

✓ Les acteurs externes ;


✓ Les domaines connexes.

QUOI UTILISER ?
Diagramme de séquence ou Diagramme de communication ?

Majorité des personnes : Diagramme de séquence ;


➢ Diagramme de communication : Adapté pour montrer les liens ;

➢ Diagramme de séquence: Importance des messages ;

89
IV.B.3 Principaux Concepts
1. Les Objets

2. Les liens d’interactions


3. Les Messages

IV.B.3.1 Objet : Représentation graphique

Représenté par un
rectangle

Nommage : Nom
de l’objet
instancié

Nom de l’objet et
nom de la classe

Nom de la classe

UML 2.X : Plus de soulignement

IV.B.3.2 Liens d’interactions


Les liens indiquent un chemin de communication entre 2 objets, sur lequel
passent les messages.
Lien d’interaction

90
Exemples :

IV.B.3.3 Messages : Types

Synchrone L’expéditeur est bloqué pendant le


traitement du message par l'expéditeur

Retour d'appel Un message synchrone peut être un


appel de procédure, le retour peut être
représenté

Asynchrone L'expéditeur continue son exécution


pendant le traitement du message

Minuté Comme le synchrone, mais un chien de


garde est positionné, c'est à dire que
l'expéditeur se réveille au bout d'un
certain temps s'il ne reçoit pas de
réponse.

Informations portées sur les messages :

[pré "/"] [["["cond"]"] [séq] ["*"["||"]["["iter"]"]]":"] [r ":="] msg"("[par]")"


➢ pré : numéro des messages prédécesseurs

➢ cond : condition, garde d'envoi du message


➢ séq : numéro de séquence du message
91
➢ * : itération, || : en parallèle

➢ iter : détaille l'itération


➢ r : stocke la valeur de retour du message

➢ msg : nom de l'opération à appeler


➢ par : paramètres de l'opération

Exemples
➢ [heure = midi] 1 : manger()

➢ 3 / *[i := 1..5] : fermer()


➢ 1.3, 2.1 / [t < 10s] 2.5 : age := demanderAge(nom)

IV.B.4 Diagramme de collaboration : Réserver un livre

92
SECTION C

DIAGRAMMES ETATS –
TRANSITIONS
-
STATE MACHINE DIAGRAM

" "Ne me dites pas que ce problème est difficile. S'il


n'était pas difficile, ce ne serait pas un problème. "
Maréchal Foch
93
IV.C.1 Diagramme d’Etats : Définition
Le diagramme d’états de transition décrit:
➢ Le comportement des objets d’une classe au moyen d’un
automate d’états associés à la classe qui est modélisé par un
graphe.

➢ Une transition :
✓ exécution d’une action.

✓ réaction de l’objet sous l’effet d’une occurrence d’événement.


➢ Un cycle de vie d’un objet d’une classe :

✓ Les états qui peuvent être pris par les objets d’une classe.
✓ Les événements qui provoquent la transition d’un état à un
autre.
✓ Les actions subies/provoquées qui accompagnent un
changement d’état.
✓ Les activités qui surviennent tant que l’objet est dans un état
donné.

IV.C.2 Diagramme d’Etats : Objectif


Etudier les états d’un Système d’Information :
➢ Comprendre le système d’information en s’intéressant aux classes qui
présentent des traitements complexes.
➢ Fournir une représentation dynamique du comportement des objets
d’une classe.

➢ Aider à déterminer les événements qui occasionnent les transitions.


➢ Aider à déterminer les opérations qui vont permettre ces transitions.

IV.C.3 Diagramme d’Etats : Notion d’état


➢ Un état = étape dans le cycle de vie d’un objet.

➢ Chaque objet possède à un instant donné un état particulier.


➢ Chaque état est identifié par un nom.

➢ Un état est stable et durable.


➢ Chaque diagramme d’états-transitions comprend un état.
94
➢ Il est possible de n’avoir aucun état final : un système qui ne s’arrête
jamais.

IV.C.3.1 Etats spéciaux


2 états prédéfinis:
➢ état de démarrage : obligatoire, unique

➢ état de fin : optionnel, peut-être multiple

IV.C.3.2 Etats imbriqués-composite

➢ Si le diagramme d’état transition devient trop complexe, on peut


utiliser des états imbriqués pour le simplifier.
➢ Un super-état ou état composite est un état qui englobe d’autres états
appelés sous-états • Le nombre d’imbrication n’est pas limité (ne pas
abusé sinon problème de lisibilité).

Etats imbriqués-composite : Exemple

95
IV.C.4 Diagramme d’Etats : Notions d’évènement
Un événement :
➢ correspond à l’occurrence d’une situation donnée dans le domaine
étudié.
➢ est une information instantanée qui doit être traitée à l’instant où elle se
produit.

La description complète d’un événement est donnée par :

➢ Nom de l’événement
➢ Liste des paramètres

➢ Objet expéditeur
➢ Objet destinataire

➢ Description textuelle

IV.C.4.1 Notions de garde


➢ Une garde est une condition booléenne qui permet ou non le
déclenchement d’une transition lors de l’occurrence d’un événement.

96
IV.C.4.2 Notions de transitions

➢ Les états sont reliés par des connexions unidirectionnelles appelées


transitions.

➢ Ex : place de parking

Communications entre les objets par évènements

➢ La communication est de type asynchrone, atomique et unidirectionnelle.

IV.C.5 Diagramme d’Etats : Notions d’opérations et actions


Action et activités: Le lien entre les opérations définies dans la spécification
d’une classe et les événements apparaissant dans le diagramme d’états-
transitions:
✓ Chaque transition peut avoir une action à exécuter lorsqu’elle est déclenchée

✓ L’action est considérée comme instantanée et atomique

97
✓ Une action correspond à l’exécution d’une des opérations déclarées dans la
classe de l’objet destinataire de l’événement.
✓ L’action a accès aux paramètres de l’événement ainsi qu’aux attributs de l’objet
sur lequel elle s’applique.

Notions d’opérations et actions


➢ Contrairement à une action, une activité est une opération qui dure un
certain temps.

➢ Les activités sont associées aux états:


✓ commencent quand on est entré dans l’état.

✓ s’exécutent jusqu’à la fin si elles ne sont pas interrompues par


une transition sortante (donc tant que l’état ne change pas).

✓ peuvent être interrompues car elles ne modifient pas l’état de


l’objet.

➢ Les activités sont notées dans la partie inférieure de l’état.

IV.C.6 Diagramme d’Etats : Syntaxe


➢ Syntaxe d'une transition:
✓ événement [garde] / action

✓ Chaque partie est optionnelle.

98
✓ La transition est suivie si l'événement a été généré et que la garde est
valide.

➢ Exécute alors l'action avant de rentrer dans l'état ciblé par la transition.

✓ Attention : pas deux transitions possibles partant d'un même état.


➢ Syntaxe des activités que l'on peut associer à un état :

✓ do / action : action exécutée dans l'état ;


✓ entry / action : action exécutée à l'entrée dans ;

✓ exit / action : action exécutée à la sortie de l'état ;


✓ evt / action : transition interne pour l'occurence de l'événement evt.

➢ Lien avec l'objet associé au diagramme d'états :


✓ Les actions peuvent être les méthodes de la classe de l'objet.

✓ Peut utiliser les attributs de l'objet, par exemple dans les gardes des
transitions.

IV.C.6 Résumé
➢ Diagramme d'états décrit le comportement interne d'un objet ;

➢ Permet la définition de tous les états possibles d'un objet ;


➢ La définition de tous les changements d'états via des transitions ;

➢ Il est associé à un objet ou à une opération.

99
➢ Etat d’un objet: Situation d’un objet que l’on désire connaître et gérer.
➢ Transition: Passage d’un objet d’un état à un autre. Elle est
déclenchée par un événement.
➢ Evénement: Stimulus qui provoque une (ou plusieurs) transition(s). A
chaque stimulus peut correspondre une action responsable des
modifications de l’objet (les valeurs des attributs).

IV.C.8 Cas de la bibliothèque : Recherche des états

➢ L’état d'un objet est lié aux valeurs de ses variables d'instances et des
interactions avec les autres objets. Il s'agit de ne conserver que les états
significatifs.
➢ La réponse d'un objet à un événement dépend de l'état dans lequel cet objet
se trouve.

➢ Un objet passe dans un état donné par l'événement qui modifie ses variables,
et quitte cet état par un autre événement qui les modifie à nouveau. Ce sont
des transitions d'états.

IV.C.8.1 Diagramme de transitions d’états : Livre


➢ Chaque transition est provoquée par un événement.

➢ Une transition n'a pas de durée.


➢ La durée d'un état est l'intervalle de temps qui s'écoule entre l'événement
d'entrée et celui de départ.

100
IV.C.8.2 Diagramme de transitions d’états : Adhérent

101

Vous aimerez peut-être aussi