UML : Unified Modeling Language
Analyse et conception orientée objet
Jamal BAKKAS
Université Cadi Ayyad
Ecole Supérieure de Technologie-Safi
Jamal BAKKAS
Chapitre 4 : Diagramme de séquence
DIAGRAMME DE SEQUENCE
▪ Représenter les interactions entre objets en indiquant la chronologie des échanges.
▪ Un DS peut se réaliser par cas d’utilisation en considérant les différents scénarios associés.
▪ Un DS peut concerner juste une partie du cas d’utilisation si celui-ci est plus général.
▪ Deux types existent:
▪ DS boite noire:
▪ DS boite blanche (Diagramme d’interaction):
Jamal BAKKAS
DIAGRAMME DE SEQUENCE
▪ DS boite noire:
▪ Cherche à détailler la description des besoins par la description textuelle des
cas d’utilisation.
▪ Cette étape amène souvent à mettre à jour le diagramme de cas d’utilisation
puisque c’est toujours dans la spécification des besoins.
Jamal BAKKAS
DIAGRAMME DE SEQUENCE
▪ DS boite noire:
▪ Le système est considéré comme un tout et est représenté par une
ligne de vie. Chaque acteur est également associé à une ligne de vie.
Jamal BAKKAS
DIAGRAMME DE SEQUENCE
▪ DS boite blanche ou Diagramme d’Interaction:
▪ Attribuer précisément les responsabilités de comportement aux classes
d’analyse du diagramme de classes.
▪ Permet de corriger le diagramme de classes d’analyse et de construire une
première version de diagramme de classe de conception
Jamal BAKKAS
DIAGRAMME DE SEQUENCE
▪ DS boite blanche ou Diagramme d’Interaction:
▪ Les diagrammes d'interaction permettent d'établir un lien entre les
diagrammes de cas d'utilisation et les diagrammes de classes :
▪ ils montrent comment des objets (i.e. des instances de classes)
communiquent pour réaliser une certaine fonctionnalité.
▪ Permet d’arrêter, pour chaque cas d’utilisation (ou un de ses sous
fonctionnalités) , la classe qui va le contenir.
▪ Chaque diagramme va représenter un ensemble d’objets de classes
différentes collaborant dans le cadre d’un scénario d’exécution d’une
fonctionnalité du système.
▪ Pour chaque fonctionnalité, les objets communiquent en s’envoyant des
messages qui invoquent des opérations sur les objets récepteurs. C’est
ainsi que la fonctionnalité est faite.
Jamal BAKKAS
DS boite blanche ou Diagramme d’Interaction
Jamal BAKKAS
DS boite blanche ou Diagramme d’Interaction
▪ Eléments de base:
▪ Objet : instance d’une classe
▪ Interaction : L’envoi d’un message entre objets.
▪ Message : Méthode de la classe réceptrice
▪ Activation ou période d’activité: Correspond au temps pendant lequel un
objet effectue une action, soit directement, soit par l’intermédiaire d’un autre
objet qui lui sert de sous-traitant.
Jamal BAKKAS
DS boite blanche ou Diagramme d’Interaction
▪ Eléments de base:
▪ Ligne de vie: Représentée par une ligne verticale en traits pointillés, placée
sous le symbole de l’objet concerné. Cette ligne de vie précise l’existence de
l’objet concerné durant un certain laps de temps. Elle est représentée sur
toute la hauteur du diagramme de séquence ou peut débuter et s’interrompre
à l’intérieur du diagramme.
Jamal BAKKAS
DS boite blanche ou Diagramme d’Interaction
▪ Eléments de base:
▪ Fragments d’interactions: sous-ensembles d’interaction caractérisé par un opérateur:
▪ Opérateur Opt (Optional) : Une instruction de test sans alternative (sinon)
Jamal BAKKAS
DS boite blanche ou Diagramme d’Interaction
▪ Eléments de base:
▪ Fragments d’interactions: sous-ensembles d’interaction caractérisé par un opérateur:
▪ Opérateur Alt : Une instruction de test avec une ou plusieurs alternatives possibles. (Si..FinSi ou
Si…Sinon….FinSi)
Jamal BAKKAS
DS boite blanche ou Diagramme d’Interaction
▪ Eléments de base:
▪ Fragments d’interactions: sous-ensembles d’interaction caractérisé par un opérateur:
▪ Opérateur Loop : Une instruction de boucle qui permet d’exécuter une séquence
d’interaction tant qu’une condition est satisfaite
Jamal BAKKAS
DS boite blanche ou Diagramme d’Interaction:
Jamal BAKKAS
MaCommande: COMMANDE Pr:PRODUIT
M. X : CLIENT
Loop pour chaque produit
CalculerTotal()
Montant total
GetPrix()
GetSesProduits()
Exemple: Calcul du total d’une commande
Exemple : D.S. Boite noire (phase d’analyse)
Jamal BAKKAS
Exemple : D.S. Boite blanche (phase de conception)
Jamal BAKKAS
Exemple : D.S. Boite blanche (phase de conception)
Jamal BAKKAS
Exemple : D.S. Boite blanche (phase de conception)
Jamal BAKKAS
Exercice d’application
• Soit le Diagramme de classe ci-dessous, Etablir un diagramme de séquence basé sur l’énoncé
suivant:
• Le guichetier ouvre une session
• Le guichetier saisit le numéro de compte du client.
• Le système guichet valide le compte auprès du système central.
• Le système guichet demande le type d’opération au guichetier
• Le guichetier sélectionne le montant du retrait
• Le système guichet interroge le système central pour s’assurer que le compte est suffisamment
approvisionné
• Le système guichet demande au système central de débiter le compte
• Le système notifie au guichetier qu’il peut délivrer le montant demandé
Jamal BAKKAS
Exercice d’application (Solution)
Jamal BAKKAS
UML : Unified Modeling Language
Analyse et conception orientée objet
Jamal BAKKAS
Université Cadi Ayyad
Ecole Supérieure de Technologie-Safi
Jamal BAKKAS
Chapitre 4 : Diagramme de collaboration
Diagramme de collaboration vs Diagramme de séquence
▪ Diagramme séquence
▪ accent sur le séquencement : ordre évident des messages
▪ Simplicité
▪ Mais si ajout de conditions/alternatives/boucles perd sa lisibilité
▪ Diagramme Collaboration
▪ accent sur la structure : indique comment les objets sont liés
Jamal BAKKAS
Diagramme de collaboration
: Porte
: Cabine
Ouvrir
▪ exemple
Jamal BAKKAS
▪ Un diagramme de collaboration est un diagramme d'interactions UML 1.x. c’est
représentation simplifiée d'un diagramme de séquence en se concentrant sur les échanges
de messages entre les objets, et où la chronologie n'intervient que de façon annexe.
▪ Il consiste en un graphe dont les nœuds sont des objets et les arcs (numérotés selon la
chronologie) les échanges entre ces objets.
▪ Les diagrammes de collaboration ont été remplacés en UML 2.x par les diagrammes de
communication. .
▪ Le temps n'est pas représenté de manière implicite : les messages
sont numérotés pour indiquer l'ordre des envois.
3:Fermer
1:Monter
2:Allumer
Diagramme de collaboration
: Cabine
: Ascenseur
: Porte
: lampe
▪ Les interactions : séquence de messages entre objets
Jamal BAKKAS
Diagramme de collaboration
:Personne
2:Ajouter destination RDC
: Ascenseur
1:Venir me chercher au RDC
: Cabine
Jamal BAKKAS
▪ La notation permet de faire figurer un acteur dans un diagramme de
collaboration afin de représenter le déclenchement des interactions par
un élément externe au système.
Diagramme de collaboration
Jamal BAKKAS
:Bouton étage :Contrôleur ascenseur
:Porte
:Ascenseur
1: appuyer() 2: mémoriser
requête()
3: allumer()
4: déplacer()
5: étage atteint() 6: immobiliser()
7: éteindre()
8: ouvrir()
9: fermer()
objet
message
lien
▪ Collaboration en réponse à l’appui sur le bouton d’appel d ’un ascenseur
séquencement
pilote
réquisition
pilote
rôle
pilote
:Personne
Jamal BAKKAS
Représentation des messages
▪ Un message se représente par une flèche placée à proximité d'un lien
et dirigée vers l'objet destinataire du message. Un lien sert de support
de transmission pour le message.
▪ Les messages respectent la forme générale suivante:
synchronisation séquence ':' résultat ':=' nom (arguments)
Jamal BAKKAS
Représentation des messages
▪ Les arguments et le nom du message identifient de manière unique l'action qui
doit être déclenchée dans l'objet destinataire.
▪ Les expressions suivantes donnent quelques exemples de la syntaxe d'envoi des
messages:
▪ 4 : Afficher (X, Y) -- message simple
▪ 3.3.1 : Afficher (X, Y) -- message imbriqué
▪ 4.2 : âge := Soustraire (Aujourd'hui, DateDeNaissance)
▪ [Age>= 18 ans] 6.2 : Voter () -- message conditionnel
▪ 1 * : Laver () -- itération

Chapitre N°4 Diagramme de séquence.pdf

  • 1.
    UML : UnifiedModeling Language Analyse et conception orientée objet Jamal BAKKAS Université Cadi Ayyad Ecole Supérieure de Technologie-Safi Jamal BAKKAS Chapitre 4 : Diagramme de séquence
  • 2.
    DIAGRAMME DE SEQUENCE ▪Représenter les interactions entre objets en indiquant la chronologie des échanges. ▪ Un DS peut se réaliser par cas d’utilisation en considérant les différents scénarios associés. ▪ Un DS peut concerner juste une partie du cas d’utilisation si celui-ci est plus général. ▪ Deux types existent: ▪ DS boite noire: ▪ DS boite blanche (Diagramme d’interaction): Jamal BAKKAS
  • 3.
    DIAGRAMME DE SEQUENCE ▪DS boite noire: ▪ Cherche à détailler la description des besoins par la description textuelle des cas d’utilisation. ▪ Cette étape amène souvent à mettre à jour le diagramme de cas d’utilisation puisque c’est toujours dans la spécification des besoins. Jamal BAKKAS
  • 4.
    DIAGRAMME DE SEQUENCE ▪DS boite noire: ▪ Le système est considéré comme un tout et est représenté par une ligne de vie. Chaque acteur est également associé à une ligne de vie. Jamal BAKKAS
  • 5.
    DIAGRAMME DE SEQUENCE ▪DS boite blanche ou Diagramme d’Interaction: ▪ Attribuer précisément les responsabilités de comportement aux classes d’analyse du diagramme de classes. ▪ Permet de corriger le diagramme de classes d’analyse et de construire une première version de diagramme de classe de conception Jamal BAKKAS
  • 6.
    DIAGRAMME DE SEQUENCE ▪DS boite blanche ou Diagramme d’Interaction: ▪ Les diagrammes d'interaction permettent d'établir un lien entre les diagrammes de cas d'utilisation et les diagrammes de classes : ▪ ils montrent comment des objets (i.e. des instances de classes) communiquent pour réaliser une certaine fonctionnalité. ▪ Permet d’arrêter, pour chaque cas d’utilisation (ou un de ses sous fonctionnalités) , la classe qui va le contenir. ▪ Chaque diagramme va représenter un ensemble d’objets de classes différentes collaborant dans le cadre d’un scénario d’exécution d’une fonctionnalité du système. ▪ Pour chaque fonctionnalité, les objets communiquent en s’envoyant des messages qui invoquent des opérations sur les objets récepteurs. C’est ainsi que la fonctionnalité est faite. Jamal BAKKAS
  • 7.
    DS boite blancheou Diagramme d’Interaction Jamal BAKKAS
  • 8.
    DS boite blancheou Diagramme d’Interaction ▪ Eléments de base: ▪ Objet : instance d’une classe ▪ Interaction : L’envoi d’un message entre objets. ▪ Message : Méthode de la classe réceptrice ▪ Activation ou période d’activité: Correspond au temps pendant lequel un objet effectue une action, soit directement, soit par l’intermédiaire d’un autre objet qui lui sert de sous-traitant. Jamal BAKKAS
  • 9.
    DS boite blancheou Diagramme d’Interaction ▪ Eléments de base: ▪ Ligne de vie: Représentée par une ligne verticale en traits pointillés, placée sous le symbole de l’objet concerné. Cette ligne de vie précise l’existence de l’objet concerné durant un certain laps de temps. Elle est représentée sur toute la hauteur du diagramme de séquence ou peut débuter et s’interrompre à l’intérieur du diagramme. Jamal BAKKAS
  • 10.
    DS boite blancheou Diagramme d’Interaction ▪ Eléments de base: ▪ Fragments d’interactions: sous-ensembles d’interaction caractérisé par un opérateur: ▪ Opérateur Opt (Optional) : Une instruction de test sans alternative (sinon) Jamal BAKKAS
  • 11.
    DS boite blancheou Diagramme d’Interaction ▪ Eléments de base: ▪ Fragments d’interactions: sous-ensembles d’interaction caractérisé par un opérateur: ▪ Opérateur Alt : Une instruction de test avec une ou plusieurs alternatives possibles. (Si..FinSi ou Si…Sinon….FinSi) Jamal BAKKAS
  • 12.
    DS boite blancheou Diagramme d’Interaction ▪ Eléments de base: ▪ Fragments d’interactions: sous-ensembles d’interaction caractérisé par un opérateur: ▪ Opérateur Loop : Une instruction de boucle qui permet d’exécuter une séquence d’interaction tant qu’une condition est satisfaite Jamal BAKKAS
  • 13.
    DS boite blancheou Diagramme d’Interaction: Jamal BAKKAS MaCommande: COMMANDE Pr:PRODUIT M. X : CLIENT Loop pour chaque produit CalculerTotal() Montant total GetPrix() GetSesProduits() Exemple: Calcul du total d’une commande
  • 14.
    Exemple : D.S.Boite noire (phase d’analyse) Jamal BAKKAS
  • 15.
    Exemple : D.S.Boite blanche (phase de conception) Jamal BAKKAS
  • 16.
    Exemple : D.S.Boite blanche (phase de conception) Jamal BAKKAS
  • 17.
    Exemple : D.S.Boite blanche (phase de conception) Jamal BAKKAS
  • 18.
    Exercice d’application • Soitle Diagramme de classe ci-dessous, Etablir un diagramme de séquence basé sur l’énoncé suivant: • Le guichetier ouvre une session • Le guichetier saisit le numéro de compte du client. • Le système guichet valide le compte auprès du système central. • Le système guichet demande le type d’opération au guichetier • Le guichetier sélectionne le montant du retrait • Le système guichet interroge le système central pour s’assurer que le compte est suffisamment approvisionné • Le système guichet demande au système central de débiter le compte • Le système notifie au guichetier qu’il peut délivrer le montant demandé Jamal BAKKAS
  • 19.
  • 20.
    UML : UnifiedModeling Language Analyse et conception orientée objet Jamal BAKKAS Université Cadi Ayyad Ecole Supérieure de Technologie-Safi Jamal BAKKAS Chapitre 4 : Diagramme de collaboration
  • 21.
    Diagramme de collaborationvs Diagramme de séquence ▪ Diagramme séquence ▪ accent sur le séquencement : ordre évident des messages ▪ Simplicité ▪ Mais si ajout de conditions/alternatives/boucles perd sa lisibilité ▪ Diagramme Collaboration ▪ accent sur la structure : indique comment les objets sont liés Jamal BAKKAS
  • 22.
    Diagramme de collaboration :Porte : Cabine Ouvrir ▪ exemple Jamal BAKKAS ▪ Un diagramme de collaboration est un diagramme d'interactions UML 1.x. c’est représentation simplifiée d'un diagramme de séquence en se concentrant sur les échanges de messages entre les objets, et où la chronologie n'intervient que de façon annexe. ▪ Il consiste en un graphe dont les nœuds sont des objets et les arcs (numérotés selon la chronologie) les échanges entre ces objets. ▪ Les diagrammes de collaboration ont été remplacés en UML 2.x par les diagrammes de communication. .
  • 23.
    ▪ Le tempsn'est pas représenté de manière implicite : les messages sont numérotés pour indiquer l'ordre des envois. 3:Fermer 1:Monter 2:Allumer Diagramme de collaboration : Cabine : Ascenseur : Porte : lampe ▪ Les interactions : séquence de messages entre objets Jamal BAKKAS
  • 24.
    Diagramme de collaboration :Personne 2:Ajouterdestination RDC : Ascenseur 1:Venir me chercher au RDC : Cabine Jamal BAKKAS ▪ La notation permet de faire figurer un acteur dans un diagramme de collaboration afin de représenter le déclenchement des interactions par un élément externe au système.
  • 25.
    Diagramme de collaboration JamalBAKKAS :Bouton étage :Contrôleur ascenseur :Porte :Ascenseur 1: appuyer() 2: mémoriser requête() 3: allumer() 4: déplacer() 5: étage atteint() 6: immobiliser() 7: éteindre() 8: ouvrir() 9: fermer() objet message lien ▪ Collaboration en réponse à l’appui sur le bouton d’appel d ’un ascenseur séquencement pilote réquisition pilote rôle pilote :Personne
  • 26.
    Jamal BAKKAS Représentation desmessages ▪ Un message se représente par une flèche placée à proximité d'un lien et dirigée vers l'objet destinataire du message. Un lien sert de support de transmission pour le message. ▪ Les messages respectent la forme générale suivante: synchronisation séquence ':' résultat ':=' nom (arguments)
  • 27.
    Jamal BAKKAS Représentation desmessages ▪ Les arguments et le nom du message identifient de manière unique l'action qui doit être déclenchée dans l'objet destinataire. ▪ Les expressions suivantes donnent quelques exemples de la syntaxe d'envoi des messages: ▪ 4 : Afficher (X, Y) -- message simple ▪ 3.3.1 : Afficher (X, Y) -- message imbriqué ▪ 4.2 : âge := Soustraire (Aujourd'hui, DateDeNaissance) ▪ [Age>= 18 ans] 6.2 : Voter () -- message conditionnel ▪ 1 * : Laver () -- itération