Académique Documents
Professionnel Documents
Culture Documents
Merise | 1
999 &
GENIE LOGICIEL
Dr Raogo KABORE
Merise | 2
Bibliographie
Conception des bases de données relationnelles : Concepts, méthodes et cas corrigés. 2001
J. AKOKA, I. Comyn-Wattiau
Webographie
http://www.loria.fr/~jloncham/enseignement-fr.html
Merise | 3
SOMMAIRE
I. INTRODUCTION _________________________________________________________ 5
Définition _____________________________________________________________________ 5
Historique _____________________________________________________________________ 5
II. LES 3 DIMENSIONS DE LA METHODE MERISE _________________________________ 7
Le cycle d'abstraction ____________________________________________________________ 7
Le cycle de vie __________________________________________________________________ 9
Le cycle de décision ____________________________________________________________ 10
Plans types ___________________________________________________________________ 10
Plan type de l’étude préalable: production du cahier des charges _______________________________ 11
Plan type de l’étude détaillée: production de spécifications ____________________________________ 12
LA COURBE DU SOLEIL __________________________________________________________ 13
III. Le modèle conceptuel des traitements (MCT) ________________________________ 18
LE CONCEPT D'EVENEMENT ______________________________________________________ 18
processus ____________________________________________________________________ 18
Opération ____________________________________________________________________ 18
La synchronisation _____________________________________________________________ 18
Construction du MCT ___________________________________________________________ 19
Méthode de construction________________________________________________________ 20
Exemple de MCT _______________________________________________________________ 20
Gestion des approvisionnements _________________________________________________________ 20
Événement ___________________________________________________________________________ 41
Autres concepts (synchronisations, règles d’émission) ________________________________________ 41
Formalisme ___________________________________________________________________ 42
Exemple de MOT ______________________________________________________________ 43
Tableau de décomposition en phases: _____________________________________________________ 43
MOT ________________________________________________________________________________ 44
Fiche de description de phase ____________________________________________________________ 45
I. INTRODUCTION
DEFINITION
MERISE signifie Méthode d'Etude et de Réalisation Informatique par Sous-Ensembles.
MERISE est une Méthode Systémique d'Analyse, Conception et de Réalisation des Systèmes d'Informa-
tion.
HISTORIQUE
En 2001, la méthode MERISE était encore la méthode de conception de systèmes d’information la plus
largement pratiquée en France.
MERISE a pris en compte les évolutions de l’informatique et continue de s’adapter aux nouvelles techno-
logies : architectures clients/serveur, interfaces graphiques, démarche de développement rapide, ap-
proche objet, applications intra/internet.
Aujourd’hui, la méthode MERISE correspond encore globalement aux savoir-faire actuels en ingénierie
des systèmes d’information de gestion.
MERISE constitue un standard de fait en conception des systèmes d’information
Au fil du temps, la méthode Merise de base (appelée Merise 1) se transforma en Merise 2 (intégrant des
éléments tels que contraintes, héritage, types, sous-types), puis en Merise 3 aussi appelée méthode
OOM, pour Orientations Objet dans Merise, qui est une variante de Merise, proposant une approche
réellement orientée objet, à base d'une encapsulation données-traitements validable.
Nous nous limiterons en ce qui nous concerne aux concepts fondamentaux de Merise 1 qui constituent le
socle de cette méthode d’analyse.
Merise | 7
Le cycle de vie : c’est le découpage du projet en trois périodes: conception, réalisation et maintenance.
Le cycle de vie rejoint le cycle en V.
Le cycle de décision : c’est la liste de tous les moments où une décision est prise sur le projet (décision
de faire le projet après une étude préalable, décision de valider l’analyse fonctionnelle et de passer à
l’architecture, validation de la recette, etc.)
Le cycle d’abstraction : c’est l’organisation structurelle des données et des traitements. On va surtout
s’intéresser au cycle d’abstraction.
LE CYCLE D'ABSTRACTION
Le cycle d’abstraction est découpé en quatre niveaux : conceptuel, organisationnel, logique et physique.
Le niveau conceptuel : il exprime des choix fondamentaux de gestion (recherche d’éléments stables
indépendamment des moyens à mettre en œuvre, de leurs contraintes et de leur organisation). Répond à
la question : QUOI.
Le niveau logique : il exprime les choix de moyens et de ressources informatiques, en faisant abstraction
de leurs caractéristiques techniques précises. C’est le niveau du modèle relationnel (moyen informatique :
base de données relationnelle), du diagramme des classes et des diagrammes de séquence objets
(moyen informatique : langage orienté objet). Répond à la question : COMMENT.
Le niveau physique : il traduit les choix techniques et la prise en compte de leurs spécificités. C’est le
niveau du code dans un langage particulier
Le cycle d’abstraction est basé sur une distinction entre les données et les traitements. C’est la dichotomie
fondamentale de MERISE.
QUOI Signification des informations sans Activité du domaine sans préciser les
contraintes techniques, ressources et leur organisation
organisationnelle ou économique.
QUI, OU, QUAND Signification des informations avec Fonctionnement du domaine avec les
ressources utilisées et leur organisa-
contraintes organisationnelles et tion
économiques. (Répartition et (répartition des traitements sur les
quantification des données ; droit des postes de travail)
utilisateurs)
LOGIQUE MLD MLT
Modèle relationnel
PHYSIQUE MPD MPT
LE CYCLE DE VIE
LE CYCLE DE VIE
ETAPES DE LA DEMARCHE EXPLICATIONS
Réalisation
Production Écriture des programmes, générations des fichiers ou des bases
logicielle de données, tests.
LE CYCLE DE DECISION
Le cycle de décision représente l’ensemble des choix qui doivent être faits durant le déroulement du cycle
de vie.
Étude technique MOE Spécifications techniques pour Accord des réalisateurs sur les
la réalisation spécifications techniques
PLANS TYPES
Comme toute autre méthode, la méthode MERISE propose des plans types pour tous les documents
prévus par la méthode.
L’étude préalable et de l’étude détaillée sont les deux études qui sont les plus spécifiques à MERISE car
elles font intervenir l’essentiel du cycle d’abstraction.
1. Recueil
2. Conception
3. Qualité
4. Chiffrage
Résultats obtenus :
Cahier des charges fonctionnel
Dossier de choix
Merise | 12
1. Recueil complémentaire
2. Conception
3. Qualité
4. Chiffrage
Résultats obtenus :
LA COURBE DU SOLEIL
Merise | 14
Les échanges de données ou de messages entre les acteurs du système d’information sont résumés dans
une matrice ou un diagramme des flux (aussi appelé modèle conceptuel de communications).
Le Diagramme de flux est une représentation graphique des acteurs et des flux échangés
Un acteur externe représente tout élément extérieur à l’organisation et échangeant des flux avec le do-
maine d’étude
Un acteur interne peut être une personne physique ou morale appartenant au système, capable d’échan-
ger des informations avec les autres acteurs ou partenaires
modélise un élément structurel du domaine d’étude
reflète un choix d’organisation
Exemple: Emile Zapata (une personne), le comptable (une fonction), le poste de saisie numéro 5 (poste
de travail), le service commercial
Commande
Service Service
commer expédi-
-cial Avis d’expédition tion
Facture
Paiement
Bon de livraison
Client
Réclamation
Quand l’étude se place au niveau conceptuel (le niveau conceptuel s’intéresse à des principes stables,
indépendants de l’organisation pratique), les flux qui résultent de l’organisation du travail ne doivent pas
être retenus. On élimine notamment les flux internes informants, qui ne font que transférer une infor-
mation sans entraîner le déclenchement d’un traitement (l’hypothèse est que ces flux sont potentiellement
remplacés par une base de données accessible aux acteurs).
Exemple de diagramme sans flux organisationnels informants (le transfert de l’avis d’expédition ne dé-
clenche aucun traitement, sa seule utilité est de mettre l’information à disposition des commerciaux) :
Service
Livraison à facturer
factura-
Commande tion
Service Service
commer expédi-
tion Facture
-cial
Réclamation Paiement
Bon de livraison
Client
Merise | 16
A partir de la matrice ou du diagramme des flux, MERISE propose d’ordonner les flux dans un graphe.
Exemple de graphe ordonné des flux conceptuels (la réclamation est supposée provenir d’une erreur de
livraison ou de facturation) :
Commande
Livraison à BL
facturer
Facture
Réclamation
Paiement
Le graphe ordonné permet ensuite de positionner les traitements : le passage d’un flux à un autre néces-
site un traitement (non représenté s’il se situe à l’extérieur de l’entreprise, du domaine ou du processus
étudié) et chaque flux entrant doit être est traité. Un même traitement n’apparaît qu’une fois dans le mo-
dèle.
Merise | 17
Traitements
Exemple de passage du graphe aux traitements :
Commande
Le même traitement
d’expédition conduit aux deux
Expédition flux résultants
Livraison à
facturer
BL
Ici, en pointillés, les actions
menées hors entreprise (chez le
client), dont seules les
Facturation conséquences sont traitées.
Paiement Réclamation
Facture On ajoute les résultats
mettant fin aux
traitements.
Encaissement
Trait. réclamation
Paiement enregistré
Réclamation traitée
Merise | 18
Le modèle conceptuel des traitements permet de traiter la dynamique du système d'information, c'est-à-
dire les opérations qui sont réalisées en fonction d'événements.
Ce modèle permet donc de représenter de façon schématique l'activité d'un système d'information sans
faire référence à des choix organisationnels ou des moyens d'exécution, c'est-à-dire qu'il permet de définir
simplement ce qui doit être fait, mais il ne dit pas quand, comment ni où...
Un modèle conceptuel des traitements (MCT) peut se déduire du graphe des flux, en y associant des
échéances, des résultats qui ne constituent pas des flux et des règles de gestion. Un modèle conceptuel
des traitements est indépendant de l’organisation de l’entreprise.
LE CONCEPT D'EVENEMENT
PROCESSUS
Un processus est un sous-ensemble de l'activité de l'entreprise, cela signifie que l'activité de l'entreprise
est constituée d'un ensemble de processus. Un processus est lui-même composé de traitements regrou-
pés en ensembles appelés opérations.
OPERATION
Une opération est un ensemble d'actions exécutées par le système suite à un événement, ou à une con-
jonction d'événements.
Cet ensemble d'actions est in interruptible, c'est-à-dire que les événements ne sont pas pris en compte
(ils ne sont pas forcément ignorés pour autant) tant que l'opération n'a pas été accomplie.
LA SYNCHRONISATION
La synchronisation d'une opération définit une condition booléenne sur les événements contributifs devant
déclencher une opération. Il s'agit donc de conditions au niveau des événements régies par une condition
logique réalisée grâce aux opérateurs :
OU
ET
NON
Merise | 19
CONSTRUCTION DU MCT
Le modèle conceptuel des traitements permet de représenter schématiquement la gestion des événe-
ments :
Formalisme
Evènements
-Interne ( résultats précédents )
-Externe ( hors référentiel) :
A B C -Flux ( commande,livraison)
-Temporisation ( 31/12 inventaire)
-Décision arbitraire. Ensemble d’opérations
Déclenché par au
moins un évènement
extérieur
Synchronisation
A ET (B OU C)
Processus
NOM OPERATION Opération
REGLES D'EMISSION
Résultats
R1 R2 R3
Valeur ajoutée par une opération
- Concret ( création d’objet )
- Abstrait ( pas de création d’objet)
Merise | 20
METHODE DE CONSTRUCTION
Identifier les règles de gestion
Rechercher les ruptures (temps, décision)
Construire le MCT
EXEMPLE DE MCT
Le Modèle Conceptuel de données (MCD) sert à décrire les données du Système d’Information.
Il permet de représenter les données de manière facilement compréhensible à l'aide des concepts d'enti-
tés et de relations.
CONCEPTS
ENTITÉ
Une Entité est un objet abstrait ou concret ayant une existence propre.
Un Entité est porteuse de propriétés.
La propriété est le plus petit élément d'information manipulé par l'entreprise par exemple le nom du sta-
giaire.
La propriété qui permet de repérer une Entité est un identifiant. La valeur de la propriété doit être unique
par exemple le matricule du stagiaire
Merise | 25
RELATION
Une relation représente une association entre un certain nombre d'Entités (de 1 à n) qui forment sa col-
lection. Elle peut être porteuse de propriétés.
Une relation n'a d'existence que par rapport à celle des Entités.
Elle possède un nom.
L'identifiant d'une relation est la concaténation des identifiants des Entités participant à la relation.
Exemple de relation :
CARDINALITES
La cardinalité d'une relation exprime le nombre de fois où une occurrence d'Entité participe à la
relation.
Cardinalité minimum : c'est le nombre minimum de fois où chaque occurrence d'un Entité participe
à la relation
- une cardinalité minimum est 0 correspond à une relation partielle.
- une cardinalité minimum de 1 signifie qu'une occurrence d'Entité participe nécessairement à la relation
(relation totale).
Cardinalité maximum : c'est le nombre maximum de fois où chaque occurrence d'un Entité parti-
cipe à la relation
- une cardinalité maximum de 1 signifie qu'une occurrence d'Entité participe au plus à 1 occurrence de la
relation.
- une cardinalité maximum de n signifie que toute occurrence d'Entité participe éventuellement à n occur-
rences de la relation.
Merise | 26
Une contrainte d’intégrité fonctionnelle (ou CIF) est définie par le fait qu’une des entités de l’association
est complètement déterminée par la connaissance d’une ou de plusieurs entités participant à cette même
association.
Exemple
Nous pouvons lire qu’une session est suivie par zéro ou plusieurs stagiaires et qu’un stagiaire suit une et
une seule session. Dans le cas d’une association binaire comme celle-ci, une contrainte d’intégrité fonc-
tionnelle existe à partir du moment où une cardinalité de type 1,1 existe.
Merise | 29
TECHNIQUES DE MODELISATION
DD = Dictionnaire de données
DF = Dépendances Fonctionnelles
GDF = Graphe de Dépendances Fonctionnelles
Merise | 30
MODELISATION DIRECTE
MODELISATION ASCENDANTE.
Ensuite on épure le dictionnaire (synonymes - noms différents recouvrant la même propriété : salarié et
employé -, polysèmes - même nom pour deux informations différentes : date pour date-facture et date-
commande,...).
Type
Nom de la Règle de Règle de
Format Longueur Elémen- Calculé Document
donnée calcul gestion
taire
Nom de la donnée
Cette cellule recevra une donnée par exemple : Nom client.
Format
Ici sera indiqué le format de la donnée.
Format génériques des données
Le type alphabétique (rien que des caractères).
Le type alphanumérique (des caractères, des chiffres…).
Le type numérique (les nombres).
Le type date.
Le type logique (0-1,Vrai-Faux,
Oui-Non).
Longueur
La longueur approximative ou exacte de la donnée sera indiquée, par exemple : 30.
Merise | 32
Type
Une croix sera inscrite dans la colonne pour indiquer si la donnée est élémentaire ou calculée.
Règle de calcul
Ici sera indiquée de manière claire la formule ou le calcul nécessaire à appliquer pour obtenir la donnée.
Règle de gestion
Dans cette zone sera indiquée, si nécessaire, la règle de gestion inhérente à la donnée.
Document
La rubrique document permet de saisir le document dans lequel a été trouvée la donnée.
Une dépendance fonctionnelle qui comporte plusieurs attributs est dite composée.
Une dépendance fonctionnelle A → B est élémentaire s’il n’existe pas une donnée C, sous-ensemble
de A, décrivant une dépendance fonctionnelle de type C → B
Par exemple :
RéférenceProduit → Désignation
NuméroCommande, RéférenceProduit → Quantité
NuméroCommande, RéférenceProduit → Désignation
La première dépendance fonctionnelle est correcte car ayant deux rubriques elle est élémentaire.
Merise | 33
La deuxième dépendance fonctionnelle est correcte également car la connaissance d’un numéro de com-
mande et d’une référence produit nous permet de connaître la quantité commandé du produit. Elle est
aussi élémentaire car c’est la connaissance du couple (NuméroCommande, RéférenceProduit) et pas
seulement d’un des éléments qui permet la connaissance de la quantité.
La troisième dépendance fonctionnelle n’est pas élémentaire car il existe à l’intérieur d’elle RéférencePro-
duit →Désignation qui était déjà une dépendance fonctionnelle élémentaire. Pour connaître la Désigna-
tion, NuméroCommande est dans ce cas superflu.
On dit que la dépendance fonctionnelle A → B est directe s’il n’existe aucun attribut C tel que l’on puisse
avoir A → C et C → B. En d’autres termes, cela signifie que la dépendance fonctionnelle entre A et B ne
peut pas être obtenue par transitivité.
NumClasse → NumElève
NumEleve → NomElève
NumClasse → NomElève
La troisième dépendance fonctionnelle n’est pas directe car nous pourrions écrire :
NumClasse → NumElève → NomElève
L’élaboration des dépendances fonctionnelles est réalisée à l’aide du dictionnaire des données. La dé-
marche consiste à rechercher :
Le graphe des dépendances fonctionnelles épure le dictionnaire en ne retenant que les données non
déduites et élémentaires et il permet une représentation spatiale de ce que sera le futur modèle concep-
tuel des données.
Il s'agit d'ordonner, pour avoir une vision synthétique, le résultat de l'analyse des DF faite précédemment.
Merise | 34
NORMALISATION
La normalisation a pour objectif d'éliminer les redondances dans la base ainsi que les anomalies de mise
à jour.
Les Entités et les relations porteuses de propriétés doivent vérifier les règles suivantes :
Toutes les propriétés sont élémentaires et il existe un identifiant. Sinon on décompose une pro-
priété en plusieurs propriétés et/ou on crée une propriété identifiante.
Exemple de 1ère FN
V
V
Merise | 36
Toute propriété dépend de l'identifiant par une dépendance fonctionnelle (DF) élémentaire.
Donc chaque propriété dépend de tout l'identifiant et non pas d'une partie.
Sinon on décompose en plusieurs Entités.
Exemple de 2ème FN
Type Intervenant
Exemple de 3 FN
Modélisation en 3FN
Merise | 38
3
Exemple : construction du MCD à partir d'un bon de commande
N°Bon______ Date______
Code client ____________
Nom__________________
Adresse________________________________
Nom Vendeur __________
Total______
Merise | 39
IdCmde IdProduit
Qté
Le modèle organisationnel des traitements s'attache à décrire les propriétés des traitements non traitées
par le modèle conceptuel des traitements, c'est-à-dire :
le temps
les ressources
le lieu
Le modèle organisationnel des traitements consiste donc à représenter le modèle conceptuel des traite-
ments dans un tableau dont les colonnes sont la durée, le lieu, les responsables et ressources nécessaires
à une action.
POINT DE DEPART
Les règles de gestion définies dans le nouveau MCT, les nouvelles règles d'organisation :
- quel poste de travail assure le traitement ? (QUI ?)
- contraintes de temps dues à l’organisation? (QUAND ?)
- traitement manuel ou automatisé ? (COMMENT ?)
Le MOT est plus précis que le schéma de circulation de documents vu dans l’analyse de l’existant.
PROCEDURE
Phase
Phase : ensemble de tâches dont l’enchaînement est « non interruptible » compte tenu de l’organisation
mise en place. Toutes les tâches d’une phase se déroulent
– sur un même poste de travail (unité de lieu),
– à un moment déterminé (unité de temps),
– avec des moyens homogènes - manuel ou automatique - (unité d'action).
Ex : chaque jour à 16h le secrétariat exécute la phase ‘saisie du dossier de candidature’ sur micro; liste
des tâches : saisie des données, m.à.j. du fichier informatique ‘Candidatures’, classement du dossier pa-
pier.
Poste de travail
Le poste de travail est caractérisé par :
- une fonction à assurer (gestion des stocks …),
- un lieu géographique,
- un ensemble de moyens/ressources (personnel, matériel).
Similaire aux acteurs du modèle acteurs/flux.
Merise | 41
La nature du traitement:
- manuel,
- conversationnel (traitement unitaire immédiat),
- par lots ou ‘batch’ (traitement différé d’un lot de données).
La période d’exécution
Des contraintes de temps dues à l’organisation sont introduites (date, durée…).
Ex: chaque jour à 17h, édition des factures.
Événement
En plus des événements conceptuels on ajoute les événements organisationnels.
- événements de déclenchement de phase.
Ex: date d’exécution d’une tâche.
- événements internes traduisant des liens entre phases (événements intermédiaires, états
d’attente).
Ex: dossier saisi.
FORMALISME
Merise | 43
EXEMPLE DE MOT
A l'arrivée d'une déclaration d'accident, le responsable du service gestion des sinistres (QUI) décide de la
recevabilité et note son avis sur la déclaration.
Il transmet la déclaration annotée au secrétariat du service qui saisit les éléments essentiels sur ordina-
teur.
MOT
Merise | 45
Le Modèle Logique des Données (MLD) est une étape intermédiaire pour passer du modèle E/A, qui
est un modèle sémantique, vers une représentation physique des données : fichiers, SGBD hiérarchique,
SGBD réseau, SGBD relationnel.
Nous nous limitons au seul MLD relationnel, qui prépare le passage aux SGBD relationnels.
Nous allons définir les règles de transformation pour le passage du MCD au MLD, en respectant les dif-
férents cas qui se posent.
Toute entité est transformée en table. Les propriétés de l'entité deviennent les attributs de la table. L'iden-
tifiant de l'entité devient la clé primaire de la table.
Exemple:
Afin de représenter la relation, on duplique la clé primaire de la table basée sur l'entité à cardinalité (x,n)
dans la table basée sur l'entité à cardinalité (x,1). Cet attribut est appelé clé étrangère. Les deux tables
sont liées par une flèche nommée selon la relation, qui pointe de la table à clé étrangère vers la table qui
contient la clé primaire correspondante.
Merise | 47
Exemple
:
L'attribut No_Auteur qui est clé primaire de la table Auteur, devient clé étrangère dans la table Livre.
Nous devons distinguer plusieurs cas. Sachant qu'une relation binaire du type (1,1)-(1,1) ne doit pas exis-
ter il nous reste les 2 cas suivants:
On duplique la clé de la table basée sur l'entité à cardinalité (0,1) dans la table basée sur l'entité à cardi-
nalité (1,1).
Exemple :
Le No_Client, qui est clé primaire de la table Client, devient clé étrangère dans la table
Carte_Membre.
Merise | 48
Exemple :
Soit on migre la clé primaire de la table Entreprise dans la table Salarié, soit on fait l'inverse.
Merise | 49
On crée une table supplémentaire ayant comme clé primaire une clé composée des clés primaires des 2
tables. Lorsque la relation contient elle-même des propriétés, celles-ci deviennent attributs de la table
supplémentaire.
Exemple :
On crée une table Porter, qui contient comme clé primaire une clé composée de No-Commande et
Code_Article. Elle contient également la propriété Quantité issue de la relation Porter.
Exemple :
Exemple:
La relation habiter du type (x,n)-(x,1), est traduite par la migration de l'attribut Adresse dans la table Per-
sonne. La relation posséder du type (x,n)-(x,n) est traduite par la création d'une table supplémentaire du
même nom. Cette table contient comme clé primaire composée, les clés des deux tables reliées Personne
et Maison. On a donc simplement appliqué 2 fois de façon indépendante les règles de transfert MCD
MLD.
Merise | 51
Nous appliquons les règles générales avec la seule différence que la relation est 2 fois reliée à la même
entité
Exemple 1:
Comme il s'agit d'une relation (x,n)-(x,n), une table supplémentaire est créée. Cette table contient comme
clé primaire composée, la clé des "deux" entités reliées. Comme la même entité est liée 2 fois à la relation,
on ne peut pas utiliser 2 fois le même nom pour la clé. Dans ce cas il convient d'utiliser des rôles dans le
MCD, et d'intégrer le rôle dans le nom d'une des clés migrées dans le MLD.
Exemple 2:
Comme il s'agit d'une relation (0,1)-(0,1), nous avons en général le choix en ce qui concerne quelle entité
contiendra la clé étrangère. Comme cette relation est liée deux fois à la même entité, il est évident que
nous devons dupliquer la clé primaire, tout en veillant que le même nom de clé ne sera pas utilisé pour la
clé primaire et la clé étrangère. Dans notre exemple, tous les hommes mariés, ont comme valeur de la clé
étrangère la matricule de leur épouse actuelle. Pour les hommes non mariés et les femmes, la clé étran-
gère est sans valeur. On pourrait bien sûr utiliser la modélisation inverse avec une clé étrangère NO_MA-
TRICULE_MARI, qui indique pour chaque femme mariée, la matricule de son mari.
Merise | 52
RÉCAPITULATIF :
MCD
MRD
MCD
MRD
MCD
MRD
MCD
MRD