Académique Documents
Professionnel Documents
Culture Documents
Objet
2
Diagramme de séquences
Représente les interactions entre objets en précisant la chronologie des échanges de
messages
Représente une instance d’un cas d’utilisation (les scénarios possibles d’un cas d’utilisation
donné)
Montre sous forme de scénarios, la chronologie des envoies de messages issus d’un cas
d’utilisation
3
Exemple :
Cas d'utilisation : Classe Article
Opérations nécessaires dans le D.Classes
4
Diagramme de séquences : exemple
Le client demande un service (retirer de l’argent) à l’objet Compte
Le compte reçoit le message et déclenche l’opération de même nom
Le compte retourne le résultat (le solde actuel)
:
:
5
Objectif des diagrammes de séquence
Les diagrammes de cas d'utilisation modélisent à QUOI sert le système, en
organisant les interactions possibles avec les acteurs.
6
Représentation de diagramme de séquences
Un objet est représenté par un rectangle et une ligne verticale (ligne de vie de l’objet)
Les objets communiquent en échangeant des messages représentés par des flèches orientées
de l’émetteur au récepteur
7
D. Séquences :distribuer le comportement des cas
d’utilisation sur les classes d’analyse
8
Ligne de vie
Une ligne de vie représente un participant à une interaction (objet ou acteur).
nomLigneDeVie [ selecteur ]: nomClasseOuActeur
Dans le cas d'une collection de participants, un sélecteur permet de choisir un objet parmi n.
Exemple:
9
Plusieurs concepts additionnels :
Période d’activité
Types de messages
10
Période d’activité
Correspond au temps pendant lequel un objet fait une action
Représentée par une bande rectangulaire superposée à la ligne de vie de l’objet
Représentation
Exemple:
Période d’activité
11
Les Messages
Traduisent les interactions (échange d’informations) entre objets
12
Traduction des messages
Envoyer un message c’est demander un service d’un autre objet (sauf le cas d’un message de
retour).
Les messages sont traduits par des opérations dans la classe de l’objet ayant reçu le message
13
Concepts – Message (Exemple)
14
Les Messages
Un message reçu par un objet déclenche l’exécution d’une opération
Message synchrone
Message asynchrone
Message récursif
15
Message simple
Message pour lequel on ne spécifie aucune information d’envoi ou de réception
Représentation
16
Message minuté (Timeout)
Bloque l’expéditeur pendant un temps donné, en attendant la prise en compte du message par
le récepteur.
Après le délai, l’expéditeur est libéré et peut envoyer
Représentation Exemple : La porte d’un ascenseur s’ouvre pendant un certain
délai avant d’être refermée. :
: :
17
Message synchrone
Les messages synchrones correspondent à des opérations dans le
diagramme de classes.
Envoyer un message et attendre la réponse pour poursuivre son
activité revient à invoquer une méthode et attendre le retour pour
poursuivre ses traitements.
Représentation
18
Message synchrone :exemple
19
Message synchrone: Exemple
Bloque l’expéditeur jusqu’à la prise en compte du message par le récepteur
Le contrôle est passé de l’émetteur au récepteur qui devient à son tour émetteur (actif)
Exemple
20
Message asynchrone
N’interrompt pas l’exécution de l’expéditeur.
L’expéditeur peut émettre sans attendre la réponse du récepteur
21
Message asynchrone : exemple
22
Message synchrone /asynchrone :exemple
Message Asynchrone
-N'attend pas de réponse
-Ne bloque pas l'émetteur
-Exemple : signal (interruption,
évènement)
Message Synchrone
-Emetteur bloqué jusqu'à la
réponse du récepteur
-Exemple : invocation d'une
opération
23
Message récursif
Appelé aussi message réflexif : Message envoyé d’un objet vers lui-même.
24
Exemple :
25
Message de Création et destruction d’objets
La création d'un objet est matérialisée par une flèche qui pointe sur le
sommet d'une ligne de vie.
On peut aussi utiliser un message asynchrone ordinaire portant le nom
« create » .
La destruction d'un objet est matérialisée par une croix qui marque la fin
de la ligne de vie de l'objet.
26
Création et destruction d’objets: exemple
Un message peut créer ou détruire un objet
27
Message de construction :Exemple:
28
Message de destruction: exemple
29
Exemple construction & destruction:
30
Messages: Perdu et trouvé : exemple
La plupart du temps, un ordinateur contaminé ne connaît pas la source
du virus et l’auteur du virus ne souhaite pas être connu, d’où l’utilisation
de messages perdu et trouvé.
31
Les messages de retour
La syntaxe des messages de retour est :
attributCible = nomOperation ( params ): valeurRetour
La syntaxe des paramètres est :
nomParam = valeurParam
ou
nomParam : valeurParam
Les messages de retour sont représentés en pointillés.
32
Message de réponse : exemple
33
Principaux types de messages
34
Exercice 1
La rubrique enchaînement nominal du cas d'utilisation retrait d'espèces contient les éléments
suivants :
Le guichetier saisit le numéro de compte du client ;
Le système guichet vérifie le compte auprès du système central ;
Le système guichet demande le type d’opérations au guichetier
Le guichetier choisit l’opération de retrait de 100 dinars ;
Le système guichet interroge le système central pour s'assurer que le compte est suffisamment
approvisionné ;
Le système central effectue le débit du compte ;
En retour, le système notifie au guichetier qu'il peut délivrer le montant demandé.
35
Corrigé
La rubrique enchaînement nominal du cas d'utilisation
retrait d'espèces contient les éléments suivants :
Le guichetier saisit le numéro de compte du client ;
Le système guichet vérifie le compte auprès du
système central ;
Le système guichet demande le type d’opérations au
guichetier
Le guichetier choisit l’opération de retrait de 100
dinars ;
Le système guichet interroge le système central pour
s'assurer que le compte est suffisamment
approvisionné ;
Le système central effectue le débit du compte ;
En retour, le système notifie au guichetier qu'il peut
délivrer le montant demandé.
Branchements (tests)
37
Les test (branchements)
La condition précédée le message et elle est délimitée par des crochets
38
Les test (branchements) : Exemple
Pour accéder au centre de recherche, l’utilisateur doit présenter son badge.
S’il a droit d’accès, un voyant vert est allumé et la porte s’ouvre
: :
39
Branchement conditionnel: exemple
40
Les boucles (répétitions)
La boucle se note comme le test, mais la condition est précédée d’un astérisque
41
Syntaxe de l'opérateur loop
Itération (loop) : le fragment peut s’exécuter plusieurs fois selon les conditions de la
garde
Syntaxe d'une boucle :
loop ( minNbIterations , maxNbIterations )
La boucle est répétée au moins minNbItérations fois avant qu'une
éventuelle condition booléenne ne soit testée (la condition est placée
entre crochets dans le fragment)
Tant que la condition est vraie, la boucle continue, au plus
maxNbItérations fois.
Notations :
loop(valeur) est équivalent à loop(valeur,valeur).
loop est équivalent à loop(0,*), où * signifie illimité .
42
La boucle : exemple
43
Exercice :
Un concepteur a effectué la partie analyse du projet de développement « mini-commerce ». Il a
remis un DSS (Diagramme de Séquences Système) et une ébauche du diagramme de classe.
Le métier étudié dans le cadre de « mini-commerce » est celui des boutiques (Très Petits
Commerces)qui disposerai à terme d’une caisse sur un ordinateur commun (PC Compatible) et
s’affranchirait ainsi des point de ventes propriétaire actuellement répandus.
44
Exercice:
Développer le diagramme de séquences système en un diagramme de séquences de conception,
Cette démarche devrait permettre d’identifier une bonne partie des
opérations de chaque classe.
Diagramme de Séquence système
-Le client commence par ajouter des articles au panier
-Le prix de chaque article est indiqué dans le catalogue correspondant
45
Corrigé
46
Fragments
Permet de décomposer une interaction complexe en fragments simples
Représenté par un rectangle dont le coin supérieur gauche contient un pentagone
Dans le pentagone figure le type du fragment
loop : boucle
alt : alternative
ref : référence
…
47
Concepts – Fragments d’interaction
Alternatif (alt) : plusieurs fragments possibles. Seul celui dont la condition est vraie
s’exécute
Pourquoi ? :
représenter l’articulation des interactions
découper la description d’une interaction
opérateur :
conditionne la signification du fragment
opérande : portion, d’un fragment d’interaction conditionnée par une garde
48
Fragments d’interaction (opérateur): exemple
: :
49
Concepts – Fragments d’interaction (opérateur)
50
Opérateur parallèle
Parallèle (ou par): A au moins 2 sous fragments exécutés simultanément. L'opérateur par permet
d'envoyer des messages en parallèle.
Ce qui se passe de part et d'autre de la ligne pointillée est indépendant.
Exemple :
Représentation :
51
Réutilisation d'une interaction
Réutiliser une interaction consiste à placer un fragment portant la référence « ref » là où
l'interaction est utile.
On spécifie le nom de l'interaction dans le fragment.
52
Réutilisation d'une interaction: exemple
53
Application
Alnajah est composée d’un certain nombre de personnels et d’étudiants. Tout étudiant est caractérisé par son
nom, son prénom, sa date de naissance, sa nationalité et un numéro. Du point de vue de l’application, toutes ces
informations seront contenues dans un serveur de stockage.
Les utilisateurs devront s’identifier grâce à un login et un mot de passe également stockés dans ce serveur.
L’accès à l’application se fait via un portail qui permet aux utilisateurs de s’authentifier et d’émettre des
requêtes. Les utilisateurs peuvent être des inspecteurs des études, des professeurs ou des élèves. Un scénario
d’entrée de notes pour un élève par un inspecteur des études est le suivant :
- l’inspecteur se connecte au portail et celui-ci lui demande son login et son mot de passe ;
- l’inspecteur envoie son login et son mot de passe ;
- le portail vérifie l’identité grâce au serveur de stockage ;
- le portail ouvre une session pour l’inspecteur ;
- celui-ci demande une visualisation de tableau de notes pour l’élève X ;
- le portail, après interrogation du serveur de stockage lui renvoie le tableau de notes ;
- l’inspecteur entre la note de 15 pour la matière XX200 pour l’élève X ;
- le portail appelle la méthode correspondante du serveur de stockage pour modifier les notes de l’élève.
- Ce dernier enregistre la modification réalisée et envoie un message de succès vers le portail.
le portail visualise la modification à l’inspecteur
proposer un diagramme de séquence représentant le scénario précédent. Pour les méthodes pour lesquelles cela
est utile, représenter les paramètres et les valeurs de retour.
54
55