Upload
buihanh
View
216
Download
0
Embed Size (px)
Citation preview
Corrigé du BE1–2
ajouter catégorie client
modifier catégorie client
supprimer catégorie client
modifier caractéristiques client
renouveler inscription client
inscrire client
résilier client
changer client de catégorie
afficher caractéristiques client
changer adresse
consulter emprunts client
Employé médiathèque
client médiathèque
Figure 1 : Diagramme de cas d’utilisation portant sur les clients
1 Corrigé-typeIl s’agit de gérer dans un logiciel les prêts de documents dans une médiathèque.
1.1 Analyse de textePour trouver les acteurs, les fonctionnalités et les classes, on utilise la technique de l’analyse du texte quidécrit le problème posé.
1.2 Diagramme de cas d’utilisationLes personnes ayant accès aux fonctionnalités du système sont les employés de la médiathèque et les clientsde la médiathèque. Ce sont les deux types d’« acteur » de ce système. Les différentes opérations qui leursont accessibles ont été symbolisées dans deux diagrammes de cas d’utilisation. Dans les deux figures, nouslions les deux acteurs par une généralisation spécialisation pour indiquer que les employés de la médiathèqueont accès à toutes les fonctionnalités des clients, mais que l’inverse n’est pas vrai. Le premier sur la figure 1est spécialisé dans les cas d’utilisation associés à la partie qui gère les clients dans l’application. Le seconddiagramme de cas d’utilisation sur la figure 2 représente les cas d’utilisation associés à la partie qui gère lesdocuments et les emprunts dans l’application.
Ces diagrammes sont utiles notamment pour trouver la classe Médiathèque (point d’entrée du système)et ses opérations.
1.3 Liste des classes candidates et de leurs attributs
• Médiathèque
• Catégorie de client
• Client
• Document
• Audio (appelée « CD audio » dans le cahier descharges)
• Vidéo (appelée « DVD » dans le cahier descharges)
• Livre
• Localisation
• Fiche d’emprunt
• Genre
Télécom SudParis — Équipe enseignante — Octobre 2015 — CSC 4002 2
Corrigé du BE1–2
Employé médiathèque
client médiathèque
retirer document
rendre empruntable document
rendre consultable document
emprunter document
restituer document
trouver les emprunts en retard
afficher les statistiques
consulter catalogue documents
ajouter une audio
ajouter un livre
ajouter une vidéo
Figure 2 : Diagramme de cas d’utilisation portant sur les documents
Il est facile de voir la généralisation spécialisation Document qui contient les attributs communs à sesclasses enfant : Audio, Vidéo et Livre. Concernant les clients, comme nous désirons qu’ils puissent changerde catégorie, nous préférons introduire une classe Catégorie de client et ne pas mettre de généralisationspécialisation pour la classe Client. En effet, si nous avions organisé les clients dans une hiérarchie de classes :Client en classe parente, et Abonné, Tarif réduit et Tarif Normal en classes enfants, alors pour changer un clientde catégorie il aurait fallu le supprimer puis le recréer comme une instance d’un autre type. Cette dernièreméthode n’est pas naturelle.
Les attributs suivants sont repris de l’énoncé :
• Médiathèque
– nom : string
• Client
– nom : string– prénom : string– adresse : string– dateInscription : string– dateRenouvellement : string
• CatégorieClient
– nbEmpruntsMax : integer– cotisation : float– coefTarif : float– coefDurée : float
• Document
– code : string– titre : string– auteur : string– année : string– empruntable : boolean
• Genre
– nom : string– nbEmprunts : integer
• Audio
– classification : string
• Vidéo
– durée : integer– mentionLégale : string
• Livre
Télécom SudParis — Équipe enseignante — Octobre 2015 — CSC 4002 3
Corrigé du BE1–2
– nombrePage : integer
• FicheEmprunt
– dateEmprunt : date– dateLimite : date
– dateRappel : date
• Localisation
– salle : string– rayon : string
1.4 Premières opérations des classesLes opérations suivantes sont reprises de l’énoncé :
• Médiathèque
– ajouterCatégorieClient– modifierCatégorieClient– supprimerCatégorieClient– inscrireClient– changerClientCatégorie– afficherCaractéristiquesClient– modifierCaractéristiquesClient– renouvelerInscriptionClient– résilierClient– changerAdresseClient– consulterEmpruntsClient– ajouterAudio– ajouterLivre– ajouterVidéo– rendreConsultableDocument– rendreEmpruntableDocument– retirerDocument– emprunterDocument
– restituerDocument– trouverEmpruntsEnRetard– afficherStatistiques– consulterCatalogueDocuments
• FicheEmprunt
– calculer le tarif– vérifier les emprunts
• Client
– bloquer/débloquer– pouvoir emprunter– changer une adresse
• Document
– localiser– être empruntable
• Vidéo
– afficher la mention légale
Comme indiqué dans l’introduction, la classe Médiathèque regroupe la plupart des opérations. D’unpoint de vue analyse, cette classe joue le rôle d’interface utilisateur pour le système (patron de conception« Façade »).
1.5 Diagramme de classesLe diagramme de classes obtenu lors d’une première analyse à partir de l’énoncé du problème est donné dansla figure 3. Dans ce diagramme :
• les opérations ne sont pas mentionnées ;
• l’absence de multiplicité sur les liens signifie une multiplicité « 1 » ;
• les attributs dont le nom est souligné sont des attributs de classe (la valeur est commune à toutes lesinstances de cette classe), les autres attributs sont des attributs d’instance (chaque instance possèdeune valeur qui lui est propre).
Le diagramme de classes de la figure 4 est celui que nous utilisons dans la suite des bureaux d’étude.C’est celui que nous obtenons en raffinant le premier diagramme de classes avec l’utilisation des conceptsavancés des diagrammes de classes :
• navigabilité des associations,
Télécom SudParis — Équipe enseignante — Octobre 2015 — CSC 4002 4
Corrigé du BE1–2
Lo
calis
atio
n
Gen
re
*n
om
:str
ing
*
clas
sifi
cati
on
:str
ing
Au
dio
Méd
iath
èqu
e
Do
cum
ent
posséder
est rangé *
Vid
éo
no
mb
reP
age:
inte
ger
Liv
re
*
salle
:str
ing
rayo
n:s
trin
g
no
m:s
trin
gn
bE
mp
run
ts:i
nte
ger
=0
cod
e:st
rin
gti
tre:
stri
ng
aute
ur:
stri
ng
ann
ée:s
trin
gem
pru
nta
ble
:bo
olé
en=
F
du
réeF
ilm:i
nte
ger
men
tio
nL
égal
e:st
rin
g
no
m:s
trin
gp
ren
om
:str
ing
adre
sse:
stri
ng
DU
RÉ
E:i
nte
ger
=4*
7T
AR
IF:d
ou
ble
=1.
0D
UR
ÉE
:in
teg
er=
2*7
TA
RIF
:do
ub
le=
1.5
DU
RÉ
E:i
nte
ger
=6*
7T
AR
IF:d
ou
ble
=0.
5
Clie
nt
con
cern
er
*
*
*
*C
ateg
ori
eClie
nt
coef
Du
rée:
do
ub
leco
deR
edu
ctio
nA
ctif
:bo
ole
an
coef
Tar
if:d
ou
ble
coti
sati
on
:do
ub
len
bE
mp
run
tsM
ax:i
nte
ger
no
mC
at:
stri
ng
dat
eIn
scri
pti
on
:Dat
ed
ateR
eno
uve
llem
ent:
Dat
en
bE
mp
run
tsE
ffec
tues
:in
teg
er=
0n
bE
mp
run
tsD
epas
ses:
inte
ger
=0
nb
Em
pru
nts
En
cou
rs:i
nte
ger
=0
cod
eRéd
uct
ion
:in
teg
er
/em
pru
nté
:bo
olé
en=
Fn
bE
mp
run
t:in
teg
er=
0
concerner
appartenir
*F
ich
eEm
pru
nt
dat
eEm
pru
nt:
Dat
ed
ateL
imit
e:D
ate
dat
eRap
pel
:Dat
e
0..1
*
/dép
assé
:bo
olé
en/t
arif
:do
ub
le
Figure 3 : Diagramme de classes directement obtenu de l’analyse du cahier des chargesTélécom SudParis — Équipe enseignante — Octobre 2015 — CSC 4002 5
Corrigé du BE1–2
• composition,
• attribut dérivé,
• attribut de classe pour les statistiques,
• classe abstraite,
• interface.
Comme indiqué lors du cours, vous n’êtes pas censé obtenir un diagramme avec ce niveau de précision.Le diagramme de classes comprend également une interface. Empruntable donne le comportement (en-
semble d’opérations) des documents vis-à-vis de l’emprunt (le tarif et la durée de prêt en fonction du typede document).
Télécom SudParis — Équipe enseignante — Octobre 2015 — CSC 4002 6
Corrigé du BE1–2
Lo
calis
atio
n
Gen
re
*C
ateg
ori
eClie
nt
*n
om
:str
ing
*
clas
sifi
cati
on
:str
ing
nb
Em
pru
nts
To
tal:
inte
ger
=0
*
Au
dio
Méd
iath
èqu
e
<<
inte
rfac
e >
>E
mp
run
tab
le
Do
cu
men
t
posséder
est rangé *
*
Vid
éo
no
mb
reP
age:
inte
ger
Liv
re
nb
Em
pru
nts
To
tal:
inte
ger
=0
DU
RÉ
E:i
nte
ger
=6*
7T
AR
IF:d
ou
ble
=0.
5
TA
RIF
:do
ub
le=
1.0
DU
RÉ
E:i
nte
ger
=4*
7
Clie
nt
*
salle
:str
ing
rayo
n:s
trin
g
no
m:s
trin
gn
bE
mp
run
ts:i
nte
ger
=0
du
réeE
mp
run
t():
inte
ger
tari
fEm
pru
nt(
):d
ou
ble
cod
e:st
rin
gti
tre:
stri
ng
aute
ur:
stri
ng
ann
ée:s
trin
gem
pru
nta
ble
:bo
olé
en=
F/e
mp
run
té:b
oo
léen
=F
nb
Em
pru
nts
:in
teg
er=
0
du
réeF
ilm:i
nte
ger
men
tio
nL
égal
e:st
rin
gn
bE
mp
run
tsT
ota
l:in
teg
er=
0D
UR
ÉE
:in
teg
er=
2*7
TA
RIF
:do
ub
le=
1.5
no
m:s
trin
gp
ren
om
:str
ing
adre
sse:
stri
ng
0..1
*
con
cern
er
concerner
*
coef
Du
rée:
do
ub
leco
deR
edu
ctio
nA
ctif
:bo
ole
an
coef
Tar
if:d
ou
ble
coti
sati
on
:do
ub
len
bE
mp
run
tsM
ax:i
nte
ger
no
mC
at:
stri
ng
dat
eIn
scri
pti
on
:Dat
ed
ateR
eno
uve
llem
ent:
Dat
en
bE
mp
run
tsE
ffec
tues
:in
teg
er=
0/n
bE
mp
run
tsD
epas
ses:
inte
ger
=0
/nb
Em
pru
nts
En
cou
rs:i
nte
ger
=0
cod
eRéd
uct
ion
:in
teg
er
appartenir
*F
ich
eEm
pru
nt
dat
eEm
pru
nt:
Dat
ed
ateL
imit
e:D
ate
/tar
if:d
ou
ble
/dép
assé
:bo
olé
end
ateR
app
el:D
ate
enR
etar
d:b
oo
leen
Figure 4 : Diagramme de classes complets
Télécom SudParis — Équipe enseignante — Octobre 2015 — CSC 4002 7