04/02/2010
1
UML
(Unified Modeling Language) langage de modélisation objet unifié
Philippe Chochois
2
Les objets collaborent…
Le diagramme de collaboration
unVoisin leMaitre leChien
1. Faire silence
3. Ronfler
2. Dormir
Le diagramme de séquences
unVoisin
leChien leMaitre
Faire silence
Dormir
Ronfler
3
Le diagramme de séquences
L’objectif du diagramme de séquences est de représenter les interactions entre objets en indiquant la chronologie des échanges.
Le temps figure dans le diagramme de façon implicite et s’écoule de haut en bas
Il est possible de faire apparaître l’utilisateur dans le diagramme de séquences (comme dans les cas d’utilisation)
On fait souvent apparaître les lignes de vie des objets (représentées par des lignes pointillées).
Les réponses aux messages (ou retours de messages) sont représentées par des flèches en pointillé.
Pour plus de clarté, il n’est pas souhaitable de faire apparaître toutes les interactions sur un seul diagramme mais plutôt sur plusieurs reliés entre eux.
4
Le diagramme de séquences
Exercice: Cas « Personnel d’agence bancaire » Les agences dépendent d’une Direction régionale qui a le pouvoir de décider de leur création. Dans chaque agence travaille du personnel qui est recruté lorsque l’agence est créée.
1)
Représentez le diagramme de séquences en montrant l’échange de messages pour créer des agences et son personnel.
5
Le diagramme de séquences
Exercice: Cas « Personnel d’agence bancaire » Les agences dépendent d’une Direction régionale qui a le pouvoir de décider de leur création. Dans chaque agence travaille du personnel qui est recruté lorsque l’agence est créée.
6
Le diagramme de séquences
Au niveau de l’envoi de messages, on distingue:
L’envoi d’un signal ou l’invocation d’une opération
La création d’une instance (ou d’un objet)
La destruction d’une instance
Et aussi:
Les messages asynchrones (le message suivant peut être envoyé)
Les messages synchrones (Cas standard: bloque le message suivant)
Les objets peuvent:
être nommés avec un nom explicite (exemple: leChien, chien1...)
porter le nom de la classe précédé de “:” (2 points)
Objet: Classe
04/02/2010
2
7
Le diagramme de séquences
Exercice: Caisse de supermarché:
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 compte que le paiement en liquide.
8
Le diagramme de séquences
Autres possibilités du diagramme de séquences:
Les contraintes (ex: la quantité d’essence ne peut être que positive)
Les éléments indispensables
Les gardes et les messages envoyés sous condition
Les messages répétitifs
Les messages envoyés en parallèle
Les messages à ignorer et les messages à considérer
Les diagrammes trop complexes: Utilisation des références
Les messages ordonnancés strictement
9
Le diagramme de séquences
Exercice:
Un robot qui a pour but de chercher des pièces est composé d’un bras articulé
Un bras articulé peut se déplier et se replier et est doté d’une pince
La pince peut s’ouvrir et se fermer
Lorsque l’utilisateur indique au robot de chercher une pièce,le robot déplie son bras, attrape la pièce avec sa pince, replie son bras puis relache la pièce.
Après avoir représenté le diagramme de classes, dessiner le diagramme de séquences.
10
Le diagramme de séquences
11
Le diagramme de séquences
12
Le diagramme de séquences
Exercice :
Complétez le diagramme de séquence précédent sur le robot pour ajouter 2 capteurs (une caméra et un détecteur de chocs).
Les capteurs peuvent envoyer des messages à tout moment au robot.
En cas de problème, un opérateur humain (appelé le pilote) pourra envoyer au robot un message d’arrêt d’urgence qui arrêtera son moteur.
Dessiner le diagramme de séquences.
04/02/2010
3
13
Le diagramme de séquences
14
Le diagramme de séquence
Exemple : saisie d’une facture; le prix des produits est réduit en fonction du nombre commandé.
Modèle trop centralisé
Les responsabilités sont mal réparties
La réutilisation est difficile
15
Le diagramme de séquence
Modèle décentralisé
Les responsabilités sont réparties
La réutilisation est possible
16
Le diagramme de séquences
Exemple d’utilisation de références:
Dans le cas d’un scénario de décollage d’avion, le pilote doit contrôler une
“check-list” (C’est le pilote qui contrôle son avion)
La tour de contrôle n’entamera le procédure de décollage qu’une fois la check- list validée par le pilote.
:TourDeContrôle :Pilote :Avion
Contrôler check list
Procédure de décollage strict
ref
ref Décollage d'un avion
-
17
Le diagramme de séquences
Exemple d’utilisation d’alternatives:
Dans le cas d’un retrait d’argent à un distributeur, le client indique au distributeur la langue de son choix.
Le distributeur affiche alors l’écran en anglais ou en français selon le choix.
-
AfficherEcranEnAnglais AfficherEcranEnFrançais ChoixLangue(langue)
:Client :Distributeur
[ langue == "Français" ] alt
[ else ]