Corrigé du BE1–2
Équipe enseignante

CSC 4002
Octobre 2015
Revision :
1499
suivant
1 Corrigé-type
Il s’agit de gérer dans un logiciel les prêts de
documents dans une médiathèque.
1.1 Analyse de texte
Pour trouver les acteurs, les fonctionnalités et les classes,
on utilise la technique de l’analyse du texte qui décrit le problème
posé.
1.2 Diagramme de cas d’utilisation
Les personnes ayant accès aux fonctionnalités du système sont
les employés de la médiathèque et les clients de la médiathèque. Ce sont les
deux types d’« acteur » de ce système. Les différentes
opérations qui leur sont accessibles ont été symbolisées dans deux diagrammes
de cas d’utilisation. Dans les deux figures, nous lions les deux acteurs
par une généralisation spécialisation pour indiquer que les employés de la
médiathèque ont accès à toutes les fonctionnalités des clients, mais que
l’inverse n’est pas vrai. Le premier sur la figure 1 est
spécialisé dans les cas d’utilisation associés à la partie qui gère les
clients dans l’application. Le second diagramme de cas
d’utilisation sur la figure 2 représente les cas d’utilisation
associés à la partie qui gère les documents 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 des
charges)
- Vidéo (appelée « DVD » dans le cahier des
charges)
- Livre
- Localisation
- Fiche d’emprunt
- Genre
|
Il est facile de voir la généralisation spécialisation
Document qui contient les attributs communs à
ses classes enfant : Audio, Vidéo et Livre. Concernant
les clients, comme nous désirons qu’ils puissent changer de catégorie,
nous préférons introduire une classe Catégorie de
client et ne pas mettre de généralisation spé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 client de catégorie il
aurait fallu le supprimer puis le recréer comme une instance d’un autre
type. Cette dernière méthode n’est pas naturelle.
Les attributs suivants sont repris de l’énoncé :
- Médiathèque
- 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
- Vidéo
- durée : integer
- mentionLégale : string
- Livre
- FicheEmprunt
- dateEmprunt : date
- dateLimite : date
- dateRappel : date
- Localisation
- salle : string
- rayon : string
|
1.4 Premières opérations des classes
Les 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’un point 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 classes
Le diagramme de classes obtenu lors d’une première
analyse à partir de l’énoncé du problème est donné dans la 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 les instances de cette classe), les
autres attributs sont des attributs d’instance (chaque instance possède
une 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 concepts avancés des diagrammes de classes :
- navigabilité des associations,
- 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 (ensemble
d’opérations) des documents vis-à-vis de l’emprunt (le tarif et la
durée de prêt en fonction du type de document).
|