Vous êtes sur la page 1sur 41

Cours Génie Logiciel

Présenté par: Dr. Z. Benotmane


Diagramme de séquence
Un diagramme de séquence exprime des messages échangés
entre des lignes de vie présentés dans un ordre
chronologique. Le temps est représenté par une dimension
verticale de haut en bas.
Les diagrammes de séquences permettent de décrire
COMMENT
les éléments du système interagissent entre eux et avec les
acteurs :
• Les objets au cœur d’un système interagissent en
s’échangent des messages.
• Les acteurs interagissent avec le système au moyen d’IHM
(Interfaces Homme-Machine).
Voilà à quoi ça ressemble:
Ligne de vie
• Représentée par un rectangle, auquel est
accrochée une ligne vertical pointillée
contenant une étiquette:
• <nom_du_rôle>: <nom_du_type>
Messages
C’est une communication particulière entre des
lignes de vie, il peut être:
• L’envoi d’un signal
• L’invocation d’une opération
• La création ou la destruction d’une instance
La réception des messages provoque une
période d’activité .
Il existe plusieurs types de messages
Syntaxe d’un message
La syntaxe des messages est :
nomMessage(LISTE_PARAMS)
avec LISTE_PARAMS une liste de paramètres
séparés par des virgules.
Exemples :
•appeler(“Mohammed”, 84214110)
•afficher(x,y)
•initialiser(x=100)
Syntaxe d’un message de retour
• Les messages de retour sont optionnels : la fin de la période d’activité
marque également la fin de l’exécution d’une méthode.
• Ils sont utilisés pour spécifier le résultat de la méthode invoquée.
• Leur syntaxe est :
attributCible =nomMessageInitial(LISTE_PARAMS) : valeurRetour
Message synchrone et message
asynchrone
Un message synchrone bloque l’expéditeur jusqu’à la
réponse du destinataire.
•Si un objet A envoie un message synchrone à un objet B,
A reste bloqué tant que B n’a pas terminé.
•On peut associer aux messages d’appel de méthode un
message de retour (en pointillés) marquant la reprise
du contrôle par l’objet émetteur du message
synchrone.
• Un message asynchrone n’est pas bloquant pour
l’expéditeur. Le message envoyé peut être pris en
compte par le récepteur à tout moment ou ignoré.
présentation
Exemple de message synchrone
Exemple de message asynchrone
Dans un diagramme de classe:
• Les messages asynchrones correspondent à des signaux dans le
diagramme de classes.
• Les signaux sont des objets dont la classe est stéréotypée << signal >>

• les attributs correspondent aux paramètres du message.


Création et destruction d’objet
Création : message asynchrone stéréotypé << create >> pointant vers le rectangle en
tête de la ligne de vie
•Destruction : message asynchrone stéréotype << destroy >> précédant une croix sur
la ligne de vie
Fragment alt : opérateur conditionnel

Les différentes alternatives sont spécifiées dans


des zones délimitées par des pointillés.
•Les conditions sont spécifiées entre crochets
dans chaque zones.On peut utiliser une clause
[else]
Fragment loop : opérateur d’itération

Le fragment loop permet de répéter ce qui se trouve en interne


On peut spécifier entre crochets à quelle condition continuer.
Message reflexif
Réutilisation de séquences
Un fragment ref permet d’indiquer la réutilisation d’un
diagramme de séquences défini par ailleurs.
Diagramme d’Etat Transition
• Comportement d’une instance de classe lors
de la réception d’un message.
• Exemple : Achat de billet
Composants:
Etat:
Une instance de classe se trouve dans un état à
un moment donnée.
C’est une situation stable d’une durée
déterminée durant laquelle un objet est en
activité ou attend un évènement.
Transition: (événement/ action):
L’évènement déclenche la transition tandis que
l’action est une opération réalisée.
Représentation graphique
• Un état est représenté par un rectangle
arrondis contenant un nom.
• L’état initial est représenté par un point noir
(création).
• L’état final: lorsque l’objet n’est plus
nécessaire ou détruit. (les objet permanent
dans le système n’ont pas d’état final)
La transition..
• Une transition est franchie.
• Un objet qui se trouve dans un état peut
transiter vers un autre état.
• Un évènement (déclencheur) déclenche le
changement d’état, il peut représenter la
réception d’un signal (message) en général de
la part d’un autre objet.
• Exemple de fichier
Les types d’évènements
1- évènement de type signal
• Reçu de la part d’un autre objet ou d’un
acteur, il s’agit d’un message asynchrone.
• Il peut contenir des paramètres.
• Syntaxe:
2- évènement appel d’une opération
• Il s’agit d’un appel d’une méthode fait par un
autre objet ou un acteur.
• Même syntaxe que le précédent, la différence
réside dans la représentation car ici il s’agit
d’une méthode (déclaration classique).
3- évènement de changement d’état
• Lors de l’affectation d’une valeur vrai ou faut à
un attribut booléen.
• Expression booléenne testée en permanence
• Syntaxe:
4-évènement temporel
• Spécifié selon le temps
• Le décompte est activé dès l’entrée en état courant.
• Deux manières:
Structure de l’évènement

Evénement : NOM DE L’ÉVÉNEMENT Qui provoque le franchissement de la transition.


La syntaxe de l'événement est celui que nous venons de décrire;
GARDE : CONDITION DE GARDE [ENTRE CROCHETS]. associer une condition à une
transition. La condition de garde est évaluée uniquement lorsque l'événement
déclencheur se produit. Si l'expression est fausse à ce moment-là, la transition ne
se déclenche pas, si elle est vraie, la transition se déclenche et ses effets se
produisent.
Activité : SPÉCIFIE UNE ACTIVITÉ, un ensemble d’actions à effectuer lors du
déclenchement,
• une opération primitive comme une instruction d'assignation d’une valeur à un
attribut ;
• l'envoi d'un signal ;
• l'appel d'une opération ; etc
• lorsque l'exécution de l'effet est terminé, l'état cible de la transition devient actif,
La garde
L’action
Exemple (transition externe)
Etat

Transition interne entry


do
exit

• Avoir des états qui effectuent plusieurs activités


successivement ou en parallèle à l’intérieur d’un même
état peut être spécifié grâce à des transitions internes.
• UML Définit Des Mots Clés Correspondant À Des
Événements Particuliers :
1. Entry : Définit L’activité À Exécuter Lors De L’entrée
Dans L’état.
2. Exit : Définit L’activité À Exécuter Lors De La Sortie De
L’état.
3. Do : Définit L’activité À Exécuter Dès Que Celle Définie
Par Entry Est Terminée.
Diagramme d’activité
• Les diagrammes d'activités permettent de mettre
l'accent sur les traitements. Ils sont donc
particulièrement adaptés à la modélisation du
cheminement de flots de contrôle et de flots de
données. Ils permettent ainsi de représenter
graphiquement le comportement d'une méthode
ou le déroulement d'un cas d'utilisation.
• Les diagrammes d'activités sont relativement
proches des diagrammes d'états-transitions dans
leur présentation, mais leur interprétation est
sensiblement différente.
Composants
Couloir d’un diagramme d’activité

Vous aimerez peut-être aussi