You are on page 1of 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 1. Modle Conceptuel de Communication (MCC) Intervenant, Domaine, Message 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 Domaine des traitements 2. Modle Conceptuel des Traitements (MCT) Opration, Rgle de gestion, Evnements, Rsultats, Synchronisation des oprations Dfinition du Quoi, Que faire 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

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

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 Schma directeur Etude pralable Objet de l'tape, attendus Choix d'un scnario gnral de dveloppement du SI selon des considrations historiques, politiques, organisationnelles ou techniques. Fait apparatre des domaines 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 Comit de pilotage Rle 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 Planifier et faire respecter le plan global du projet Assurer la cohrence des diverses actions des groupes de travail

Comit de projet

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 Appels si besoin par le Comit de projet

Experts

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,n Adresse / / Une adresse est habite par 0 n personnes Une personne habite 0 ou 1 seule Adresse 0,1 habite

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 Partenaire Partenaire BIBLIOTHEQUE EMPRUNTEUR EDITEUR rle : prter des exemplaires d'ouvrages aux partenaires 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 IdExemplaire IdEmp_Exe IdRayon IdMot_Cle IdType IdRef_Ouv Isbn Cl primaire de l'EMPRUNTEUR = code barre de l'emprunteur Cl primaire de l'EXEMPLAIRE = code barre de l'exemplaire Cl primaire squentielle de EMPRUNTE_EXEMPLAIRE Cl primaire squentielle de RAYON Cl primaire squentielle de MOT_CLE Cl primaire squentielle de TYPE Cl primaire squentielle de REFERENCE_OUVRAGE 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 Isbn IdType Cl trangre dans EXEMPLAIRE de la relation avec l'entit RAYON Cl trangre dans EXEMPLAIRE de la relation avec l'entit OUVRAGE Cl trangre dans MOT_CLE de la relation avec TYPE

Cl trangre de MOT_CLE 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 Dupont Martine Duchmol Jean "" Dugland Eve 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 ? Adresse 2 rue des arts 75013 Paris 5 rue de la paix 78500 Sartrouville "" 111 rue des acacias 94000 Crteil "" Enfant 1 Ccile Ernest Emilie Pierre "" Age 12 10 6 13 "" Paul "" 5 "" Enfant 2 Batrice Ccile Age 12 8

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

You might also like