merise
Merise¶
Introduction¶
La conception d'un système d'information est un processus complexe puisqu'il s'agit de concevoir l'ensemble des algorithmes et des structures de données d'une organisation. La rigueur algorithmique s'accorde mal d'une description en language naturelle. Comment décrire un processus comptable, un processus de commande / facturation ou de gestion de stock quand :
- Les spécialistes du domaine ne concoivent pas d'algorithme.
- Les spécialistes de l'algorithmie ne sont ni comptable, ni logisticien, ni ...

La phase de conception nécessite des méthodes permettant de mettre en place un modèle sur lequel on va s'appuyer. La modélisation consiste à créer une représentation virtuelle d'une réalité de telle façon à faire ressortir les points auxquels on s'intéresse. C'est ce que l'on appelle l'analyse. Il existe plusieurs méthodes d'analyse, dont la méthode MERISE. Le but de cette méthode est d'arriver à concevoir un système d'information. La méthode MERISE est basée sur la séparation des données et des traitements à effectuer en plusieurs modèles conceptuels et physiques. La séparation des données et des traitements assure une évolutivité au modèle, en effet si les traitements changent de façon fréquente, les données sont moins soumisent au changement.
La methode Merise s'appuie sur plusieurs étapes. Chaques etapes doit être validée et prend en compte les résultats de l'étape précédente :
- L'expression des besoins conduit à la réalisation du MCC (Modèle conceptuel de communication) qui décrit les flux d'informations à prendre en compte.
- On réalise ensuite le MCD (Modèle conceptuel de données) et le MCT (Modèle conceptuel de traitement) qui decrivent les données, les règles et les contraintes à prendre en compte.
- Ces documents permettent d'aboutir au MLD (Modèle logique de données) et MOT (Modèle organisationel de données)
- Et on termine par le MPD (Modèle physique de données) qui décrit la structure de la base de données (La liste des tables ainsi que leur relations)
| Niveau de "détails" | Données (Statique) | Traitements (dynamiques) | Description |
|---|---|---|---|
| Conceptuel | MCD | MCT | Le Quoi ? Indépendamment du système |
| Logique | MLD (Ou ?) | MOT (Qui ? Quand ? | Choix techniques (SGBD ...) |
| Physique | MPD | MOPT | Comment |
Description statique du système (MCD)¶
Concepts de base¶
La propriété¶
La propriété est une information élémentaire, c'est à dire qu'elle ne peut être déduite d'autres informations. Chaque valeur prise par une propriété est appelé une "occurence". Des occurences de "Prénom" peuvent être "Stéphane", "Sylvie", "Luc", "Gaelle" ... Une propriété est dite simple ou atomique si chacune des valeurs quelle regroupe n'est pas décomposable. La propriété "adresse" n'est pas "atomique" puisqu'elle se décompose en "rue","code postal" "ville"
La décomposition d'une propriété en propriétés plus simple ne doit pas être systématique, cela permet de d'identifier plus tard dans le processus des propriétés communes à plusieurs structure de données et/ou de traitement.
L'entité ou l'individu Type¶
Une entité est la représentation d'un élément matériel ou immatériel ayant un rôle dans le système que l'on désire décrire. On appelle classe d'entité un ensemble composé d'entités de même type, c'est-à-dire dont la définition est la même. Par exemple l'entité Voiture contiendra "Marque',"Modèle","Couleur","Immatriculation". On la retrouvera plus tard sous la forme d'une table
Les identifiants¶
Un identifiant est un ensemble de propriétés permettant de désigner une identité. Si cette identifiant désigne de façon unique chaque instance de cette entité, il s'agit d'un identifiant absolu. Chaque classe d'entité doit posséder au moins une propriété identifiante.
Représentation des entités¶
L'association (ou relation)¶
Une association (appelée aussi parfois relation) est un lien sémantique entre plusieurs entités. Une classe de relation contient donc toutes les relations de même type (qui relient donc des entités appartenant à des mêmes classes d'entité). Une classe de relation peut lier plus de deux classes d'entité. Voici les dénominations des classes de relation selon le nombre d'intervenants:
- une classe de relation récursive (ou réflexive) relie la même classe d'entité
- une classe de relation binaire relie deux classes d'entité
- une classe de relation ternaire relie trois classes d'entité Une classe de relation n-aire relie n classes d'entité
Les relations sont représentées par des hexagones (parfois des ellipses) dont l'intitulé décrit le type de relation qui relie les classes d'entité (généralement un verbe). On peut éventuellement ajouter des propriétés aux classes de relation.
Cardinalite¶
Les cardinalités permettent de caractériser le lien qui existe entre une entité et la relation à laquelle elle est reliée. La cardinalité d'une relation est composé d'un couple comportant une borne maximale et une borne minimale, intervalle dans lequel la cardinalité d'une entité peut prendre sa valeur:
- la borne minimale (généralement 0 ou 1) décrit le nombre minimum de fois qu'une entité peut participer à une relation
- la borne maximale (généralement 1 ou n) décrit le nombre maximum de fois qu'une entité peut participer à une relation
Un couple de cardinalités placé entre une entité E et une association A représente le nombre minimal et maximal d’occurrences de l’association A qui peuvent être « ancrées » à une occurrence de l’association E. Voir ci dessous, les quatres cardinalités (0,1 1,1 0,n 1,n) les plus généralement utilisés :
Example :
Exercice :¶
Le système d’information étudié concerne l’activité de gestion des locations saisonnières d’une agence immobilière. Une analyse de l’existant a permis de dégager les entités suivantes :
PROPRIETAIRE
Regroupe toutes les informations relatives aux propriétaires d’appartements
NumPropriétaire
Nom
Prénom
Adresse1
Adresse2
CodePostal
Ville
NumTel1
NumTel2
E-mail
APPARTEMENT
Regroupe toutes les informations des appartements meublés mis à la location
NumLocation
Catégorie : 1, 2, ou 3 étoiles
Type : T2, T3, T4
NbPersonnes
AdresseLocation
Photo
Equipements
LOCATAIRE
Regroupe toutes les informations sur les locataires qui ont effectué au moins une location par l’intermédiaire de l’agence
NumLocataire
NomLocataire
PrénomLocataire
Adresse1Locataire
Adresse2Locataire
CodePostalLocataire
VilleLocataire
NumTel1Locataire
NumTel2Locataire
E-mailLocataire
CONTRAT
Regroupe toutes les informations relatives à une location qui va avoir lieu ou qui a actuellement lieu. Une location s’étend éventuellement sur plusieurs semaines consécutive
NumContrat
Etat : réservé, confirmé, soldé
DateCréation
DateDébut
DateFin
TARIF
Regroupe les informations liées à la tarification
CodeTarif
PrixSemHS (prix semaine haute saison)
PrixSemBS (prix semaine basse saison)
Solution proposée¶
Note sur les cardinalités¶
Dans les modeles physiques (donc les modeles proposés par SqlWorkbench) on utilise une forme de notation differente avec une logique "inversée" pour la notation des cardinalités. Les deux sont des representation différentes de la même réalité.
Notation Merise https://www.base-de-donnees.com/association/ : On cherche à représenter la relation, les cardinalités correspondent à la question "pour une entité que j'examine avec combien d'entité je suis en relation au minimum et au maximum".
Notation ERD / Crow's foot [https://www.vertabelo.com/blog/crow-s-foot-notation/] (https://www.vertabelo.com/blog/crow-s-foot-notation/) : On cherche à représenter "pour l'entité que j'examine, combien j'ai d'occurences de l'entité dans la relation"
Les differences sont également evoquées ici dans un article wikipédia, merise correspond au modèle iso min / max.
Exercice¶
L’association « Natural Coach » est spécialisée dans l’organisation des excursions et randonnées dans la nature (montagnes, forêts, déserts…) dans différentes régions du Maroc (Nord, le Rif, le moyen Atlas, le Haut Atlas, les Oasis…).
Cette association compte un certain nombre d’abonnés, appelés aussi des « randonneurs » qui sont les seuls à pouvoir sortir en excursion.
Les excursions sont organisées selon un planning très précis et prévu à l’avance, le principe d’organisation est le suivant :
Une excursion, fixée par une date de départ et une date de retour, porte un nom (Circuit du Toubkal, Oukaimiden, Sources Oum Rabie…) et elle possède un point de départ situé dans une région donnée et un point d’arrivée situé soit dans la même ou dans une autre région.
Chaque excursion possède un tarif bien déterminé et un nombre maximum de randonneurs à ne pas dépasser.
Un randonneur peut s’inscrire à plusieurs excursions s’il le souhaite.
Enfin, une excursion est menée par un ou plusieurs guides, et chacun d’entre eux possède un numéro, un nom, et un téléphone portable pour être joignable à tout moment par les randonneurs.
//Source : www.exelib.net
Exercice¶
On souhaite construire une base de données contenant des informations sur les œuvres d'une exposition. On sait que :
- Toute œuvre de l'exposition a un titre, un ou plusieurs auteurs, une date d'acquisition et un numéro de catalogue ;
- Une œuvre est exposée dans l'une des salles de l'exposition qui est caractérisée par un numéro, un nom, le nombre d'œuvres qu'elle contient, le type d'éclairage, ou est présente dans une autre exposition pour laquelle on connaît le début et la durée du prêt ;
- Certaines œuvres exposées peuvent avoir été empruntées à un particulier. Dans ce cas, on connaît le titre, le nom, le prénom et l'adresse du propriétaire, la date de début et la durée de l'emprunt ;
- Une œuvre doit alors être assurée. On connaît le montant de la prime d'assurance, la valeur pour laquelle l'œuvre est assurée, le nom et l'adresse de la compagnie qui l'assure;
On souhaite garder la liste des particuliers qui ont prêté des œuvres. Pour chacun, on affichera ses titres, prénom, nom et adresse et les types d'œuvres qu'ils possèdent (art déco, art contemporain, antiquités, ...).
//Source : www.exelib.net
Dictionnaire de données¶
Le dictionnaire de données reprend l'ensemble des propriétés avec leur nom, leur type, leur taille et leur description.
| Code de la donnée | Désignation | Type | Taille | Observation |
|---|---|---|---|---|
| Num-C | Numéro de la commande | A | 10 | YYMMDD + n° ordre |
| Date-C | Date de commande | Date | ||
| Num-CL | Numéro Client | A | 10 | Attribuer par service client |
| Nom-CL | Nom client | A | 80 |