MERISE 2 :
Problème :
Gestion des souris, dans le cadre plus général de la gestion d’un parc informatique
Données
du problème :
Le Lycée X souhaite établir une base de données pour la gestion du parc informatique. Face aux nombreux problèmes liés aux souris, l’intendant a négocié un contrat avec un prestataire de service informatique qui s’engage à remplacer les souris déféctueuses dans la limite d’un quota annuel. Les souris volés sont remplacés aux frais du lycée et ne sont donc pas couverte par le contrat
Quelques règles de gestions et contraintes diverses :
- Les souris ne sont pas individualisées : lors de l’achat d’un micro, une souris standard est livrée avec le micro ordinateur
- Pour un ordinateur donné la souris peut-être soit en panne (à une date donnée) soit volée (à une date donnée) soit ni l’un ni l’autre
- Une souris remplacée pour cause de panne peut ultérieurement être volée
- Une souris remplacée pour cause de panne peut l’être plusieurs fois (dans le cas rare où la souris fournie par la société est elle même défectueuse), pour cela un numéro d’ordre séquentiel permet de suivre le remplacement de souris pour cause de panne d’un ordinateur
On supposera que les souris remplacés suite à une panne ne sont pas garantis et qu’un autre remplacement sera pris en compte dans la détermination du quota
TAF :
1) MCD du sous domaine (gestion des souris)
2) SLD relationnel
3) Formulation de requêtes
a) On souhaite connaître à une date donnée (par exemple la date d’échéance du contrat), le nombre de souris remplacé pour cause de pannes
b) On souhaite connaître à une date donnée le nombre de souris remplacés pour cause de pannes ayant fait l’objet d’un vol ?
4) On souhaiterait connaître le nombre de souris ayant fait l’objet d’un vol. Quels changements faudrait il apporter au MCD pour pouvoir y arriver ?
5) comment
peut on gérer les quotas fixés par le contrat
au niveau du MCD (question mal formulée)
PROPOSITION DE CORRIGE QUE JE SOUMET AU LECTEUR POUR AMELIORATIONS
1) MCD
Non Couverture+disjonction=Exclusion
Paramètres :
Date Echéance Contrat
Si contrat global pour l’ensemble des souris
Et Quota à remplacer
2) SLD relationnel :
ORDI(Num_ordi,….)
Panne_SOURIS(Num_ordi, date_Panne)
VOL(Num Ordi,
Date Vol)
ETAT (Date_panne, NumRemplacement, #date_vol)
Rmq : Date panne et Date Vol concerne les pannes ou les vols de souris (il s’agit des dates de remplacement de souris et non la date de constatation de l’événement panne ou vol)
La relation ETAT permet de suivre les souris remplacées pour cause de panne. Pour un ordi donné, une souris remplacé l’est au moins une fois (numremplacement prend les valeurs de 1 à … (lien identifiant), ce qui suppose que les souris remplacées pour cause de panne ne sont pas garanties et que leur remplacement nouveau entre dans le quota maximum. Si une souris remplacée est volée, elle change d’état (la clé étrangère date vol devient alors non nulle Par contre lorsqu’une souris remplacée n’est pas volée, la clé étrangère est nulle
Pour le quota, on peut peut être prévoir une entité contrat
3) requêtes
a) Pour connaître le nombre de souris remplacés, il suffit de faire une requête permettant d’obtenir le CUMUL des numéros de remplacements à partir de la relation ETAT (avec sélection sur la date de remplacement <=[Saisissez une date]date du jour.
b) Nombre de souris remplacés pour cause de pannes ayant fait l’objet d’un vol :
Il suffit de faire un comptage sur le champ #DateVol de la relation ETAT
4) Le MCD ne permet pas de connaître le nombre de souris volés
Ajouter dans Vol Souris une variable Numvol qui augmenterait de un à chaque fois que pour un ordi donné une souris est volé (on ne conserverait pas l’historique des dates)
Est ce conforme à Merise ?
Solution possible ( ??) pour historiser les vols :
1,1 ETAT_VOL
NumVol
5) Prise en compte des quotas et des contrats
???