Vous êtes sur la page 1sur 38

La mthode MERISE (Principes)

Introduction
Cration : en 1978-79 par Peter Chen et Hubert Tardieu Aix en Provence
Signifie : MEthode pour Rassembler les Ides Sans Effort ou encore
vient du merisier qui est un porte-greffe !
But : Conception de Systme d'Information (SI) par la modlisation
Pour projets de toutes tailles
La mthode MERISE s'appuie sur 3 points :
Le cycle de vie (trs variable selon les projets)
Gestation et Conception
Ralisation et Exploitation
Maintenance (volution, adaptation, mort)
Le cycle de spcification (ou d'abstraction) du systme d'information (SI)
Domaine des donnes : la mmorisation de l'information
Domaine des traitements : les processus de traitement de l'information
Domaine de Communication Domaine des Donnes

Domaine des traitements

1. Modle Conceptuel de
Communication (MCC)
Intervenant, Domaine,
Message

2. Modle Conceptuel des


Traitements (MCT)
Opration, Rgle de gestion,
Evnements, Rsultats,
Synchronisation des oprations
Dfinition du Quoi, Que faire

Dfinition du Pourquoi

3. Modle Conceptuel des


Donnes (MCD)
Individu, Association, Proprit
Dfinition des limites,
connaissance du domaine et/ou
du vocabulaire du projet
Invariant par rapport la
golocalisation et par rapport au
logiciel qui sera utilis

6. Modle Organisationnel de 5. Modle Organisationnel des


Communication (MOC)
Donnes (MOD)

Extrait du MCD pour chaque


poste de travail
9. Modle Logique de
Communication (MLC)

7. Modle Logique des Donnes


(MLD)
Entit, Relation, Champ, Cl
primaire, Cl trangre, Cl
candidate, Index

Invariant par rapport la


golocalisation et par rapport
l'organisation, la rpartition des
traitements entre l'homme et les
ordinateurs.
4. Modle Organisationnel des
Traitements (MOT)
Phase, Unit Gographique de
Traitement (UGF), Procdure,
Poste de travail, Tche
Dfinition du Qui fait Quoi sur
Quel Poste de travail, ...
8. Modle Logique des
Traitements (MLT)
Transaction, Grille d'cran,
Maquette d'tat,
Module de traitement,
Programme, Consigne

Drivation des MOD en vue de


respecter les rgles logiques d'une
base de donnes
Dpendant de la golocalisation
Invariant par rapport au logiciel
qui sera utilis
11. Modle Physique de
Communication (MPC)

Avec quelle allure gnrale


Dpendant de la golocalisation
Invariant par rapport aux
machines utilises

9. Modle Physique des Donnes 10. Modle Physique des


(MPD)
Traitements (MPT)
Fichier, table, Index
Transaction, Grille, Maquette
Drivation du MLD, Scurit
prcisment Comment et avec
Implantation, Dimensionnement, quels outils ou logiciels
Dpendant du logiciel utilis
Dpendant des matriels et des
logiciels utiliss

Le cycle de dcision
Etape

Objet de l'tape, attendus

Schma
directeur

Choix d'un scnario gnral de dveloppement du SI selon des considrations


historiques, politiques, organisationnelles ou techniques.
Fait apparatre des domaines

Etude
pralable

Pour un domaine, tude suffisante pour fournir tous lments utiles la prise de
dcision du dveloppement ou non de ce domaine ; Peut faire apparatre un ou
plusieurs projets dcids.

Etude dtaille Pour un projet, tude dtaille avec obtention de l'aval des utilisateurs sur les
rgles de gestion et les procdures dfinies
Implique la conception dtaille des modles de donnes et des modles de
traitements
Etude
technique

Pour un projet, dfinition d'une architecture technique et de modalits de


ralisation, ceci avec l'aval des utilisateurs.

Production du Pour un projet, systme en ordre de marche et recett sur jeu d'essai dans un
logiciel
contexte simplifi mais reprsentatif du futur rel
Mise en
oeuvre

Systme implant dans son environnement rel et recett dfinitivement.


Le contexte peut tre multi sites.

Groupes de travail et rle


Groupe de
travail

Rle

Comit de
pilotage

Veiller la participation de toutes les directions de l'entreprise,


Dfinir et faire comprendre tous, les objectifs du SD
Valider les actions du Comit de projet
Prendre les dcisions de choix d'un scnario

Comit de
projet

Planifier et faire respecter le plan global du projet


Assurer la cohrence des diverses actions des groupes de travail

Raliser les aides dcision du groupe de pilotage


Tenir jour et disposition la documentation du projet
Prsenter, animer, promouvoir le systme projet
Groupes
d'utilisateurs

Identifier les forces, les faiblesses, les limites su systme existant


Apporter leur connaissance du terrain, des besoins
Comprendre la formalisation du systme projet
Veiller au ralisme du systme projet par rapport la connaissance de l'entreprise
et de son environnement

Experts

Appels si besoin par le Comit de projet

Dmarche complte
Le niveau conceptuel
Le Modle Conceptuel de Communication dfinit les flux et les domaines
Inventaire des informations et donnes
Dlimitation du systme tudi
Le modle Conceptuel de Traitement dcrit les rgles et les contraintes gnrales du SI.
Le Modle Conceptuel de Donnes dcrit l'organisation des donnes
Cohrence du MCD / MCC et au MCT
Validation par l'utilisateur

Le niveau organisationnel
Le Modle Organisationnel de Traitement (MOT)
Le Modle Organisationnel de Donnes (MOD)
Le Modle Organisationnel de Communication (MOC)
Cohrence entre MOD et MOT
Validation par l'utilisateur

Le niveau logique
Le Modle Logique des Donnes (MLD)
Le Modle Logique des Traitements (MLT)
Le Modle Logique de Communication (MLC)
Cohrence Donnes/Traitements
Validation par l'utilisateur

Le niveau physique
Le Modle Physique de Donnes (MPD)
Le Modle Physique de Traitement (MPT)
Le Modle Physique de Communication (MCC)
Cohrence entre MPT et MPD

LE NIVEAU CONCEPTUEL

1. Le Modle Conceptuel de Communication (MCC)


N'existait pas dans les premires versions de MERISE
A t introduit en rapport avec les Use Case d'UML, sans doute.
Approche systmique. Une entreprise est un systme. L'entreprise change avec l'extrieur, avec
d'autres systmes. Tout systme interne ou externe est appel INTERVENANT.
Tout systme se dcompose en sous systmes fonctionnels ou INTERVENANTs.
Pour une entreprise de livraison on pourra distinguer les intervenants :
LIVRER, FACTURER, ENCAISSER
Un PARTENAIRE est un intervenant extrieur l'entreprise.
Exemples de partenaires FONCTIONNELs: CLIENT qui paye, FOURNISSEUR qui
approvisionne,
Un partenaire est PHYSIQUE s'il est vu fonctionnellement sous plusieurs facettes.
Exemple : EDF est la fois un fournisseur et un client pour l'entreprise qui construit des
transformateurs lectriques.
Un DOMAINE est un systme ou sous systme qui a une mmoire et un SI.
Un domaine est fonctionnel, il joue un rle.
Un domaine peut se dcomposer en sous domaines.
Exemple : une entreprise (qui est un domaine) se compose des domaines Vendre, Produire, Grer le
personnel ; ses partenaires sont Client, Etat,
Le domaine Produire peut se dcomposer en sous domaines Maintenir (la production),
Approvisionner (les usines),
Les domaines (ou sous domaines) sont identifis soit :
Comme les fonctions de base rpondant la question POURQUOI ?
Par numration de toutes les fonctions connues et runion de Brain storming avec les groupes
d'utilisateurs. La question pose aux participants tant toujours : Pourquoi ...
Une fois les intervenants (ou domaines) dfinis (en accord avec les utilisateurs), il faut dterminer
les changes entre ceux-ci et plus particulirement les MESSAGEs. On distingue :
Le message enclencheur ; qui attend une rponse ou une raction du rcepteur
Le message informant ; qui informe le rcepteur sans attendre de rponse ou de raction de ce
dernier.
Entre sous domaines d'un mme domaine, les messages informant sont sans objet puisque la
mmoire du domaine est commune aux sous domaines.
L'INFORMATION est la donne lmentaire du SI. Par exemple, le nom d'une personne, la
rfrence d'un produit, le poids de ce produit,
Dupont, Durand, Duchmol sont des occurrences de l'information Nom d'une personne.
Il faut souvent faire le mnage parmi les informations
Supprimer les informations pouvant avoir plusieurs sens diffrents (polysmes)
Supprimer les synonymes ; un nom d'information doit tre unique pour viter toute ambiguit.
Reprer les informations composes ; comme une adresse postale par exemple. Souvent il faudra
distinguer ici, le numro, la rue, le code postal et la ville.
Reprer les rgles qui lient entre elles des informations, qui permettent de dduire une ou
plusieurs information par la connaissance d'autres information. On parle de REGLE DE CALCUL
entre informations. Il faut viter absolument de mmoriser une information qui peut tre dduite

d'une autre par une rgle de calcul.


Le type DOMAINE est reprsent par un grand ovale (ou patatode) regroupant le cas
chant des sous domaines (plus petits ovales). Dans chaque ovale on indique le nom du domaine.
Le type MESSAGE est reprsent par une flche entre deux domaines et/ou intervenants
avec le nom du message crit au dessus de la flche

2. Le Modle Conceptuel de Traitements (MCT)


Le MCT se dduit du MCC dans la mesure o il reprsente un zoom sur le MCC.
Le MCT consiste "ouvrir" chaque domaine ou sous domaine identifi par le MCC de faon
dfinir les OPERATIONs faites dans ce domaine.
Le MCT se construit surtout par la rponse la question QUOI, QUE
Exemple : dans le MCC prcdent, l'intervenant Client envoie une Commande au domaine Vendre.
QUE fait le domaine Vendre de cette Commande ?
Il traite la commande ! Donc "Traiter la commande" est une OPERATION interne au domaine
Vendre.
L'opration peut tre dclenche soit par un seul message dclencheur, soit par une combinaison de
messages dclencheurs ; dans ce cas une SYNCHRONISATION a pour objet d'indiquer les rgles
logiques entre ces messages qui dterminent le dclenchement de l'opration.
Le type OPERATION est reprsent par un rectangle spar en 2 parties par un trait
horizontal. En partie suprieure on note le nom de l'opration. En partie infrieure, on redcoupe
selon toutes les CONDITIONs envisageables pour cette opration. Chaque condition est mettrice
d'un ou plusieurs messages destinations d'autres oprations internes ou destination d'autres
domaines.
Le type SYNCHONISATION est reprsente par un trapze ou un triangle au dessus du rectangle
opration. Dans ce trapze ou triangle, on indique le nom ou l'expression logique de
synchronisation, au dessus les flches des divers messages dclencheurs.
Pour chaque opration on peut crer une fiche opration utile :
pour le dialogue avec les groupes d'utilisateurs
pour bien spcifier l'opration
Cette fiche comporte :
Le nom du processus
Le nom de l'opration
Le schma type MCT de l'opration
Un paragraphe dcrivant les vnements dclencheurs
Un paragraphe dcrivant la rgle logique de synchronisation
Un paragraphe dcrivant les rgles d'mission (cas possibles et donc rsultats possibles)

3. Le Modle Conceptuel de Donnes (MCD)


Modliser les donnes utiles et mmoriser pour le SI projeter ;
Dterminer leur structuration, Dcrire les liens entre donnes.
Le modle utilise :
le type INDIVIDU pour regrouper des donnes appeles PROPRIETEs formant un tout
cohrent ; parfois le type INDIVIDU est appel (abusivement) ENTITE
ce type est reprsent par une boite rectangulaire dans laquelle on crit :
le titre ou nom de l'individu (en gras ou au dessus d'un trait horizontal)
la liste des proprits
les proprits identifiant de faon unique l'individu, sont soulignes.
le type ASSOCIATION pour dcrire les liens entre individus ; parfois le type
ASSOCIATION est appel (abusivement) RELATION
ce type est reprsent par un ovale dans lequel on crit :
le titre ou nom de l'association (en gras ou au dessus d'un trait horizontal)
la liste des proprits ventuelles.
Par ailleurs des traits reliant boites rectangulaires et ovales matrialisent les liens entre
individus et associations ; sur ces traits, on fait figurer un couple de nombres de la forme 0,1 0,n 1,n
2,5
Ces nombres s'appellent CARDINALITEs ; ils sont trs important pour caractriser l'association.
Si une association concerne 2 individus seulement, elle est dite binaire. Une association est
dite ternaire ds qu'elle concerne 3 individus ou plus.
Normalisation des proprits (ou informations)
Une information figure dans un seul individu ou une seule association du MCD (recherche de non
redondance)
Chaque proprit peut avoir une seule valeur possible pour une occurrence d'individu. On dit que la
proprit est monovalue. Pas de liste de valeurs.
Normalisation des individus :
L'individu a un intrt pour le projet ou l'organisation
L'individu est bien identifiable et distinct des autres individus ( ne pas confondre avec les
occurrences d'un individu)
L'individu a une existence propre
L'individu a un ensemble de proprits
Chaque proprit est monovalue.
Les occurrences d'un individu doivent pouvoir tre cites.
Normalisation des associations :
Les proprits des associations, si elles existent, doivent dpendre de tous les identifiants des entits
associes.
Une association ne peut avoir qu'une seule occurrence entre mmes occurrences de ses individus.
Les cardinalits
Cette notion est trs importante pour caractriser finement une Association
Voir thorie des ensembles (bijection, surjection, injection)
Exemple : Individus Personne et Adresse, Association Personne HABITE Adresse

2 Personnes diffrentes (ou plus) peuvent habiter la mme Adresse


1 Personne habite ou non (SDF) une Adresse
1 Adresse peut tre inoccupe ou bien tre occupe par 1 ou plusieurs personnes
Personne

0,1

habite

0,n
Adresse
/
/
Une adresse est habite par 0 n personnes
Une personne habite 0 ou 1 seule Adresse

Les contraintes
Revoir thorie des ensembles !
On distingue :
Le OU Inclusif (V)
Une personne d'un supermarch peut tre la fois caissire et cliente
L'exclusion (X)
Un lecteur ne lit jamais 2 ouvrages la fois ; parmi tous les ouvrages de la bibliothque,
il peut lire tel ou tel livre mais jamais les 2 en mme temps.
La partition (+)
Une pice comptable peut tre soit facture soit avoir mais rien d'autre
L'inclusion (I)
Toute personne remboursant un prt a dpos au pralable une demande de prt
Texte
Permet d'ajouter une explication textuelle pour exprimer une contrainte qui ne peut tre
reprsente par le formalisme standard.
Exemple : Un club de Parapente
Un club de parapente loue diffrents modles de parapente des pilotes.
Ces pilotes effectuent des vols ; pour chacun de ces vols le club souhaite connatre le pilote, le
modle de parapente utilis, le site de dcollage, le site d'atterrissage, la date du vol, sa dure, la
distance parcourue.
Pour un parapente sont connues sa date de mise en service et sa couleur principale.
Pour un pilote le club souhaite connatre son nom, prnom, date de naissance, niveau, poids, date de
brevet et surtout son numro de licence.
La location d'un parapente par un pilote s'effectue la journe ; le club souhaite enregistrer le
nombre d'utilisations du parapente et la date d'utilisation par le pilote loueur.
Un modle de parapente est identifi par un nom ; on lui associe un niveau, une surface, un poids
mini et un poids maxi.
Un site d'atterrissage a un nom unique, une situation et une approche visuelle.
Un site de dcollage a un nom unique, un niveau requis du pilote, une orientation.

Que dit ce modle ?


Individus :
Parapente, Modle de parapente, Pilote, Site de dcollage, Site d'atterrissage
La proprit souligne et en gras est un identifiant de l'individu.
Associations :
Association binaire Utilise
Un pilote utilise de 0 n parapentes ; un parapente est utilis par 0 ou n pilotes.
Pour une date d'utilisation d'un parapente par un pilote on veut enregistrer le nombre de vols
effectus.
Association binaire Est de Type
Un parapente est d'un modle est d'un seul ; Un modle de parapente n'est pas disponible (0) ou
existe en n exemplaires de parapentes.
Association ternaire Vol
Un Vol concerne un Pilote qui utilise un Modle de parapente, qui dcolle du Site de dcollage et se
pose sur le Site d'atterrissage. On veut connatre et enregistrer la date d'un vol, sa dure et la
distance parcourue.

4. Cohrence des MCC, MCT, MCD entre eux


Cohrence entre messages du MCC/MCT et MCD
Les informations des messages sont soit :
Non utilises dans le MCD,
Identiques celles du MCD,
Equivalentes celles du MCD,
Relies celles du MCD par une rgle de calcul mais sans prsence de doublons.

Cohrence entre oprations du MCT et MCD


Il faut construire des vues ou modles en lecture/criture de chaque opration, c'est dire 'faire
tourner' le MCD sous l'angle de l'opration analyse. On peut alors :
S'assurer que les informations ncessaires l'opration sont bien prsentes dans le MCD ou
dans les messages du MCT,
S'assurer que tout individu, association, proprit du MCD existe dans une vue en cration
et/ou consultation.

5. Validation par l'utilisateur (ou le groupe d'utilisateurs)


Cette validation est essentielle avant toute poursuite du projet. Elle est longue et dlicate. La sous
estimer est une grave erreur qui risque de coter trs cher en corrections ultrieures.
Autant les MCC et MCT sont assez faciles comprendre par l'utilisateur, autant le MCD peut lui
sembler sotrique. Nanmoins toujours lui poser la question : n'ai-je rien oubli ?
Il faut souvent crer des vues du MCD, dplier les individus et les relations en occurrences sur des
exemples parlants, crire du texte d'explication, prendre le temps d'expliquer, s'assurer que
l'utilisateur a bien compris.
Rappel des modles ( minima) utiliss pour valider : MCC, MCT, MCD

LE NIVEAU LOGIQUE

11. Le Modle Logique des Donnes


La transformation du MOD/MCD en MLD
Cette transformation est ncessaire car les structures de donnes physiques (Fichiers ou Bases de
donnes) impliquent des contraintes logiques telles que :
identifiant doit tre unique (dj vrifi par MCD)
identifiant doit tre concis (souvent un numro)
les relations supportes sont uniquement de type 0-n ou 1-n et entre 2 entits seulement
l'entit cot 0/1 est appele entit 1 de la relation
l'entit cot n est appele entit n de la relation
la matrialisation de la relation entre 2 entits s'effectue par la prsence d'une cl trangre dans
l'entit n de la relation ; cette cl trangre est identique la cl primaire de l'entit 0/1
Exemple : Modle logique du Parapente

Le modle utilise :
le type ENTITE pour regrouper des donnes appeles CHAMPs formant un tout cohrent
ce type est reprsent par une boite rectangulaire dans laquelle on crit :
le nom de l'entit
la liste des champs constituant l'identifiant
cet identifiant est souvent appel cl primaire
le type RELATION pour dcrire les liens entre entits
ce type est reprsent par un trait entre les 2 entits (et 2 seulement).
Une flche correspond au cot 0 ou 1 de la relation (ou de l'association dont elle est issue)
De l'autre cot on peut indiquer N de faon gnrale ou bien la cardinalit maximum.

Normalisation des entits


Tout individu (du MCD) devient une entit (du MLD)
Une entit peut parfois avoir plusieurs identifiants valables ; dans ce cas prendre comme cl
primaire, l'identifiant le plus concis. Le ou les autres identifiants sont souvent appels cls
candidates. Lorsque la cl primaire est un numro d'ordre gnr automatiquement, la connaissance
de la cl candidate peut tre utile pour viter les doublons.
Lorsqu'un champ ou un groupe de champs est utilis frquemment dans une recherche, on peut
dfinir ce champ ou ce groupe de champs comme un index (en fait, un acclrateur de recherche,
plus souvent dfini dans le MPD).
1re forme normale
Chaque entit doit disposer d'un identifiant qui la caractrise de manire unique.
Un identifiant peut tre compos de la concatnation de plusieurs proprits.
2me forme normale
Les proprits d'une entit ne doivent dpendre que de l'identifiant de l'entit et non d'une partie de
cet identifiant.
3me forme normale
Les proprits d'une entit doivent dpendre de l'identifiant de l'entit de manire directe (sans
rfrence une autre proprit de l'entit.
Forme normale de Boyce-Codd
Pour les identifiants composs de plusieurs proprits, ces dernires ne doivent pas tre dpendantes
d'une autre proprit de l'entit.
Normalisation des relations
Une association binaire du MCD/MOD sans proprits dont une seule cardinalit est 0 ou 1 devient
une relation du MLD.
Une association du MCD/MOD porteuse de proprits devient une entit du MLD.
Une association qui a des cardinalits x,n x,n (ou x vaut 0 ou 1) devient une entit.
Une association ternaire devient une entit.
Cette entit (correspondant une association) est relie aux entits (correspondants des individus)
par des relations. Toutes les relations sont priori de type 1-N mais une relation 1-1 reste possible.
Gnralisation et spcialisation (hritage)
Le MLD permet une certaine forme d'hritage comme dans les modles objets
Le type SOUS_TYPE d'une entit est prvu pour cela
ce Sous Type est dcrit par une boite aux coins arrondis
cette boite arrondie est relie la boite entit par une flche en triangle.
Par exemple dans une universit, on trouve des tudiants, des enseignants et des gestionnaires
Tous trois sont des PERSONNEs
On dcrit donc l'entit PERSONNE puis les sous types ETUDIANT, ENSEIGNANT,
GESTIONNAIRE
Dans l'entit PERSONNE on dfinit un champ boolen Etudiant, un autre Enseignant et un
troisime Gestionnaire. Si une PERSONNE est la fois ETUDIANT et ENSEIGNANT on coche
les champ Etidiant et Enseignant 1 ; le champ Gestionnaire sera 0.
On parle ici de sous types INCLUSIFs.
Une pice comptable peut tre soit une facture soit un avoir.
On dcrit donc une entit PIECE_COMPTABLE puis 2 sous types FACTURE et AVOIR.
Dans l'entit PIECE_COMPTABLE on dfinit un champ FouA qui peut prendre la valeur F si la
pice comptable est une facture ou la valeur A si la pice comptable est un avoir.
On parle ici de sous types EXCLUSIFs

Corrig exercices MERISE


Exercice Gestion d'une bibliothque
On veut automatiser le fonctionnement d'une bibliothque.
La bibliothque est organise de la faon suivante :
Un service s'occupe de l'achat des exemplaires d'ouvrage soit pour renouvellement d'exemplaires
usags, soit pour acquisition de nouveaux exemplaires ; dans ce dernier cas, ce service enregistre les
rfrences communes plusieurs exemplaires, soit l'auteur, le titre, la valeur de remplacement, le
rsum ainsi que quelques mots cls.
Les exemplaires sont reprs par un code barre (n squentiel unique) coll au dos de l'exemplaire).
Tout exemplaire correspond un ouvrage de rfrence. On veut mmoriser la date d'acquisition de
l'exemplaire et sa dure de vie estime.
Un service s'occupe de l'inscription des emprunteurs. Les emprunteurs sont identifis par une carte
comprenant un code barre (n squentiel unique). Pour chaque emprunteur on mmorise ses nom,
prnom, adresse, email.
Un service s'occupe de l'enregistrement des prts d'exemplaires. Les prts sont mmoriss afin de
savoir tout moment, quels sont les exemplaires sortis. Pour chaque prt ou emprunt on mmorise
donc le code exemplaire, le code emprunteur et la date de retour au plus tard de cet exemplaire.
Cette date est calcule automatiquement par date d'emprunt + 3 semaines.
Un emprunteur peut emprunter au maximum 3 exemplaires.
Un service s'occupe du retour des exemplaires et de leur placement en rayons.
Lorsque l'exemplaire est retourn en bon tat, on supprime l'enregistrement de cet emprunt.
Lorsque la date de retour choit, on relance l'emprunteur par email de prfrence, par courrier si
l'adresse email est inconnue.
Lorsque l'exemplaire retourn est rput perdu, on envoie un courrier l'emprunteur exigeant le
paiement de la valeur de remplacement.
L'emprunteur entre librement dans la bibliothque, circule dans les rayons, consulte le catalogue des
exemplaires s'il le souhaite. Il prend les exemplaires d'ouvrage disponibles puis passe au service
d'enregistrement des prts.
Le service achats est en relation commerciale avec l'diteur.
1.Faire le MCC
2.Faire le MCT pour Inscription, Prt et Retour
3.Faire le MCD
4.Faire le MLD
5.Dcrire la requte enregistrant une inscription
6.Dcrire la requte enregistrant un emprunt
7.Dcrire la requte donnant la liste des emprunts en retard
8.Dcrire la requte donnant les ouvrages pour un auteur donn et un mot cl donn

Corrig bibliothque MCC


Domaine

BIBLIOTHEQUE

rle : prter des exemplaires d'ouvrages aux partenaires

Partenaire
Partenaire

EMPRUNTEUR
EDITEUR

celui auquel la bibliothque prte des exemplaires


celui auquel la bibliothque achte des exemplaires

Sous domaine PRET


rle : vrifier carte emprunteur, limiter le nombre
d'exemplaires emprunts, retourner les trop emprunts, enregistrer les emprunts d'exemplaires
Sous domaine INSCRIPTION
rle : enregistrer les nouveaux emprunteurs, leur fournir
une carte d'accs la bibliothque et les modalits d'utilisation des services de la bibliothque,
renouveler une carte perdue.
Sous domaine RETOUR
rle : contrler l'tat des exemplaires, enregistrer le retour,
envoyer relance si dlai dpass, envoyer demande remboursement si exemplaire abim, faire
demande de renouvellement d'exemplaire abim ou usag, ranger l'exemplaire en bon tat sur le
rayon adquat.
Sous domaine ACHAT
rle : renouveler les exemplaires abims ou usags,
acqurir de nouveaux exemplaires, identifier de faon unique tout exemplaire, enregistrer les
rfrences de l'ouvrage, remettre les exemplaires au service RETOUR pour enregistrement des
exemplaires et rangement en rayon
Messages enclencheurs

Sortie d'exemplaires par l'EMPRUNTEUR,


Retour d'exemplaire par l'EMPRUNTEUR
Dpassement du dlai de restitution
Commande d'exemplaires un EDITEUR
Rception d'exemplaires d'un EDITEUR

Corrig bibliothque MCT


Enchainement oprations du sous domaine INSCRIPTION

Enchainement des oprations du sous domaine PRET

Enchainement des oprations du sous domaine RETOUR

Corrig bibliothque MCD

Les individus
Emprunteur
Le partenaire de la bibliothque qui vient pour y emprunter des exemplaires d'ouvrages
Il est identifi par un code barre, mais aussi par ses nom, prnom, adresse complte.
Son tlphone et son email sont demands mais non obligatoires.
Exemplaire
C'est le livre ou la revue qui est place en rayons disposition de l'emprunteur. Il peut y
avoir plusieurs exemplaire d'un mme livre ou d'une mme revue
L'exemplaire est identifi par un code barre.
La date d'acquisition et la dure de vie de l'exemplaire sont mmorises.
Ouvrage (de rfrence)

Plusieurs exemplaires d'un mme ouvrage et ce dans des versions diffrentes (livre normal,
livre en braille, cassette audio, sont disponibles pour un mme ouvrage de base.
L'ouvrage est identifi par l'identifiant libraire ISBN
Rayon
Espace de rangement des exemplaires au prt organis en Salle, Rayonnage, Etagre,
Section. Le rayon est identifi priori par cette information compose.
Mot_Cle
Les emprunteurs ont accs, en ligne, au catalogue des ouvrages de la bibliothque et peuvent
savoir si un exemplaire est encore disponible ou non. Afin de rendre ces recherches plus pertinentes,
une recherche par mot cl est possible ; les mots cl de type Auteur et Titre de l'ouvrage existent
toujours ; par ailleurs, le bibliothcaire peut crer d'autres mots cls comme la section (de
rangement), le domaine concern, le type de mdia (livre, braille, audio, ), etc
Le mot_cl est identifi par son Libell et son Type ; il est tout fait possible que 2 mots cls aient
le mme libell s'ils ont des types diffrents.
Type (de mot cl)
Le type de mot cl est mmoris part, afin de permettre l'extraction simple d'une liste des
types de mot cls existants ; il s'agit dj d'une optimisation du modle des donnes puisque le
balayage (un peu long!) de la table des mots cls permettrait d'obtenir cette liste.
Les associations
Ouvrage rfrent de l'exemplaire
Un exemplaire fait rfrence un ouvrage et un seul. On a de 1 N exemplaires d'un mme
ouvrage.
Rangement exemplaire
Un Exemplaire disponible au prt est rang sur un et un seul Rayon. S'il est emprunt il n'est
plus sur aucun rayon. Un Rayon contient de 0 N Exemplaires.
Emprunte exemplaire
Un Exemplaire est emprunt par un Emprunteur et un seul ou bien n'est emprunt par
personne. Un Emprunteur emprunte de 0 3 Exemplaires maxi.
Rfrences ouvrage
Un ouvrage est rfrenc au minimum par son titre et son auteur, soit par 2 mots cls
distincts au minimum. Mais on peut ajouter d'autres mots cls de rfrencement pour cet ouvrage.
Un mot cl rfrence 0 ou N ouvrages dans l'absolu, 1 ou N ouvrages en pratique, puisque les mots
cls sont crs lors de l'achat d'exemplaires d'un ouvrage.
Type de mot cl
L'individu type est une 'invention' du concepteur en vue de pouvoir proposer la personne
qui ralise le rfrencement, une liste guide des mots cls existants.
Un mot cl a un type et un seul. A chaque type dfini correspond dans l'absolu de 0 N mots
cls. En pratique, 1 N dans la mesure ou l'on ne cre pas de type de mot cl sans lui associer au
moins un mot cl.

Corrig bibliothque MLD

Entits drives d'individus du MCD


EMPRUNTEUR dont champs :
IdEmprunteur, Nom, Prnom, Adresse_Ligne1, CodePostal, Commune, Telephone, Email
EXEMPLAIRE dont champs :
IdExemplaire, DatefinDeVie, DateAcquisition
Remarque : on prfre enregistrer la date fin de vie prvue plutt que la dure afin de
faciliter les recherches d'exemplaires remplacer.
RAYON dont champs :
Idrayon, Salle, Rayonnage, Etagre, Section
OUVRAGE dont champs :
Isbn, Resume
Remarque : le champ Resume a t ajout du fait de la maigreur de l'entit et en vue de
pouvoir y inscrire un rsum de l'ouvrage, ultrieurement. Une autre possibilit consiste
supprimer l'entit OUVRAGE. Voir Optimisation.
MOT_CLE dont champs :
IdMot_cle, IdType, Mot_cle
TYPE dont champs :
IdType, Libelle_Type

Entits drives d'association du MCD


EMPRUNTE_EXEMPLAIRE qui contient les champs :
IdEmp_Exe, IdEmprunteur, IdExemplaire, Date_retour
REFERENCE_OUVRAGE qui contient les champs :
IdRef_Ouv, IdMot_cle, Isbn
Relations
EMPRUNTEUR EMPRUNTE_EXEMPLAIRE
EXEMPLAIRE EMPRUNTE_EXEMPLAIRE
RAYON EXEMPLAIRE
OUVRAGE EXEMPLAIRE
MOT_CLE REFERENCE_OUVRAGE
OUVRAGE REFERENCE_OUVRAGE
TYPE MOT_CLE
Cls primaires optimises
IdEmprunteur

Cl primaire de l'EMPRUNTEUR = code barre de l'emprunteur

IdExemplaire

Cl primaire de l'EXEMPLAIRE = code barre de l'exemplaire

IdEmp_Exe

Cl primaire squentielle de EMPRUNTE_EXEMPLAIRE

IdRayon

Cl primaire squentielle de RAYON

IdMot_Cle

Cl primaire squentielle de MOT_CLE

IdType

Cl primaire squentielle de TYPE

IdRef_Ouv

Cl primaire squentielle de REFERENCE_OUVRAGE

Isbn

Cl primaire de OUVRAGE = code ISBN

Remarque : les cls primaire squentielles seront gnres automatiquement par la base de donnes
et garantiront l'unicit et la concision. On remplace systmatiquement toute cl compose comme le
couple IdEmprunteur, IdExemplaire de l'entit EMPRUNTE_EXEMPLAIRE par une cl
squentielle.
Avantages : cl plus concise, la cl primaire ne dpend plus des cls trangres IdEmprunteur ou
IdExemplaire ; si on change d'EMPRUNTEUR et/ou D'EXEMPLAIRE, la cl primaire de
EXEMPLE_EXEMPLAIRE n'est pas impacte ; ce qui signifie qu'il n'est plus ncessaire de
supprimer l'occurrence de EXEMPLE_EXEMPLAIRE en cas de changement d'EMPRUNTEUR
et/ou d'EXEMPLAIRE. La mise jour physique s'en trouvera acclre.
Cls trangres de EXEMPLE_EXEMPLAIRE
IdEmprunteur
Cl trangre dans EMPRUNTE_EXEMPLAIRE de la relation entre l'entit
EMPRUNTEUR et l'entit EMPRUNTE_EXEMPLAIRE
IdExemplaire

Cl trangre dans EMPRUNTE_EXEMPLAIRE de la relation entre l'entit

EXEMPLAIRE et l'entit EMPRUNTE_EXEMPLAIRE


Cls trangres de REFERENCE_OUVRAGE
IdMot_cle
Cl trangre dans REFERENCE_OUVRAGE de la relation entre l'entit
MOT_CLE et l'entit REFERENCE_OUVRAGE
Isbn
Cl trangre dans REFERENCE_OUVRAGE de la relation entre l'entit
OUVRAGE et l'entit REFERENCE_OUVRAGE
Cl trangres de EXEMPLAIRE
IdRayon

Cl trangre dans EXEMPLAIRE de la relation avec l'entit RAYON

Isbn

Cl trangre dans EXEMPLAIRE de la relation avec l'entit OUVRAGE

Cl trangre de MOT_CLE
IdType

Cl trangre dans MOT_CLE de la relation avec TYPE

Index acclrateurs d'accs


Nom dans EMPRUNTEUR
DateFinDeVie dans EXEMPLAIRE
Libelle dans MOT_CLE
Tentative d'optimisation n 1
L'entit OUVRAGE ne contient que l'Identifiant Isbn ; ne pourrait-on pas supprimer cette entit ?
Si on supprime OUVRAGE, il faut relier REFERENCE_OUVRAGE EXEMPLAIRE ; la cl
trangre de REFERENCE_OUVRAGE devient alors IdExemplaire ; l'information Isbn est dj
porte par l'entit EXEMPLAIRE.
Si en moyenne, il y a 10 exemplaires pour un ouvrage ; si en moyenne, il y a 5 mots cls par
ouvrage, la solution initiale donne 10 + 1 + 5 = 16 occurrences par ouvrage.
La solution de suppression de l'entit ouvrage donne donc 10 x 5 = 50 occurrences de
rfrence_ouvrage. Le chemin d'accs reference_ouvrage, depuis exemplaire, est plus court,
certes, mais le nombre total d'occurrences a t multipli par 3 ! Pas sr du tout que ce soit une
bonne optimisation.
En fait, lors de la cration du MCD, en suivant les conseils du bibliothcaire, nous avons fait
apparatre l'individu OUVRAGE bon escient.
Tentative d'optimisation n 2
Le passage par REFERENCE_OUVRAGE et MOT_CLE semble compliquer la recherche
d'ouvrages sur auteur et titre par exemple.
D'o l'ide de placer les champs Auteur et Titre dans l'entit OUVRAGE.
De mme on peut y placer quelques champs supplmentaires correspondant aux mots cls retenus ;
Si cette liste de mots cls est fige, immuable durant la vie de la bibliothque, remonter ces champs
dans OUVRAGE est sans conteste, une relle optimisation.
Mais si cette liste de mots cls est susceptible d'tre remanie en fonction des besoins, la solution
initiale est meilleure.
Un compromis bas sur Auteur et Titre remonts dans OUVRAGE est intressant.

Corrig bibliothque Requtes


Dcrire la requte enregistrant une inscription
Saisir Nom, Prnom, Date de naissance du futur emprunteur
Rechercher existence d'une occurrence de EMPRUNTEUR sur ces critres (en pratique, il faudrait
pouvoir s'affranchir d'ventuelles fautes de saisie comme orthographe du nom, )
Si Emprunteur existe, lui signaler et rejeter la cration
Si Emprunteur non trouv,
Exiger Adresse_Ligne, CodePostal, Commune de rsidence
Demander Tlphone, demander Email
Prendre une carte vierge avec code barre pr-imprim ou coll
Ecrire avec stylo spcial, nom, prnom et date de naissance
Scanner le code barre de la carte comme IdEmprunteur
Valider pour Crer nouvelle occurrence de EMPRUNTEUR
Dcrire la requte enregistrant un emprunt
Ouvrir une session d'emprunt
Scanner la carte de l'emprunteur
Lire EMPRUNTEUR avec IdEmprunteur = code scann
Si emprunteur non trouv, Rejet du prt et remise des exemplaires au service Retour.
Si emprunteur trouv
Contrler nombre exemplaires emprunts non suprieur 3
Si nombre suprieur 3
Demander quels exemplaires doivent tre carts
Remise des exemplaires carts au service Retour
Initialiser compteur d'exemplaires nombre d'exemplaires rel (1 3 maxi)
Pour chaque exemplaire traiter et tant que compteur d'exemplaires > 0
Scanner le code barre de l'exemplaire et lire EXEMPLAIRE avec IdExemplaire = code scann
Si illisible, remettre au service Retour avec sticker "Illisible"
Si lisible
Crer une occurrence de EMPRUNTE_EXEMPLAIRE avec :
DateRetour = Date du jour + 21 jours, IdEMp_Exe gnr squentiellement, IdEmprunteur et
IdExemplaire
Dcrmenter compteur d'exemplaires
Fermer la session d'emprunt.
Dcrire la requte donnant la liste des emprunts en retard
Lire les occurrences de TYPE dans un tableau dans lequel on note la correspondance entre IdType
et Libelle_Type
Lire EMPRUNTE_EXEMPLAIRE tel que DateRetour < date du jour
Pour chaque occurrence trouve
Imprimer "Date retour dpasse (" DateRetour ")"
Accder l'EMPRUNTEUR via cl trangre IdEmprunteur
Imprimer Nom, Prnom, Adresse et Email de l'emprunteur
Accder l'EXEMPLAIRE via cl trangre IdExemplaire
Imprimer "Exemplaire retourner N0" IdExemplaire
Accder l'OUVRAGE via cl trangre Isbn

Lire les REFERENCE_OUVRAGE de cet OUVRAGE


Pour chaque occurrence de REFERENCE_OUVRAGE
Accder au MOT_CLE via cl trangre IdMot_cle
Noter Mot_Cle et IdType
Retrouver signification de IdType dans le tableau cr au dbut ;
Imprimer Libelle_Type "=" Mot_Cle
Dcrire la requte donnant les ouvrages pour un auteur donn et un mot cl donn
Lire TYPE dont Libelle_Type = "AUTEUR" ;
Si non trouv Erreur Type AUTEUR non trouv !; Abandon requte
Si trouv, Noter IdTypeAuteur = IdType
Lire TYPE dont Libelle_Type = "MOT CLE" ;
Si non trouv Erreur Type AUTEUR non trouv !; Abandon requte
Si trouv, Noter IdTypeMotcle = IdType
Lire TYPE dont Libelle_Type = "TITRE" ;
Si non trouv Erreur Type TITRE non trouv !; Abandon requte
Si trouv, Noter IdTypeTitre = IdType
Lire MOT_CLE dont Mot_Cle = "auteur donn" et IdType = IdTypeAuteur
Si non trouv Erreur Auteur non trouv ; Abandon requte
Si trouv, Noter IdMot_cleAuteur
Lire REFERENCE_OUVRAGE tel que IdMot_cle = IdMot_CleAuteur
Ranger dans ListeAuteur, la liste des IdRef_Ouv de chaque occurrence trouve
Lire MOT_CLE dont Mot_Cle = "mot cl donn" et IdType = IdTypeMotcle
Si non trouv Erreur Mot cl non trouv ; Abandon requte
Si trouv, Noter IdMot_cleMotcle
Lire REFERENCE_OUVRAGE tel que IdMot_cle = IdMot_CleMotcle
Ranger dans ListeMotcle, la liste des IdRef_Ouv de chaque occurrence trouve
Faire l'intersection logique : Liste = ListeAuteur ET ListeMotcle
Pour chaque lment de Liste,
Lire REFERENCE_OUVRAGE tel que IdRef_Ouv = lment de Liste
Noter Isbn trouv,
Rechercher occurrences MOT_CLE en relation avec REFERENCE_OUVRAGE et de IdType =
IdTypeTitre
Afficher Titre

Exercice Comit d'entreprise


Un comit d'entreprise veut grer un ensemble d'informations sociales concernant les enfants de ses
salaris. Un membre du CE, utilisateur de tableur, a ralis le tableau suivant :
Nom et Prnom

Adresse

Enfant 1

Age

Enfant 2

Age

Dupont Martine

2 rue des arts 75013 Paris

Ccile

12

Batrice

12

Duchmol Jean

5 rue de la paix 78500 Sartrouville

Ernest

10

Ccile

""

""

Emilie

Dugland Eve

111 rue des acacias 94000 Crteil

Pierre

13

Paul

Dugland Louis

""

""

""

""

""

...
Quelles sont les faiblesses de ce tableau ?
Il est important de pouvoir crer facilement une liste des enfants ayant un age donn et de savoir
quel est le salari qui en est le pre ou la mre.
Faire le MCD
Quel est le meilleur identifiant pour un salari ?
Quel est le bon identifiant pour un enfant ?
En dduire le MLD
Quel serait le meilleur identifiant pour un enfant ?

Corrig Comit d'entreprise


Faiblesses
Nom, prnom n'est pas un identifiant sr (risque de fautes d'orthographe)
Le nombre d'enfants du tableau est limit, ce qui oblige doubler de lignes dans certains cas
Difficile de rechercher les enfants d'un age donn avec ce tableau puisque l'age apparat dans
plusieurs colonnes
Prnom de l'enfant ne peut pas tre un bon identifiant
Prnom, ge peut tre un identifiant valable mais peu sr

MCD
Individu SALARIE
identifiant : matricule
Nom
Prnom
individu ENFANT
identifiant : numro d'ordre squentiel
Prnom
Age
Association SALARIE a des ENFANT
cardinalit cot SALARIE : 0,n cardinalit cot ENFANT : 1,2

MLD
Entit SALARIE
cl primaire : matricule
Nom
Prnom
Entit ENFANT
cl primaire : numero_ordre
Prnom
Age
Entit A_DES
cl primaire : matricule, numero_ordre
cl trangre avec SALARIE : matricule
cl trangre avec ENFANT : numro_ordre
Relation SALARIE A_DES
cot SALARIE : 0
cot A_DES : N
Relation ENFANT A_DES
cot ENFANT : 1
cot A_DES : 2

Exercice Hritage
Une opration comptable comporte les donnes suivantes :
Compte, Date opration, Montant positif ou ngatif, Tiers concern par l'opration, Rfrence
analytique
Les tiers possibles sont par exemple : Employeur, Grande surface, Coiffeur, Garagiste, ...
Les rfrences possibles sont par exemple : Alimentation, Soins personnels, Appareils mnagers,
Voiture,
Les Compte possibles sont par exemple : Compte courant, Livret Epargne, LDD,
Faire le MCD
En dduire le MLD
On dsire pouvoir interroger volont sur l'un quelconque des 3 critres Compte, Tiers ou
Rfrence ; on envisage mme d'ajouter par la suite 1 ou plusieurs autres critres. Modifier le MLD
pour rpondre cette exigence.

Corrig exercice Hritage

MCD
Individu OPERATION
identifiant : IdOperation
DateOperation
Montant
IdCompte
IdTiers
IdReference
Individu COMPTE
identifiant : IdCompte
Libelle_Compte
Individu TIERS
identifiant : IdTiers
Libelle_Tiers
Individu REFERENCE
identifiant : IdReference
Libelle_Reference
Association OPERATION COMPTE
Cardinalit cot OPERATION 1,1
Cardinalit cot COMPTE 0,N
Association OPERATION TIERS
Cardinalit cot OPERATION 1,1
Cardinalit cot TIERS 0,N
Association OPERATION REFERENCE
Cardinalit cot OPERATION 1,1
Cardinalit cot REFERENCE 0,N

MLD
Entits OPERATION, COMPTE, TIERS, REFERENCE
Champs identiques aux proprits du MCD
Relations COMPTE OPERATION, TIERS OPERATION, REFERENCE OPERATION
Flches cots COMPTE, TIERS et REFERENCE (1)
Gnralisation de COMPTE, TIERS, REFERENCE
1er niveau de gnralisation (hritage)
Les individus ou les entits COMPTE, TIERS et REFERENCE sont trs semblables.
On peut donc crer un Sur-individu CRITERE qui se dcline en Sous-individus COMPTE, TIERS
et REFERENCE ; mme raisonnement sur les entits.
Dans l'individu ou l'entit CRITERE apparat une nouvelle proprit/champ Type_Critere qui prend
l'une des valeurs possibles Compte, Tiers ou Rfrence. L'intrt de ce premier niveau de
gnralisation est que l'on a une seule entit logique CRITERE donc une seule table physique en
base de donnes au lieu de 3.
Mais ce modle doit tre modifi si on incorpore un nouveau critre.

2me niveau de gnralisation


On remplace les 3 associations 1-N entre CRITERE et OPERATION par une association N-N.
Il devient possible d'ajouter de nouveaux critres sans changer le modle.

MCD
Individu OPERATION
Identifiant : IdOperation
DateOperation
Montant
Individu CRITERE
Identifiant : IdCritere
Type_Critere
Libelle_Critere
Association OPERATION CRITERE
Cardinalit cot OPERATION M,M ou M = 3 pour critres COMPTE, TIERS, REFERENCE
ou M > 3 si plus de critres
Cardinalit cot CRITERE 0,N

MLD
Entits OPERATION, CRITERE
Champs identiques aux proprits du MCD
Entit OPERATION_CRITERE
Cl primaire : IdOpe_Cri cl squentielle
Cls trangres IdOperation, IdCritere
Relation OPERATION OPERATION_CRITERE
Flche cot OPERATION
Relation CRITERE OPERATION_CRITERE
Flche cot CRITERE

Exercice et corrig Arborescence


Construire le MCD et le MLD d'une Socit qui a des filiales dont les filiales ont des filiales

MCD
Individu SOCIETE
Identifiant : IdSociete
IdSocieteMere (n'existe pas ou est nul pour la maison mre)
Proprits de SOCIETE
Individu FILIALE
Hrite de SOCIETE
Association SOCIETE a des FILIALES
Cardinalit cot SOCIETE 0,N
Cardinalit cot FILIALE 1,1

MLD
Entit SOCIETE
Mmes champs que les proprits du MCD
Sous-type FILIALE
Hrite de SOCIETE
Relation SOCIETE FILIALE
Flche cot SOCIETE

Exercice et corrig Nomenclature


Construire le MCD et le MLD d'une nomenclature de pices mcaniques ; attention, une pice, par
exemple une vis de 6, peut apparatre tous niveaux.

MCD
Individu PIECE
Identifiant : IdPiece
Dimensions
Poids
Matire
Individu COMPOSE
Hrite de PIECE
Individu COMPOSANT
Hrite de PIECE
Association COMPOSE COMPOSANT
Proprit : Nombre de composants
Cardinalit cot COMPOSE 1,N
Cardinalit cot COMPOSANT 1,N

MLD
Entit PIECE
Cl primaire : IdPiece
Mmes champs que proprits du MCD
Sous types hritant de PIECE : COMPOSE et COMPOSANT
La cl primaire de COMPOSE est nomme IdCompose
La cl primaire de COMPOSANT est nomme IdComposant
Entit NOMENCLATURE
Cl primaire : cl squentielle
Cls trangres : IdCompose et IdComposant
Nombre_Composant
Relation COMPOSE NOMENCLATURE
Flche cot COMPOSE
Relation COMPOSANT NOMENCLATURE
Flche cot COMPOSANT

Vous aimerez peut-être aussi