SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
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
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
Diagrammes d'UML
Diagramme
Classes
Composants Déploiement
Collaboration
Etats Transitions Séquence
Objets
Cas d ’utilisation
Cas d ’utilisation Classes États Transitions Séquence
Activité
Hiérarchie des diagrammes UML
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
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)
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 ??
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
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
Utilisation en phase de conception
Diagramme de séquence du cas d'utilisation Utiliser
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
É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
Ligne de vie et activation
Types de messages
Message synchrone : Émetteur bloqué en attente du retour
→ Les messages synchrones correspondent à des opérations
dans le diagramme de classes.
Types de messages
Message asynchrone : Émetteur non bloqué, continue son
exécution
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.
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
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
Types de messages
Un objet peut s’envoyer des messages
➢ appel à une autre méthode de l’objet
➢ appel récursif
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.
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.
Création et destruction d'objet
Diagramme de séquence- Exemple
❑ Chaque cas d'utilisation donne lieu à un diagramme de
séquences
➢ Cas d’utilisation :
➢ Diagramme de séquences correspondant :
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
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
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
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.
Fragments combinés- Alternative
Exemple : on doit décrire ce que fait l’ascenseur dans le cas ou l’étage
demandé est l’étage courant et dans le cas inverse
Fragments combinés- Alternative
Exemple :
● Bloc d'alternative alt
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
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
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
Fragments combinés- Boucle
Exemple :
Opérateur: Loop → Répétition du fragment tant que la condition est vérifiée
Fragments combinés- Boucle
Exemple : Bloc de boucle loop
Opérateur: Loop → Répétition du fragment tant que la condition est vérifiée
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
Fragments combinés-Référence
Principe : référence à un autre diagramme décrit ailleurs
Exemple :
Opérateur: ref
Fragments combinés-Exemple
Fragments combinés-Exemple
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.
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
Utilisations des diagrammes de séquence
Cas d'utilisation « Effectuer un
virement personnel (niveau analyse) »
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
Utilisations des diagrammes de séquence
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.
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:
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:
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.
Application 1
Correction:
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

Contenu connexe

Similaire à Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf

DIAGRAMME DE SEQUENCE.pptx
DIAGRAMME DE SEQUENCE.pptxDIAGRAMME DE SEQUENCE.pptx
DIAGRAMME DE SEQUENCE.pptxb5kftjxcc4
 
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#MSDEVMTL
 
Unified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VFUnified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VFcifaf13039
 
Java1_BasesLangage.pdf
Java1_BasesLangage.pdfJava1_BasesLangage.pdf
Java1_BasesLangage.pdfLarbaSAWADOGO2
 
Java1_BasesLangage.pdf
Java1_BasesLangage.pdfJava1_BasesLangage.pdf
Java1_BasesLangage.pdfLarbaSAWADOGO2
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriMansouri Khalifa
 
POO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdfPOO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdfLarbaSAWADOGO2
 
UML Part 5- diagramme d'activités mansouri
UML Part 5- diagramme d'activités mansouriUML Part 5- diagramme d'activités mansouri
UML Part 5- diagramme d'activités mansouriMansouri Khalifa
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en pythonMariem ZAOUALI
 
Support de cours Conception orientée objets - partie 2.pdf
Support de cours Conception orientée objets - partie 2.pdfSupport de cours Conception orientée objets - partie 2.pdf
Support de cours Conception orientée objets - partie 2.pdfYasushiTsubakik
 
Introduction java
Introduction javaIntroduction java
Introduction javaFouad Root
 
Synchronisation sous systeme linux
Synchronisation sous systeme linuxSynchronisation sous systeme linux
Synchronisation sous systeme linuxFadwa Gmiden
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceLilia Sfaxi
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataLhouceine OUHAMZA
 

Similaire à Chapitre4_ACSI_diag_Seq_diaggrame_de_sequence.pdf (20)

DIAGRAMME DE SEQUENCE.pptx
DIAGRAMME DE SEQUENCE.pptxDIAGRAMME DE SEQUENCE.pptx
DIAGRAMME DE SEQUENCE.pptx
 
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
Kevin Olivier Avignon: Une introduction à la pensée fonctionnelle avec F#
 
Unified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VFUnified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VF
 
Java1_BasesLangage.pdf
Java1_BasesLangage.pdfJava1_BasesLangage.pdf
Java1_BasesLangage.pdf
 
Java1_BasesLangage.pdf
Java1_BasesLangage.pdfJava1_BasesLangage.pdf
Java1_BasesLangage.pdf
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
POO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdfPOO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdf
 
UML Part 5- diagramme d'activités mansouri
UML Part 5- diagramme d'activités mansouriUML Part 5- diagramme d'activités mansouri
UML Part 5- diagramme d'activités mansouri
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
 
Multithreading
MultithreadingMultithreading
Multithreading
 
Support de cours Conception orientée objets - partie 2.pdf
Support de cours Conception orientée objets - partie 2.pdfSupport de cours Conception orientée objets - partie 2.pdf
Support de cours Conception orientée objets - partie 2.pdf
 
Introduction java
Introduction javaIntroduction java
Introduction java
 
Synchronisation sous systeme linux
Synchronisation sous systeme linuxSynchronisation sous systeme linux
Synchronisation sous systeme linux
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Cours ALGR M1.pdf
Cours ALGR M1.pdfCours ALGR M1.pdf
Cours ALGR M1.pdf
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-data
 
UML.pptx
UML.pptxUML.pptx
UML.pptx
 
POO en C++: Les fonctions
POO en C++: Les fonctionsPOO en C++: Les fonctions
POO en C++: Les fonctions
 
diagramme de cas d'utilisation
diagramme de cas d'utilisationdiagramme de cas d'utilisation
diagramme de cas d'utilisation
 
7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation
 

Dernier

JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 

Dernier (8)

JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
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
  • 3. Diagrammes d'UML Diagramme Classes Composants Déploiement Collaboration Etats Transitions Séquence Objets Cas d ’utilisation Cas d ’utilisation Classes États Transitions Séquence Activité Hiérarchie des diagrammes UML
  • 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
  • 12. Ligne de vie et activation
  • 13. Types de messages Message synchrone : Émetteur bloqué en attente du retour → Les messages synchrones correspondent à des opérations dans le diagramme de classes.
  • 14. Types de messages Message asynchrone : Émetteur non bloqué, continue son exécution
  • 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.
  • 27. Fragments combinés- Alternative Exemple : on doit décrire ce que fait l’ascenseur dans le cas ou l’étage demandé est l’étage courant et dans le cas inverse
  • 28. Fragments combinés- Alternative Exemple : ● Bloc d'alternative alt
  • 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
  • 32. Fragments combinés- Boucle Exemple : Opérateur: Loop → Répétition du fragment tant que la condition est vérifiée
  • 33. Fragments combinés- Boucle Exemple : Bloc de boucle loop Opérateur: Loop → Répétition du fragment tant que la condition est vérifiée
  • 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
  • 35. Fragments combinés-Référence Principe : référence à un autre diagramme décrit ailleurs Exemple : Opérateur: ref
  • 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