Vous êtes sur la page 1sur 34

Bertrand

LE GAL
Maître de conférences
Langage UML
ENSEIRB
bertrand.legal@enseirb.fr
“Mise en pratique”
http://uuu.enseirb.fr/~legal/

Laboratoire IMS
bertrand.legal@ims-bordeaux.fr
Université de Bordeaux 1
351, cours de la Libération
33405 Talence - France

Filière Electronique
2ème année
2007 / 2008
Sujet de l’étude - la bibliothèque

! Un gérant de bibliothèque désire automatiser la gestion des prêts. Il


commande un logiciel permettant de répondre à la liste des besoins
suivants :
1. Les utilisateurs peuvent connaître les livres présents et en réserver jusqu'à 2 en
même temps.
2. L'adhérent peut connaître la liste des livres qu'il a empruntés ou réservés.
3. L'adhérent possède un mot de passe qui lui est donné à son inscription.
4. L'emprunt est toujours réalisé par les employés qui travaillent à la bibliothèque.
Après avoir identifié l'emprunteur, ils savent si le prêt est possible (nombre
maximum de prêts = 5), et s'il a la priorité (il est celui qui a réservé le livre, si ce
dernier est réservé).
5. Ce sont les employés qui mettent en bibliothèque les livres rendus et les
nouveaux livres. Il leur est possible de connaître l'ensemble des prêts réalisés
dans la bibliothèque.

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 2 Langage de modélisation UML : Mise en Pratique
Identification des acteurs du système

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 3 Langage de modélisation UML : Mise en Pratique
Identification des acteurs du système

Employé Client

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 4 Langage de modélisation UML : Mise en Pratique
Liste des cas d’utilisation

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 5 Langage de modélisation UML : Mise en Pratique
Liste des cas d’utilisation

Connaître
Réserver un
les livres
livre
empruntés

Connaître Ajouter de
les livres nouveaux
présents livres

Remettre un Réaliser un
livre emprunt

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 6 Langage de modélisation UML : Mise en Pratique
Diagramme de cas d’utilisation

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 7 Langage de modélisation UML : Mise en Pratique
Diagramme de cas d’utilisation

La bibliothèque

Réserver un
livre

Connaître
les livres
empruntés

Connaître
Client les livres
présents

Remettre un
livre

Ajouter de
nouveaux
livres

Réaliser un
Employé emprunt

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 8 Langage de modélisation UML : Mise en Pratique
Diagramme de cas d’utilisation (développé)

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 9 Langage de modélisation UML : Mise en Pratique
Diagramme de cas d’utilisation (développé)

La bibliothèque

Réserver un
livre Connaître
les livres
empruntés
Par carte de
membre

Connaître
Client les livres
présents
Identification

Remettre un
livre

Par mot de
Ajouter de passe
nouveaux
livres
Réaliser un
Employé emprunt

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 10 Langage de modélisation UML : Mise en Pratique
Scénario d’un cas d’utilisation (description)
! Description simplifiée de la réservation d’un livre :
1. Le système affiche un écran d'accueil
2.Le client choisit l’opération de réservation parmi les actions
disponibles
3.Le système demande à l’utilisateur de s'authentifier
4.L’utilisateur fournit alors ses identifiants (login et mot de
passe)
5.Le système lui demande de choisir un livre parmi les
exemplaires disponibles à la bibliothèque.
6.Le client sélectionne le livre qu’il désire réserver.
7.Le système accuse la demande et confirme à l’utilisateur que
la réservation a été effectuée.

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 11 Langage de modélisation UML : Mise en Pratique
Scénario d’un cas d’utilisation (description)
! Description simplifiée de la réservation d’un livre :
1. Le système affiche un écran d'accueil
2.Le client choisit l’opération de réservation parmi les actions
disponibles
3.Le système demande à l’utilisateur de s'authentifier
4.L’utilisateur fournit alors ses identifiants (login et mot de
passe)
5.Le système lui demande de choisir un livre parmi les
exemplaires disponibles à la bibliothèque.
6.Le client sélectionne le livre qu’il désire réserver.
7.Le système accuse la demande et confirme à l’utilisateur que
la réservation a été effectuée.

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 12 Langage de modélisation UML : Mise en Pratique
Scénario d’un cas d’utilisation (conditions)

! Pré-conditions
✦ Le client doit être inscrit à la bibliothèque
✦ Le client ne doit pas avoir atteint le nombre maximum de réservations autorisées
✦ Un exemplaire du livre doit être disponible

! Post-conditions
✦ Le client a une réservation supplémentaire
✦ Le nombre d’exemplaires disponible du livre est décrémenté de une unité.

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 13 Langage de modélisation UML : Mise en Pratique
Scénario d’un cas d’utilisation (conditions)

! Pré-conditions
✦ Le client doit être inscrit à la bibliothèque
✦ Le client ne doit pas avoir atteint le nombre maximum de réservations autorisées
✦ Un exemplaire du livre doit être disponible

! Post-conditions
✦ Le client a une réservation supplémentaire
✦ Le nombre d’exemplaires disponible du livre est décrémenté de une unité.

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 14 Langage de modélisation UML : Mise en Pratique
Les variantes possibles dans le scénario

! Listez de manière exhaustive les variantes pouvant avoir lieu dans le


scénario (réservation) :
✦ En (6), le client demande à connaître la liste des livres
présents à la bibliothèque.
✦ En (4), le client n’est pas reconnu, la phase d'identification
réitère jusqu’à ce que cela soit OK.
✦ En (4), le client est reconnu mais le password est incorrect.
5 tentatives autorisées puis bannissement du client pour la
journée.
✦ En (5), le système indique au client qu’il n’a plus le droit de
réserver car son plafond est atteint.
✦ En (7), le livre demandé n’est plus disponible.

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 15 Langage de modélisation UML : Mise en Pratique
Les variantes possibles dans le scénario

! Listez de manière exhaustive les variantes pouvant avoir lieu dans le


scénario (réservation) :
✦ En (6), le client demande à connaître la liste des livres
présents à la bibliothèque.
✦ En (4), le client n’est pas reconnu, la phase d'identification
réitère jusqu’à ce que cela soit OK.
✦ En (4), le client est reconnu mais le password est incorrect.
5 tentatives autorisées puis bannissement du client pour la
journée.
✦ En (5), le système indique au client qu’il n’a plus le droit de
réserver car son plafond est atteint.
✦ En (7), le livre demandé n’est plus disponible.

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 16 Langage de modélisation UML : Mise en Pratique
Diagramme de classes (1/2)

! Proposez une modélisation sous forme de diagramme de


classes des médias disponibles dans une bibliothèque :
livre, CD, vidéo, etc.

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 17 Langage de modélisation UML : Mise en Pratique
Diagramme de classes (1/2)

Média
Auteur
Titre
DateCréation
nb_Exemplaires
nb_Disponibles
Transporter()
Afficher()
Reserver()

Livre CD Vidéo Etc ...


nb_Pages nb_Pistes durée
Afficher() durée totale Afficher() Afficher()
Afficher()

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 18 Langage de modélisation UML : Mise en Pratique
Diagramme de classes (2/2)

! Modéliser sous forme de diagramme de classe l’application


bibliothèque :

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 19 Langage de modélisation UML : Mise en Pratique
Diagramme de classes (2/2)

Bibliothèque

Bibliothécaire Média Adhérent

Prêt

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 20 Langage de modélisation UML : Mise en Pratique
Diagramme de classes (2/2)

Emploie Est Inscrit


Bibliothèque

Contient
A réservé

Bibliothécaire Média Adhérent

Connait
A emprunté

Prêt

A réalisé

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 21 Langage de modélisation UML : Mise en Pratique
Diagramme de classes (2/2)

Emploie Est Inscrit


Bibliothèque
1 1...*

1 1
Contient
A réservé

1...* 1...*
0...2 1
Bibliothécaire Média Adhérent
1...*
0...5 1
1
Connait
A emprunté
1...*
Prêt
0...*

A réalisé

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 22 Langage de modélisation UML : Mise en Pratique
Diagramme de classes (2/2)

Emploie Est Inscrit


Bibliothèque
1 nom 1...*
adresse

1
1
Contient
A réservé
1...*
1...* Adhérent
Média 0...2 1 nom
Bibliothécaire
1...* cf.
adresse numéro (ID)
précédemment 0...5 1 adresse
nom
ancienneté
Connait
1
A emprunté
1...*
Prêt
0...* dateDébut
dateFin
A réalisé

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 23 Langage de modélisation UML : Mise en Pratique
Diagramme de classes (2/2)
Emploie Est Inscrit
Bibliothèque
1 nom 1...*
adresse

1
1
Contient
A réservé
1...*
1...*
Média 0...2 1
Bibliothécaire Adhérent
1...* cf.
ancienneté numéro (ID)
précédemment 0...5 1

Connait
1
A emprunté
1...*
Prêt
0...* dateDébut
dateFin
A réalisé

Personne
nom
adresse

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 24 Langage de modélisation UML : Mise en Pratique
Diagramme de séquences (informations)

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 25 Langage de modélisation UML : Mise en Pratique
Diagramme de séquences (informations)

Système de
prêts
Client

Affichage de l'écran d'accueil (menu)

Choix de l'opération "informations"

Demande d'identification du client

Identification du client (login, password)

Affichage des informations concernant l'utilisateur

Demande de déconnection (fin de consultation)

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 26 Langage de modélisation UML : Mise en Pratique
Diagramme de séquences (réservation)

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 27 Langage de modélisation UML : Mise en Pratique
Diagramme de séquences (réservation)

Système de
prêts
Client

Affichage de l'écran d'accueil (menu)

Choix de l'opération "réservation"

Demande d'identification du client

Identification du client (login, password)

Demande d'identification de l'ouvrage

Identification du livre

Message "Réservation OK"

Demande de déconnection

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 28 Langage de modélisation UML : Mise en Pratique
Diagramme de séquences (réservation 2)

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 29 Langage de modélisation UML : Mise en Pratique
Diagramme de séquences (réservation 2)

Système de
prêts
Client

Affichage de l'écran d'accueil (menu)

Choix de l'opération "réservation"

Demande d'identification du client

Identification du client (login, password)

Refus : trop de livre déjà réservés !

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 30 Langage de modélisation UML : Mise en Pratique
Diagramme états - transitions (livre)

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 31 Langage de modélisation UML : Mise en Pratique
Diagramme états - transitions (livre)

Achat
Etat final
Destruction
Etat initial (poubelle)

Livre
libre

Emprunt Réservation
Evénements Restitution Libération
(condition)

Livre Livre
preté Emprunt réservé

Etats

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 32 Langage de modélisation UML : Mise en Pratique
Diagramme états - transitions (adhérent)

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 33 Langage de modélisation UML : Mise en Pratique
Diagramme états - transitions (adhérent)

Inscription

Désinscription

Client
"vierge"
Réservation
Emprunt Libération
Restitution

Pret(s) Réservation(s)
en cours en cours

Pret Emprunt &


& Restitution restitution
Réservation(s)
et prets en
cours

Bertrand LE GAL - ENSEIRB / Laboratoire IXL 34 Langage de modélisation UML : Mise en Pratique