Introduction à Merise
Analyser un Système d’Information déroute parfois le
non-initié, car traduire un environnement de travail en
symboles cabalistiques n’est pas très habituel pour qui ne
connaît pas. Pourtant, avec une once de théorie et deux
grammes de pratique, on se rend compte que le processus
est très abordable, soumis à quelques règles simples, faciles
à acquérir et qui s’appliquent toujours de la même manière.
La méthode décrite ici est MERISE, elle est Française et a
plus de 20 ans. Elle consiste à concevoir un Modèle
Conceptuel de Donnée (MCD), le transposer en Modèle
Logique de Données Relationnelles (MLDR), puis à générer le
Modèle Physique correspondant (MPD). C’est la plus
répondue des techniques d’analyse de Base de Donnée. Nous
étudierons plus particulièrement aujourd'hui la construction
du Modèle Conceptuel de Donnée et de ses 5 caractéristiques
Entités, Propriétés, Identifiants, Associations, Cardinalités.
I. Le système d’Information de Gestion SIG
Le champ d’action d’un informaticien de gestion s’appelle système d’information de gestion (SIG)
A. Qu’est ce qu’un système ?
Un système est un tout constitué d’éléments unis par des relations, leurs
propriétés
1et les valeurs que peuvent prendre ces dernières, ainsi que son activité
et l’organisation qui en découle.
L’entreprise peut être vue comme un système, composé d’éléments tels que des « employés », des « services », des « produits », etc. Les propriétés décrivant ces éléments peuvent être « le matricule de l’employé », son « nom », la « référence » du produit, sa « désignation », etc.Entre ces éléments, on trouve des relations, telles la relation « est rattaché » entre un employé et son service, la relation « est stocké » entre un produit et son dépôt de stockage… Les propriétés de ces relations seront du type « date d’entrée dans le service », « quantité stockée » …
B. Qu’est ce qu’un système d’information de gestion
Le système d’information d’une entreprise est l’ensemble des informations qui y circulent ainsi que l’ensemble des moyens mis en oeuvre pour les gérer. L’objectif d’un système d’information est de restituer l’information à la personne concernée, sous la forme appropriée et en temps opportun pour prendre une décision ou effectuer un travail.
Toutes les informations qui circulent dans l’organisation, quelle que soit leur forme, font partie du SI. Mais seules les informations formalisées nous intéressent, car elles sont les seules à
être vraiment utilisables en informatique. L’ensemble de ces informations formalisées constituent ce qu’on appelle le système d’information automatisé.
Les systèmes d’information préexistent à l’informatique. Avant d’utiliser les ordinateurs, les informations concernant les clients, les commandes, les stocks, etc, étaient mémorisées sur papier, sous forme de fiches, formulaires, regroupés dans des dossiers. Et il existait des procédures manuelles pour traiter ces informations.
Le système informatisé doit être au service du système d’information mis en place par les dirigeants de l’entreprise (et non l’inverse comme cela existe trop souvent).
C. Les fonctions du système d’information
Le système d’information de l’entreprise reçoit de son environnement des informations qu’il doit traiter. Ce sont par exemple des commandes de clients qui doivent être traitées jusqu’à leur aboutissement, ou l’arrivée des factures des fournisseurs. Le SI reçoit et traite aussi des informations internes à l’organisation, comme par exemple les documents comptables, ou les chiffres de production.
On peut distinguer 4 fonctions principales du système d’information :
1- Recueillir l’information (saisie )
2- Mémoriser l’information (stockage dans des fichiers ou bases de données)
3- Exploiter l’information (traitement)
a. Consulter
b. Organiser
c. Mettre à jour
d. Produire de nouvelles informations par des calculs
II. La modélisation
Les méthodes d’étude des systèmes d’information ont pour objectif de décrire ces systèmes à l’aide de modèles, puis de réaliser les systèmes informatisés qui en découlent. MERISE est une de ces méthodes, la plus répandue dans Le Monde De l‘Informatique actuellement.
A. Qu’est qu’un modèle
Un modèle peut être défini comme étant une image de la réalité. Toute réalité complexe3 a besoin d’être représentée pour être comprise et maîtrisée.
Ex :
Une carte routière représente, à l’aide de symboles, tout ou partie d’un territoire et son infrastructure routière.
Le plan établi par un architecte permet à chaque corps de métier d’intervenir efficacement dans la construction
d’un immeuble.
Ainsi, l’informaticien peut être vu comme l’architecte du système informatisé, qui en dresse le plan détaillé.
Un modèle doit permettre de communiquer dans ambiguïté. Donc il faut utiliser un formalisme 4
normalisé5.
Merise propose plusieurs modèles pour représenter le SIG.
B. La méthode Merise
Merise est une méthode qui permet de construire un système d’information automatisé qui soit efficace, flexible et adapté à l’entreprise. C’est une méthode née en 1976 suite à un projet du Ministère de l’Industrie.
1.
Les composantes de Merise
Comme toute méthode d’analyse et de conception des SI, Merise regroupe : Des modèles (concepts, règles de représentation)
un langage (vocabulaire, règles de syntaxe) Une démarche
Des outils (des logiciels tels que AMC Designor ou Win Design) Elle permet de représenter les composantes d’un SIG
Les acteurs Les données Les traitements Les procédures
Les postes de travail, etc.
Ceci afin de concevoir, réaliser et mettre en place une nouvelle informatisation.
2. La démarche Merise
1- Approche globale du SI Schéma directeur
2- Etude des différentes solutions possible puis choix Etude préalable 3- Complément des spécifications du domaine Etude détaillée
d Dossier de spécifications fonctionnelles ou cahier des charges utilisateurs 4- Spécifications techniques complètes Etude technique
d Dossier de spécifications techniques ou cahier des charges de réalisation 5- Ecriture des programmes Production
6- Tests, essais, formation utilisateur Mise en oeuvre 7- Corrections et adaptations du logiciel Maintenance
8- Contrôle de la conformité des résultats par rapport aux demandes Contrôle de qualité, recette
3. Les niveaux d’abstraction
La nécessité d’aborder différents types de préoccupations (décrire l’activité, définir les règles de gestion, définir
les informations, répartir les traitements entre l’homme et la machine, organiser physiquement les fichiers,
choisir le matériel, répartir les responsabilités, etc) a conduit à proposer différents niveaux d’abstraction.
Les voici :
NIVEAU
QUESTION
CONTENU
DOMAINE
Conceptuel
Que faire ?
-
données
manipulées
- règles de
gestion
- enchaînement
des traitements
Gestion
Organisationnel Qui fait quoi
Quand ?
Où ?
- partage des
tâches
- mode de
traitement
- répartition
géographique
des traitements
- organisation
des données
Organisation
Physique
Comment ?
- programmes
- logiciels
- matériels
Technique
Merise (du moins dans sa première version) est une méthode qui préconise de séparer l’étude
des données et les traitements.
Chaque modèle de Merise concerne soit les données, soit les traitements, à un niveau d’abstraction donné.
NIVEAU
DONNEES
TRAITEMENT
Conceptuel
MCD
Modèle Conceptuel des
Données
MCT
Modèle Conceptuel des
Traitements
Organisationnel
MLD
Modèle logique des
données
MOT
Modèle Organisationnel
des Traitements
Physique
MPD
Modèle Physique des
Données
MOPT
Modèle Opérationnel
des Traitements
L’analyse du système existant conduit à construire :
- Au niveau logico-physique :
Le modèle conceptuel des communications (MCC) qui représente les échanges de flux d’informations entre les différents acteurs du SI et les acteurs extérieurs Le schéma de circulation des documents (SCD) qui représente les échanges d’informations entre les Acteurs du SI ainsi que les tâches qui produisent les documents.
- Au niveau organisationnel :
Le modèle organisationnel des traitements qui permet de préciser par rapport à l’étape précédente si les tâches sont automatisées ou manuelles, les événements déclencheurs et les conditions d’émission des objets externes.
- Au niveau conceptuel
Le MCD (modèle conceptuel des données) et le MCT (modèle conceptuel des traitements) Le passage de la modélisation du système existant à la modélisation du système futur implique une critique du système existant, une réflexion sur les évolutions possibles en tenant compte des nouveaux objectifs assignés au système futur.
L’analyse du système futur conduit à construire :
- Au niveau conceptuel :
Le MCD et le MCT découlant de la critique de l’existant
- Au niveau organisationnel :
Le MOT du système futur mettant en valeur la nouvelle organisation (y compris en terme de ressources humaines et de nouveaux postes de travail)
- Au niveau logico-physique
Le MLD modèle logique des données et le MPD modèle physique des données obtenus à partir du MCD adapté aux choix effectués dans le MOT et aux besoins d’informations complémentaires Le MPT modèle physique des traitements (algorithmes, structure des programmes…)
1 Propriété : qualité, caractéristique d’une chose ou d’un individu 2 Formalisé : clair, précis, explicite, structuré
3 Complexe : qui contient de multiples éléments en relations, compliqué 4 Formalisme : langage écrit formalisé
III- La méthode de construction d'un MCD
III.1 La recherche des données de la base
III.1 .1 - Généralités
Il s'agit ici de trouver et de définir précisément :
•
Les
attributs
ou
propriétés
des entités,
•
Les attributs des associations,
•
Les données calculées dont on peut avoir besoin dans le traitement des informations (exemples :
totaux, montants HT, montants TTC, etc.). Elles ne sont pas enregistrées. Elles sont calculées dans
les requêtes ou bien dans les formulaires ou bien dans les états. Elles apparaissent lors de
l'affichage à l'écran du résultat des requêtes (tableaux appelés "feuilles de données" avec Access) ou
lors de l'impression des documents.
L'ensemble de ces informations constituent les données de la base.
Cette recherche aboutira à la mise en évidence des entités.
III.1 .2 - Les règles de la recherche et de la définition des données
On est au stade de la conceptualisation. Rien n'est encore informatisé.
Cette analyse du système informationnel se fait à partir des documents utilisés et des interviews
données par les utilisateurs.
1 - Supprimer les rubriques génériques : le principe de l'atomicité doit être respecté : l'information
doit être divisée jusqu'au niveau limite des traitements informatiques. Par exemple, l' "adresse
complète" ne peut pas être une donnée car certains traitements peuvent porter sur le code postal ou
sur le nom de la ville. 2 - Supprimer les synonymes : deux termes différents trouvés dans les
documents ou au cours des interviews désignent la même information. Par exemple : code-client et
numéro-client désignent la même réalité. Il ne faut retenir qu'un terme. 3 - Supprimer les polysèmes :
un terme est dit "polysème" quand il désigne deux informations différentes. Cette situation traduit un
manque d'analyse. Par exemple, le terme "code-produit" désigne les produits finis en catalogue et les
matières premières ! 4 - Délimiter les
rubriques calculées
.
5 - Délimiter les paramètres. Par exemple, un taux de TVA s'il est unique dans l'entreprise doit être
intégré aux fonctions de traitement.
III.2 .1 – L'entité
Définition
La connaissance de l'activité de l'organisation étudiée et des procédures de gestion, permet de définir
les ensembles de données nécessaires à la gestion :
Les entités.
C'est donc un ensemble d'information existant dans l'organisation étudiée et repéré par le responsable
de l'étude, en raison de son utilité dans la gestion.
Exemple 1 : le service commercial gère les commandes reçues des clients et comportant les produits
à livrer. Les mots soulignés sont les entités de l'application "gestion commerciale". Comparaison
entre l'entité "commandes" et les autres : une commande regroupe un ensemble d'information à gérer.
Habituellement une commande a une certaine existence, une certaine matérialisation.
Exemple 2 : une coopérative viticole veut gérer ses produits en stocks (vin en bouteille de qualités
différentes).
Exemple 3 : une chambre de commerce organise des salons professionnels…
Pour une entité "client", chaque client particulier est dit "occurrence de l'entité client".
III.2 .2 - Les attributs de l'entité
Les informations élémentaires (principe de
l'atomicité
) qui décrivent une entité (n'importe quelle
entité) sont appelées "attributs" de l'entité (ou "propriétés").
[voir 3.1.1]
Exemples :
Code client
Raison sociale Civilité du
responsable
Nom du
responsable
Prénom du
responsable
Fonction du
responsable
411001
Pomagalski
Monsieur
Juanito
ZHERFLUS
Directeur
com
411002
Alsthom
Madame
Anita
DICAPRI
Directeur
rech
Adresse rue
Code postal
Adresse ville …
…
…
…
"Adresse client" ne peut pas être un attribut d'une entité client si la gestion nécessite des éditions
automatiques des noms et adresses sur des enveloppes, sur du courrier…
III.2 .3 - L'identifiant de l'entité
Un attribut dont la valeur particulière (occurrence de l'attribut) permet d'identifier une occurrence de
l'entité est l'identifiant de cette entité.
Exemple 1 : numéro = attribut de l'entité client. Un numéro permettra d'identifier sans ambiguïté,
sans équivoque, un client particulier. C'est le "code client" ou "numéro client". Un nom ne peut pas
être un identifiant.
informatique. On va la remplacer par un code-produit qui sera l'identifiant de l'entité. Ce code peut
être signifiant (codification selon une grille) ou non (codification séquentielle).
III.2 .4 - Représentation de l'entité et de ses attributs (Modèle du MEA)
Nom entité
Identifiant
…
A - L'association
Définition
Une association définit un type de lien, un type de relation, entre deux ou plusieurs entités.
Dans un système d'information considéré, une association correspond à une ou plusieurs règles
générales d'organisation ou de logique
Exemple : un club sportif (ASL, 24 pl. de la gare à Lyon) organise des stages de ski d'une journée
pour ses membres (nom, prénom, numéro, date de naissance, adresse rue, code postal, adresse
ville…). Des moniteurs professionnels sont recrutés et payés pour l'encadrement : Serge MARTIN,
14 rue de champs, 69002 LYON; Stéphane DUBOIS, 123 bd de la Martinière, 69005 LYON; Claire
DUBOURG… ; Coralie LAVAL… Les stages ont un nom qui change chaque année : étoile, cristal,
paillette, colonne, granule, dendrile, aiguille pour la saison 1998-1999. Ils ont un niveau, un contenu,
une date, un lieu…
Un stage n'est encadré que par un seul moniteur. Un adhérent peut suivre plusieurs stages pendant
une saison
Les deux dernières phrases de l'exemple ci-dessus sont des règles de gestion ou d'organisation.
Trouvez les entités, les attributs, les idées de relation, les idées de codification…
Réponses :
Le nom de l'association est en général un verbe.
A-1 - L'identifiant de l'association
C'est une idée importante. Il faut dire : les entités x et y "participent" à l'association z.
Chaque occurrence (ou réalisation) d'une association se réalise par la réalisation des diverses entités
qui "participent" à cette association.
Exemples : 1/ Moniteurs - Stage 2/ Adhérents - Stage
Ceci est de la logique. Avant de voir concrètement comment on le réalise, il faut comprendre l'idée.
L'identifiant de l'association est formé par les deux identifiants pris ensembles des deux entités
reliées par l'association.
Dans certaines situations, la date permet l'identification de l'association. La date est considérée alors
comme une entité (on dit que c'est une pseudo entité).
Exemple : à l'occasion des contrôles écrits dans chaque matière, une note est attribuée à chaque élève
(dans chaque matière).
A-2 - Les attributs de l'association
L'association peut avoir des attributs propres, outre les identifiants des entités associées.
Exemple : la note au devoir, la quantité commandée…
Une telle association est dite "porteuse de données".
Les identifiants des entités (associées) qui participent à l'association sont des attributs obligatoires
de l'association. En conséquence, ils ne sont pas notés en principe dans la représentation de
l'association.
A-.3 - Représentation de l'association
(Modèle Entité Association)
Nota 1 : le nom de l'association est souvent un verbe.
Nota 2 : les coins du rectangle de l'association doivent être arrondis.
Nota 3 : les règles du modèles voudraient que les identifiants des entités ne soient pas notés dans le
cartouche de l'association. Toutefois, dans la pratique, on les note.
IV - Correspondance avec un logiciel SGBDR
Vous le savez déjà, on passe ici du MCD au modèle logique et plus spécialement au modèle
relationnel.
On utilise une table pour regrouper toutes les occurrences de l'association c'est à dire toutes les
occurrences de la réalisation de la relation entre les entités.
On le sait, la table a une forme de tableau à l'écran :
•
Les premières colonnes ou champs permettent de noter les identifiants des entités associés. C'est
obligatoire. On les appelle les clefs externes de l'association.
•
Les colonnes suivantes sont celles de données propres lorsque l'association est porteuse de
données.
Le modèle entité-association est constitué de deux éléments de base :
• Les entités, qui sont des regroupements d'informations, et possèdent des attributs (caractéristiques)
• Les associations qui sont les liens logiques entre les entités (et sont quantifiées par des cardinalités)
Exemples
2.1. Les entités (des ensembles)
Ce sont des regroupements d'informations. Les informations contenues dans les entités
(informations que l'on appelle "attributs") doivent être des informations variables, mais communes à une même classe d'objets.
Par exemple, si l'on considère l'entité "être humain" les informations communes aux être humains peuvent être :
• le nom • le ou les prénoms • la date de naissance • le lieu de naissance • le sexe • l'adresse etc...
On considère souvent qu'il s'agit de "classes" d'entités.
Une entité donnée peut elle-même être constituée de sous-classes.
Par exemple, un être humain donné peut habiter au même endroit qu'un autre (si deux
personnes vivent sous le même toit parce qu'ils sont mariés). Dans ce cas, l'adresse constitue une sous-classe de l'entité "être humain", c'est à dire une nouvelle entité à part entière. D'un autre côté, il arrive souvent que plusieurs personnes résident au même endroit, sans même se connaître (cas d'un immeuble collectif par exemple). Dans ce cas on peut considérer l'adresse, comme une entité et la décrire de la manière suivante :
• Pays
• Région
• Département
• Rue etc...
On schématise une entité par un rectangle. Exemple :
2.2. Les attributs (des caractéristiques)
Les attributs sont les caractéristiques décrivant les entités et doivent être représentés comme
une liste de mots, la plus simple possible, dans le cadre de l'entité correspondante. On devra préciser le type des données attendues pour chaque attribut.
Exemple :
Les types associés aux attributs sont les suivants :
2.3. Les associations (ou relations)
Ce sont des liaisons logiques entre les entités.
Elles peuvent être de nature factuelle, ou de nature dynamique.
Par exemple, une personne peut acheter un objet (action d'acheter), mais si l'on considère qu'une personne est propriétaire d'un objet, alors l'association entre l'objet et cette personne est purement factuelle.
Les associations se représentent dans une ellipse (ou un rectangle aux extrémités rondes), reliée par des traits aux entités qu'elles lient logiquement.
Exemple :
2.4. Les cardinalités (ou "combien" ?)
Les cardinalités, au sens arithmétique du terme, permettent de dénombrer les éléments de l'entité d'arrivée en relation avec un élément de l'entité de départ, et vice versa.
Exemple :
Considérons le cas de l'association "habite" et les deux entités "être humain" et "appartement" du schéma précédent, les cardinalités minimales et maximales sont les suivantes :
• sens "être humain" vers "appartement" : 1 (minimum) et 1 (maximum)
• sens "appartement" vers "être humain" : 0 (minimum) et n (maximum)
Ce qui signifie que dans cette modélisation un être humain réside dans un appartement et un seul à la fois, mais qu’un appartement peut se trouver vide ou être pourvu de plusieurs résidents.
Bien entendu tout être humain ne réside pas forcément dans un appartement, ce peut être dans une maison, à l’hôtel ou à la belle étoile (SDF…). Mais il convient de se concentrer sur ce que l’on doit modéliser et non sur l’univers entier.
On note les cardinalités de chaque côté de l'association, sur les traits faisant la liaison entre l'association et l'entité.
Dès cet instant, on peut en déduire le type de relation parmi les types suivants : : 1/1, 1/n ou n/1 ou encore n/m.
Ici c’est une relation de type 1,n.
Pour déduire le type d’une relation, il suffit de récupérer les cardinalités maximales des deux côtés de l’association, sans tenir compte de leur valeur exacte.
On peut s’y aider à l’aide des diagrammes de Wen et des notions de mathématiques
ensemblistes, bien connus de ceux qui ont pratiqués les maths modernes dès leur plus jeune âge...
Entrent alors en jeu les notions de bijection, interjection, surjection...
Attention ! Des relations différentes entre mêmes entités peuvent posséder des cardinalités
V. De la théorie à la pratique.
Ce que nous venons de voir concerne l'analyse conceptuelle des données, c'est à dire un niveau d'analyse qui s'affranchi de toutes les contraintes de la base de données sur lequel va reposer l'application. Une fois décrit sous forme graphique, ce modèle est couramment appelé MCD pour "Modèle Conceptuel des Données".
Dès lors, tout MCD peut être transformé en un MPD ("Modèle Physique des Données") c'est à dire un modèle directement exploitable par la base de données que vous voulez utiliser... Tout l'intérêt de cet outil d'analyse est de permettre de modéliser plus aisément les relations existant entre les entités et d'automatiser le passage du schéma muni d'attributs aux tables de la base de données pourvues de leurs champs.
Voici maintenant les règles de base nécessaire à une bonne automatisation du passage du MCD au MPD :
V.1. Transformation des entités (passer de l'entité à la table)
Règle n°1 : toute entité doit être représentée par une table.
V.1.1. Relation de type 1:1 (la voix de la simplicité)
Règle n°2 : Dans le cas d'entités reliées par des associations de type 1:1, les tables doivent avoir la même clef.
NOTA : on aurait pu choisir l'autre clef comme clef commune, à savoir le n° d'appartement.
Dans ce cas une étude approfondie de la solution à adopter est nécessaire, mais ce type de relation est en général assez rare et peu performante...
V.1.2. Relation de type 1:n (maître et esclave)
Règle n°3 : Dans le cas d'entités reliées par des associations de type 1:n, chaque table possède sa propre clef, mais la clef de l'entité côté 0,n (ou 1,n) migre vers la table côté 0,1 (ou 1,1) et devient une clef étrangère (index secondaire).
Exemple :
V.1.3. Relation de type n:m (plusieurs à plusieurs)
Règle n°4 : Dans le cas d'entités reliées par des associations de type n:m, une table intermédiaire dite table de jointure, doit être créée, et doit posséder comme clef primaire une conjonction des clefs primaires des deux tables pour lesquelles elle sert de jointure.
V.2. Ou placer les attributs d'association ?
Règle n°5 : Cas des associations pourvues d'au moins un attribut :
• si le type de relation est n:m, alors les attributs de l'association deviennent des attributs de la table de jointure.
• si le type de relation est 1:n, il convient de faire glisser les attributs vers l’entités pourvue des cardinalités 1:1.
• si le type de relation est 1:1, il convient de faire glisser les attributs vers l’une ou l’autre des entités.
Pour synthétiser toutes ces règles, voici un exemple de modélisation d'une application. En l'occurrence il s'agit d'un service commercial désirant modéliser les commandes de ses clients.