JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf
1. Niveaux: ING-GSI2
Groupes A et B
Année universitaire: 2023/2024
Analyse et Conception des Systèmes
d’Information ACSI
Chapitre 4:
Diagrammes de séquence
2. Plan du chapitre
I. Principes des diagrammes de séquence
II. Représentation des diagrammes de séquence
III. Fragments d’interactions combinés
IV. Utilisations des diagrammes de séquence
4. Plan du chapitre
I. Principes des diagrammes de séquence
II. Représentation des diagrammes de séquence
III. Fragments d’interactions combinés
IV. Utilisations des diagrammes de séquence
5. Principe & Objectif
❑ Les diagrammes de séquence permettent de décrire COMMENT
les éléments du système interagissent entre eux et avec les acteurs.
◦ Montrent les interactions entre objets selon un point de vue temporel (qui
fait quoi dans une interaction)
◦ Description de scénarios typiques et des exceptions
◦ UN scénario = UNE exécution particulière
Principes de base : Représentation graphique de la chronologie des échanges
de messages avec le système ou au sein du système
Deux utilisations principales :
1. Documentation des UC (point de vue Fonctionnel)
2. Représentation temporelle précise des interactions (point de vue
Dynamique)
6. Principe & Objectif
En conception : Décrire la réalisation des cas d'utilisation sur le
système présenté par le diagramme de classes:
● Description au niveau de l'instance (état du système à un instant)
● Description de scénarios particuliers
● Représentation des échanges de messages
✓ Entre les acteurs et le système, entre les objets du système
✓ De façon chronologique
Problème :
Communication entre
les acteurs et le
système vu comme un
ensemble d'objets ??
7. Utilisation en phase de conception
Communication entre acteurs et système via une interface (texte,
web,...)
Solution : Création de classes de contrôle et de classes d'interface qui :
● gèrent les interactions avec les acteurs
● encapsulent le résultat des opérations
8. Utilisation en phase de conception
Solution : Création de classes de contrôle et de classes d'interface qui :
● gèrent les interactions avec les acteurs
● encapsulent le résultat des opérations
9. Utilisation en phase de conception
Diagramme de séquence du cas d'utilisation Utiliser
10. Plan du chapitre
I. Principes des diagrammes de séquence
II. Représentation des diagrammes de séquence
III. Fragments d’interactions combinés
IV. Utilisations des diagrammes de séquence
11. Éléments du diagramme de séquence
✓ Acteurs
✓ Objets (instances)
✓ Messages (cas d'utilisation, appels d’opération)
Structuration en termes de:
temps → axe vertical
objets → axe horizontal
13. Types de messages
Message synchrone : Émetteur bloqué en attente du retour
→ Les messages synchrones correspondent à des opérations
dans le diagramme de classes.
15. Types de messages
Message de retour : Le récepteur d’un message synchrone rend la main à l’émetteur
❑ 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.
16. Types de messages
❑ Message trouvé (Found message) :
◦ message dont on ignore la provenance (émetteur inconnu)
◦ en dehors du cadre décrit par le Diagramme de Séquence
❑ Message perdu (Lost message) :
◦ message envoyé, mais jamais reçu
17. Types de messages
Messages réflexifs: Un objet peut s’envoyer des messages
➢ appel à une autre méthode (activation) de l’objet
➢ appel récursif
18. Types de messages
Un objet peut s’envoyer des messages
➢ appel à une autre méthode de l’objet
➢ appel récursif
19. Types de messages- Récapitulation
� Message synchrone : émetteur bloqué pendant le traitement du
message par le récepteur
◦ Typiquement : appel de méthode (Si un objetAinvoque une méthode d’un objet
B,Areste bloqué tant que B n’a pas terminé.
� Message asynchrone : non bloquant.
◦ Le message envoyé peut être pris en compte par le récepteur à tout
moment ou ignoré.
� Message de retour : 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.
20. Création et destruction d’objets
Un message peut entraîner la création ou la destruction d’objets:
❖ La création d’un objet est noté 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 noté par une croix qui
marque la fin de la ligne de vie de l’objet.
22. Diagramme de séquence- Exemple
❑ Chaque cas d'utilisation donne lieu à un diagramme de
séquences
➢ Cas d’utilisation :
➢ Diagramme de séquences correspondant :
23. Plan du chapitre
I. Principes des diagrammes de séquence
II. Représentation des diagrammes de séquence
III. Fragments d’interactions combinés
IV. Utilisations des diagrammes de séquence
24. Fragments d’interactions combinés
❑ Un fragment d’interactions est une partie du diagramme de séquence
(délimitée par un rectangle) associée à une étiquette (dans le coin supérieur
gauche).
❑ Un fragment combiné permet de décomposer une interaction complexe en
fragments suffisamment simples pour être compris
Les principales opérateurs
d’interactions combinés:
1. Opt
2. Loop
3. Alt
4. Break
5. Ref
6. Critique
7. …
L’étiquette contient un
opérateur d’interaction
25. Fragments combinés- Alternative
Principe : Condition à l'envoi d'un message→ Le fragment représente un choix
Notation :
Opérateur: Alt : Equivalent à la structure de contrôle à choix multiples "si .. alors
.. sinon".
Fragment d’interactions
combinés
Opérateur
alternative
Les opérandes sont séparés
par une ligne pointillée
26. Fragments combinés- Alternative
Principe : Condition à l'envoi d'un message→ Le fragment représente un choix
Notation :
Chaque sous fragment détient
une condition (Seul celui dont
la condition est vraie est
exécuté)
La condition else est exécutée
que si aucune autre condition
n’est valide.
29. Fragments combinés- Option
Principe : Équivalent à un opérateur alternative avec une seule condition
Notation :
Opérateur: Opt → Sous fragment s’exécute si la condition est vraie et ne
s’exécute pas dans le cas contraire
le fragment ne s’exécute
que si la condition est
vraie
30. Fragments combinés- Boucle
Principe : Répéter un enchaînement de messages
Notation : La garde s’écrit: Loop [min, max, condition] : Chaque paramètre (min, max
et condition) est optionnel
Opérateur: Loop : Répétition du fragment tant que la condition est vérifiée
Boucle qui
s’exécute
min à max fois
Bloc de répétition Loop
31. Fragments combinés- Boucle
Principe : Répéter un enchaînement de messages
Opérateur: Loop : Répétition du fragment tant que la condition est vérifiée
Bloc de répétition Loop
Exemple:
Loop[3]→La séquence
s’exécute 3 fois.
Loop[1, 3, code=faux] La
séquence s’exécute 1 fois puis
un maximum de 2 autres fois si
code=faux.
Si la condition est fausse, on sort
de la boucle, quel que soit le
nombre d’exécutions de la boucle
34. Fragments combinés-Référence
Principe : référence à un autre diagramme qui sera décrit ailleurs
Notation : Bloc de fragment ref
Opérateur: Décomposition : mot clef « ref » → passage à un autre diagramme de séquence
38. Autres fragments d’interactions
Nous venons de voir les 4 fragments d’interactions les plus utilisés (opt, alt, loop , ref).
Il en existe en réalité 13 au total:
• ignore et considere : pour les fragments facultatifs ou obligatoires.
• critical : pour les fragments qui doivent se dérouler sans être interrompus.
• break : pour les fragments représentants des scenarii exceptionnels ou de
ruptures
• assert : Pour les fragments dont on connaît à l’avance les paramètres du
message
• seq : indique que le fragment est composé de plusieurs sous fragments qui
peuvent s’exécuter dans n’importe quel ordre (mais pas en même temps).
• strict : pour les fragments dont les messages doivent se dérouler dans un ordre
bien précis.
• neg : pour indiquer que la séquence à l’intérieur du fragment n’est pas valide.
39. Plan du chapitre
I. Principes des diagrammes de séquence
II. Représentation des diagrammes de séquence
III. Fragments d’interactions combinés
IV. Utilisations des diagrammes de séquence
40. Utilisations des diagrammes de séquence
Cas d'utilisation « Effectuer un
virement personnel (niveau analyse) »
41. Utilisations des diagrammes de séquence
Pour chaqu’un du bloc de référence on va détailler les opérations qui
sont nécessaire à sa réalisation
Exemple-conception
43. Utilisations des diagrammes de séquence
Diagramme de classes complété avec les classes et les opérations nécessaires:
→ Dans cette étape on a besoin
d’jouter les différentes
opérations au diagrammes de
classes avec le type de leurs
arguments et le type de leurs
résultats.
44. Utilisations des diagrammes de séquence
➢ Donc la démarche maintenant est de réaliser tout les
autres cas d’utilisation du système sur des diagrammes
de séquences puis de compléter le diagramme de classe
de manière à ajouter toute les opérations nécessaires au
fonctionnement du système.
➢ Au fur et à mesure de construction du diagramme de
séquence il sera nécessaire de compléter le diagramme
de classe
Remarque:
45. Quelques règles
1. Les Messages entre acteurs et interface
● Les opérations sont liées au cas d'utilisation (même nom)
● Les Arguments (saisis) et valeurs de retour (affichées) soient simples : texte,
nombre….
2. Les Messages au sein du système
● les Opérations sont celles du diagramme de classes
● Si message de objA : ClasseA vers objB : ClasseB, alors
l’opération du message est dans la ClasseB
Quelque conseil pour finir et qq bonne pratique du diagramme de séquence dans la phase de
conception:
46. Application 1
La rubrique « enchaînement nominal » du cas d'utilisation « retrait
d'espèces » contient les éléments suivants :
1. Le guichetier saisit le numéro de compte du client ;
2. L'application valide le compte auprès du système central ;
3. Le guichetier demande un retrait de 100 dt;
4. Le système guichet interroge le système central pour s'assurer que le
compte est suffisamment approvisionné ;
5. Le système central effectue le débit du compte ;
6. En retour, le système notifie au guichetier qu'il peut délivrer le
montant demandé.
Donner le diagramme de séquences associé à cette description
textuelle.
48. Application 2
Etude de cas guidée : Guichet Automatique de
Banque (GAB)
Un système (simplifié) de guichet automatique de
banque permet :
◼ La distribution d’argent à tout porteur de carte de crédit (carte
Visa ou carte de la banque)
◼ La consultation de solde de compte, dépôt en numéraire et
dépôt de chèques pour les clients de la banque porteurs d’une
carte de crédit de la banque
1. Identifier les acteurs et les cas d’utilisation
2. Construire un diagramme de cas d’utilisation
3. Compléter les descriptions par un diagramme de séquences