Академический Документы
Профессиональный Документы
Культура Документы
UML
Objectifs de ce chapitre
• Comprendre et savoir utiliser divers types de
diagrammes UML permettant de décrire:
▫ Comportement
▫ Scénarios détaillés
1
Rappel
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
Diagrammes d’interaction
• Les diagrammes d’interaction sont utilisés pour
modéliser les aspects dynamiques d’un système
▫ Ils aident à visualiser comment le système exécute
ses tâches.
▫ Un diagramme d’interaction est souvent construit
à partir d’un diagramme de classes et d’un cas-
type
L’objectif est de montrer comment un ensemble
«S EG
d’objets peut réaliser une tâche demandée par un
3700 »
acteur
D. Am
y
U. Ott a ot
wa
2
5
Interactions et messages
▫ Un diagramme d’interaction montre comment un
ensemble d’objets et d’acteurs communiquent
ensemble afin:
de réaliser les étapes d’un cas d’utilisation
de réaliser une certaine fonctionnalité
▫ L’ensemble des différentes étapes à accomplir
s’appelle une interaction.
▫ Un diagramme d’interaction montre différents types
de communication entre objets, acteurs et sous-
systèmes:
«S EG E.g. appel à des méthodes, information envoyée sur un
3700 »
réseau
D. Am
y
U. Ott a ot
wa
Ceux-ci sont appelés messages.
▫ Acteurs
Représentés par des personnages-allumettes comme
dans les diagramme de cas d’utilisation
▫ Messages
«S EG
D. Am
3700 »
Représentés par des flèches horizontales
y
U. Ott a ot
wa
3
7
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
Diagramme de séquence
• L'objectif est de objet1:classe1 objet2:classe2 objet3;classe3
représenter la
acteur
échanges de
messages entre Message2
"objets".
Message3
Message4
«S EG
3700 »
D. Am
y
U. Ott a ot Message5
wa
4
Diagramme de séquence
• Un diagramme de séquence présente une
interaction en insistant sur le temps, en présentant
la séquence (ordre) des messages échangés entre les
objets
• Un diagramme de séquence est à deux dimensions
▫ dimension verticale : le temps;
L'ordre d'envoi d'un message est déterminé par sa position
sur l'axe vertical du diagramme ; le temps s'écoule "de haut
en bas de cet axe
▫ dimension horizontale : les objets (et les acteurs)
«S EG
Objets
3700 »
D. Am
y
U. Ott a ot
wa
Diagramme de séquence
objets
Temps
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
5
Diagramme de séquence
Concepts
• Les participants
▫ Ligne de vie
▫ Zones d’activation
• Les messages
• Les structures de contrôle
▫ Alt: conditionnelle
▫ Loop: boucle
▫ Réf: référence à un autre diagramme de séquences
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
Participants
• Ligne de vie
▫ Une ligne de vie représente l'existence d'un objet
pendant une période de temps
• Activation
▫ Une activation représente le temps durant lequel
un objet est actif, c'est à dire en train d'exécuter
une opération
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
6
13
MESSAGE
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
Message
Séquencement
• Le séquencement des messages est spécifié par la
position verticale des messages échangés
• Représentation graphique
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
7
Message Synchronisation
• La synchronisation est le mode par défaut des messages
d’appel, de retour, de création et de destruction
• Un message synchrone signifie que l’objet émetteur se
bloque en attendant la réponse du récepteur du message
▫ Le contrôle est passé de l'appelant à l'appelé;
▫ l'opération de l'appelant est suspendue
▫ Le contrôle est rendu à l'appelant à la fin de l'opération
appelée; l'appelant reprend l'exécution de l'opération en
«S EG
cours
3700 »
D. Am
y
U. Ott a ot
wa
Message Concurrence
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
8
Message Itération
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
Message Réccursion
• Un message peut être récursif
• Représentation graphique
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
9
Exemple
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
20
Exemple
:CourseSection :Student
requestToRegister :Registration
<<create>>
addToSchedule
addToRegistrationList
10
Structure de contrôle
• Les différentes structures de contrôle sont:
▫ Opt
▫ Loop
▫ Alt
▫ Ref
▫ ….
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
11
Structure de contrôle (Suite)
• Loop
▫ Répétition du fragment tant que la condition est
vérifiée
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
• Alt
▫ Équivalent à la structure de contrôle "si .. alors ..
sinon"
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
12
Structure de contrôle(Suite)
• Ref
▫ Fait référence à un autre diagramme
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
Exercice 1
Le déroulement normal d’utilisation d’une caisse de supermarché est
le suivant
• un client arrive à la caisse avec ses articles à payer
• le caissier enregistre le numéro d’identification de chaque article,
ainsi que la quantité si elle est supérieure à 1
• la caisse affiche le prix de chaque article et son libellé
• lorsque tous les achats sont enregistrés, le caissier signale la fin de
la vente la caisse affiche le total des achats
• le caissier annonce au client le montant total à payer
• le client choisit son mode de paiement
▫ liquide : le caissier encaisse l’argent, la caisse indique le montant
à rendre au client
▫ chèque : le caissier note le numéro de pièce d’identité du client
▫ carte de crédit : la demande d’autorisation est envoyée avant la
saisie
• la caisse enregistre la vente et l’imprime
• le caissier donne le ticket de caisse au client
Modéliser cette situation à l’aide d’un diagramme de séquence en ne prenant en
«S EG compte que le cas du paiement en liquide.
3700 »
D. Am
y
U. Ott a ot
wa
13
Exercice 2: Imprimante
• A partir du diagramme de classe ci-dessus
▫ Rédigez un diagramme de séquence pour modéliser
le scénario où un utilisateur voudrait imprimer un
fichier
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
14
29
Diagramme de communication
• Un diagramme de communication illustre
comment les objets coopèrent dans la réalisation
d’une interaction
▫ Un diagramme de communication est un graphe
dont les objets sont les sommets.
▫ Des liens de communication sont ajoutés entre ces
objets
▫ Les messages sont associés à ces liens.
«S EG
3700 »
Représentés par des flèches
D. Am
y
▫ L’ordonnancement temporel est indiqué à l’aide
U. Ott a ot
wa d’une numérotation
30
exemple
1: requestToRegister(aStudent) 2: prereq := getPrerequisite
<<local>>
GUI :CourseSection :Course
3: hasPrerequisite :=
hasPassedCourse(prereq)
<<parameter>> 5: addToRegistrationList
4: [hasPrerequisite] <<parameter>>
<<create>>
aStudent: :Registration
Student
6: addToSchedule
«S EG
3700 »
<<parameter>>
D. Am
y
U. Ott a ot
wa
15
31
Chapitre 8: Modéliser
interactions et
comportement
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
Diagramme de collaboration:
Syntaxe des envois de message
▫ 4 : Afficher (x, y) -- message simple
▫ 3.3.1 : Afficher (x, y) -- message imbriqué
▫ 4.2 : âge := Soustraire (Aujourd’hui,
DateDeNaissance) – message imbriqué avec valeur
retournée
▫ [Age >= 18 ans] 6.2 : Voter () -- message
conditionnel
▫ 1 * : Laver () -- itération
«S EG
3700 »
D. Am
y
U. Ott a ot
wa
16
33
34
17