TD diagrammes UML
Les diagrammes de cas d’utilisation modélisent à QUOI sert le système, en organisant les
interactions possibles avec les acteurs.
Les diagrammes de classes permettent de spécifier la structure et les liens entre les objets dont le
système est composé : ils spécifie QUI sera à l’oeuvre dans le système pour réaliser les
fonctionnalités décrites par les diagrammes de cas d’utilisation.
Les diagrammes de séquences permettent de décrire COMMENT les éléments du système
interagissent entre eux et avec les acteurs :
Les objets au coeur d’un système interagissent en s’échangeant des messages.
Les acteurs interagissent avec le système au moyen d’IHM (Interfaces Homme-Machine).
Rappel sur la représentation graphique des diagrammes de cas d’utilisation :
- système : rectangle
- acteur et organisme
- héritage entre acteurs
- cas d’utilisation : élipse
- étend : un cas d’utilisation étend un autre
- inclut : un cas d’utilisation inclut un autre
Exercice 1 : cas d’utilisation
Dans un magasin de vêtements, le processus de vente est le suivant : le client entre, passe dans les
rayons, demande éventuellement des renseignements à un vendeur ou procède à des essais de
vêtements, prend des articles (si le stock est suffisant), passe à la caisse où il règle ses achats (avec
tout moyen de paiement accepté : CB, liquide, chèque). Il peut éventuellement bénéficier d’une
réduction.
1. Repérer les différents acteurs/organismes concenrés
2. Récapituler les différentes actions effectuées
3. Modéliser cette situation par un diagramme de cas d’utilisation
Rappel sur la représentation des diagrammes de séquences :
Les objets au coeur d’un système interagissent en s’échangent des messages.
Les acteurs interagissent avec le système au moyen d’IHM (Interfaces Homme-Machine).
- acteurs
- ligne de vie : objet ou acteur
- messages : flèches
envoi
synchrones (pointe de flèche pleine) bloque l’expéditeur jusqu’à la réponse du destinataire
(nécessite un retour)
retour de résultat : flèche en pointillés
asynchrones (pointe ouverte)
alt : alternatives, opérateur conditionnel (la condition est sur la marge gauche)
opt : optionnel
loop : opérateur d’itération
Les fonctions sont définies dans la classe du récepteur du message
1/4
Exercice 2 : diagramme de séquences
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 euros ;
4. Le système guichet interroge le système central pour s'assurer que le compte est susamment
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é.
Question : Donner le diagramme de séquences associé à cette description textuelle.
Exercice 3 : diagramme de séquences
On s'intéresse à la modélisation dynamique de la gestion d'une bibliothèque. Pour emprunter un
livre, on a le scénario suivant :
1) L'adhérent se présente au comptoir et la bibliothécaire saisit la fonctionnalité pour emprunter un
livre de l'application.
2) D'abord, il faut vérifier si l'adhérent a le droit d'emprunter des livres (carte valide, nombre de
livres déjà empruntés ne dépasse pas un seuil fixé, …).
3) En suite, il faut vérifier si le livre est disponible.
4) Si tout va bien, on crée un nouveau prêt avec la date de prêt et la date de retour, associé avec
l'adhérent et le livre choisit.
5) On rend le livre indisponible.
6) On incrémente le nombre de livres empruntés par l'adhérent.
Etablir le diagramme de séquence de ce scénario de cas d'utilisation Emprunter livre.
Rappel sur la représentation graphique des diagrammes d’acctivités :
- travée : acteur - organisme/service
- noeud d’activité : rectangle avec coins arrondis
- nœud d’objet avec état entre []: rectangle avec coins droits
- transitions : flèches en traits pleins
- nœud de contrôle :
• nœud initial : cercle plein
• nœud de fin d'activité : cercle vide contenant un petit cercle plein
• nœud de fin de flot : cercle vide barré d’un X
• nœud de décision : losange – plusieurs choix, conditions entre []
• nœud de fusion (merge node) : losange
• nœud de bifurcation (fork node) : trait plein
• nœud d'union (join node) : trait plein
2/4
Exercice 4 : diagramme d’activités
Un client effectue une demande d’achat d’un produit à un service de vente à distance. Si le produit
est disponible, le service envoie un devis au client qui peut ou non l’accepter. S’il y a accord du
client, le service envoie alors la facture à régler au client et le service de livraison prépare la
commande. Une fois le paiement validée par le service, la commande prête est alors livrée au client.
Le dossier est clos par le service de vente.
Rappel sur la représentation du diagramme états-transitions
décrire le fonctionnement d’une machine (ou d’un objet) ayant un comportement séquentiel.
- état initial : point noir
- état final : point entouré d’un cercle
- état : un rectangle arrondi contenant son nom
- événement sur une transition (flèche) :
événement conditionnel : when(condition booléenne)
événement temporel : when(date=17/12/2010), after(10secondes)
Exercice 5 : diagramme états-transitions
L fonctionnement de la porte de garage motorisée est décrit ainsi .
2 capteurs fdch (fin de course haut) et fdcb (fin de course bas) permettent de savoir si la porte est en
position haute ou basse. L’appuie sur le bouton de la télécommande provoque :
- La montée de la porte si elle est à l’arrêt en position basse ou en position intermédiaire
après une descente.
- La descente de la porte si elle est à l’arrêt en position haute ou en position intermédiaire
après une montée.
- L’arrêt de la porte si elle est en mouvement.
L’action sur fdch ou fdcb provoque l’arrêt de la montée ou de la descente.
1. Donner les différents états de la porte relevés dans l’énoncé
2. Donner le diagramme états-transitions de la porte
Exercice 6 : diagramme de classes :
Il existe trois principaux types de relations entre les classes :
1. Généralisations : héritage flèche terminé par un triangle fermé vide.
2. Associations :
a. association simple (trait simple) : un Etudiant étudie dans une Ecole
b. agrégation : appartenance (trait terminé par une poite en losange vide) : Employé
appartient à une Entreprise, l’employé existe si l’entreprise n’existe plus
c. composition : appartenance forte (trait terminé par un losange noir) : pas d’existence du
contenu sans le contenant : Employé appartient à une Entreprise, si l’entreprise
ferme l’employé n’existe plus
3/4
3. Dépendances : (trait ou flèche en pointillés) une classe dépend d’un autre, un changement dans
une classe entraine un changement dan l’autre.
Exemple : diagramme de classe pour la gestion d’une bibliothèque :
- Books appartient au Catalog
- reference book et general book héritent de Books
Les lecteurs caractérisés par un nom, prénom et un numéro peuvent faire des emprunts et des
retours dans la bibliothèque. Parmi les lecteurs, il y a des membres du personnel de l’université et
des étudiants. Le personnel issus d’un des instituts peut effectuer dans la bibliothèque des
recherches. Les étudiants inscrits dans une formation peuvent également effectuer des recherches et
des retours d’ouvrages empruntés.
Les livres dans le catalogue sont identifiés un auteur et un numéro, ils peuvent être ajoutés ou retirés
du catalogue caractérisé par un domaine. Le catalogue est mis à jour régulièrement.
Deux catégories de livres e trouvent dans ce catalogue ; les Reference book et les général book.
Donner le diagramme de classe et les liaisons entre les classes ainsi que les cardinalités.
4/4