Pages - Menu

Pages

Cours Analyse Merise avec exemple : Dictionnaire des Données - MCD - MLD

I - Introduction

Merise propose une méthode de conception et de développement de Systèmes d'Information complète, détaillée, en grande partie formalisée, qui garantit (en principe) une informatisation réussie. Cependant aucune méthode, aussi sophistiquée soit elle, ne dispense de réfléchir et une application sans compréhension de cette méthode doit également pouvoir produire des catastrophes. Nous ne présenterons pas cette méthode de manière exhaustive mais seulement ses principes de base. Ceux-ci suffisent, lorsqu'on leur adjoint un peu de réflexion, à mener correctement l'analyse de projets informatiques de taille moyenne.

Les principales caractéristiques de la méthode sont :

1.    Approche globale menée parallèlement sur les données et les traitements.

Description du SI en trois niveaux :
                  


Pour MERISE, il est classique de mettre en évidence trois niveaux de réflexion :

                          
  • Le niveau conceptuel correspond à la définition des finalités de l'entreprise en expliquant sa raison d'être. Ce niveau traduit les objectifs et les contraintes qui pèsent sur l'entreprise. L'informatique doit les intégrer sans remise en cause. Ces finalités constituent généralement le niveau le plus stable. On y trouvera par exemple les règles de gestion du personnel, de tenue de la comptabilité ou de livraison des produits finis.
                   
  • Le niveau organisationnel permet de définir l'organisation qu'il est souhaitable de mettre en place dans l'entreprise pour atteindre les objectifs visés. On parle alors de choix d'organisation, pour lesquels la marge de manœuvre est plus importante. Ce niveau précise les postes de travail, la chronologie des opérations, les choix d'automatisation, tout en intégrant les contraintes éventuelles.
                    
  • Le niveau technique intègre les moyens techniques nécessaires au projet. Ils s'expriment en termes de matériels ou de logiciels et sont (par suite des progrès technologiques) les plus sujets à changement.
                                   
Le parcours des différents niveaux est alors le suivant :

-1- Le dictionnaire des données.
-2- La matrice des dépendances fonctionnelles.
-3- Le Modèle Conceptuel de Données (MCD).
-4- Le Modèle Logique de Données (MLD).
-5- Le passage sur un logiciel de SGBDR (Système de Gestion de Base de Données Relationnelles), par exemple Access.


II – recueil et organisation des informations 

A – Créer le Dictionnaire des Données (DDD)


Après un travail rigoureux de recueil de l’information sur le terrain auprès des utilisateurs du système d’informations (il s’agit du recueil de l’existant) et l’intégration des nouvelles demandes, il faut regarder l’ensemble des données utiles à sauvegarder. Cet ensemble forme le dictionnaire de données.

Ce dictionnaire est présenté sous forme de tableaux :
              
                

Exemple : la notation du groupe TGI
 
Les données retenues peuvent être :
           
-    Le nom, le prénom, adresse
-    Les notes de chaque contrôle
-    La moyenne générale
-    La date des contrôles.
            
Tous ces attributs vont être placés dans un modèle de données. Il existe des champs de type calculé, tels les moyennes, qui ne figureront pas dans le modèle de données. 

Les types de données sont :
          
  • Alphanumérique
  • Numérique
  • Date/heure
  • Booléen (oui/non)
         
Une fois le dictionnaire de données mis en place, il faut créer un dictionnaire simplifié, duquel les champs calculés sont ôtés. Il faut aussi enlever tous les champs redondants (un « code article » et une « référence article » par exemple, qui qualifient la même information). Enfin, il peut exister des homonymes. Or, chaque enregistrement doit pouvoir être identifier comme unique de façon certaine. Pour ce faire, il faut créer un identifiant.
            
Dans l’exemple des étudiants, on ajoute donc un numéro d’étudiant et un code matière. Un identifiant permet de retrouver un et un seul enregistrement. L’identifiant possède généralement une forme courte. Il peut être créé artificiellement dans le cas où il n’existerait pas dans le dictionnaire de données. L’exemple type d’identifiant reste le numéro de sécurité sociale.
                    
Le dictionnaire de données simplifié regroupe donc tous les champs non redondants à conserver dans le système d’informations. Chaque champ possède un type de données. Ce tableau permet de créer ensuite la matrice des dépendances fonctionnelles.
            
B – Placer les informations dans une matrice

A partir de maintenant, tous les chapitres seront illustrés par l’exercice placé en annexe. Avant de mettre en place la matrice, il faut déterminer les règles de gestion. Ces règles sont identifiées suite aux interviews menées auprès des utilisateurs. Elles sont en général données dans les énoncés de vos exercices. Dans le cas contraire, il faut les isoler.
            
Dans notre exercice, les règles de gestion sont les suivantes :

-A- « La société ne veut avoir affaire qu’à un et un seul contact ».
-B- « Chaque catégorie référence logiquement plusieurs produits ».
-C- « Chaque commande peut contenir un ou plusieurs produits ».
-D- « Le prix de vente peut différer du prix unitaire ».
     
La matrice des dépendances fonctionnelles est un simple tableau. La première colonne reprend tous les attributs du dictionnaire simplifié. Une deuxième colonne numérote chaque champ de un à l’infini.
           

                  
Dans la liste des attributs, les identifiants sont soulignés. En face de chaque identifiant, il faut placer une étoile dans la colonne correspondant à l’identifiant. A partir de chaque identifiant, il faut alors se poser la question « si je prends un identifiant, est ce qu’un attribut correspond une et une seule fois à cet identifiant ? ». Ainsi, si je prends le numéro de client, est-ce que j’ai une et une seule raison sociale qui correspond ?

Si la réponse est « oui », on place un 1 dans la colonne portant le numéro de l’identifiant. Cela nous donne la matrice suivante :
          
               
Lors de cette recherche des attributs correspondants à un identifiant, il faut faire attention de toujours repartir de la ligne 1. L’attention doit aussi porter sur les règles de gestion. Ici, ces règles donnent un seul contact par client. S’il y en avait eu plusieurs, il aurait été impossible de mettre des 1 dans la colonne 1 face aux noms, prénom et fonction du contact.

Il arrive que certains attributs ne répondent pas à la question posée. Ainsi, si je prends le prix de vente du produit, il n’est pas le même pour un même produit. Cet attribut possède donc plus d’un identifiant. Ici, l’identifiant du prix de vente est à la fois la «référence produit » et le « numéro de commande ». En effet, le prix de vente de l’article 1 peut être de 14 francs dans la commande 12, mais de 16 francs dans la commande 5. Il faut bien avoir le numéro de la commande pour retrouver le prix de vente

La matrice des dépendances fonctionnelles de cet exercice est donc :
               

                    
Il existe trois relations. Les relations 1 et 2 sont simples. La troisième est complexe,

puisqu'elle forme une colonne à part entière de la matrice. Elles lient respectivement :


-1- La table Client à la table Commande
-2- La table Produit à la table Catégorie
-3- La table Produit à la table Commande

Une fois que la matrice est déterminée avec tous les attributs affectés à des identifiants, la partie la plus dure est réalisée. Le passage au MCD, puis au MLD reste simplement une question de formalisme. La question des relations se posera dans cette partie

III - Les shcémas Conceptuels

A. LE MODELE CONCEPTUEL DE DONNEES

Pour créer ce modèle, il faut transformer chaque colonne en table. Une table comporte un nom, un ou plusieurs identifiant(s) et des attributs. Elle se présente sous cette forme :
             
                
L’identifiant est maintenant nommé « clé primaire ». Une clé primaire est constituée d’un ou plusieurs attributs. Elle permet de repérer un et un seul enregistrement. La clé est toujours soulignée.

Pour déterminer les associations entre les différentes tables, il suffit de prendre les lignes qui possèdent à la fois * et 1. Une association est dite binaire si elle relie deux tables, n- aire si elle lie plus de deux tables. En règle générale, il existe peu de cas où une association concerne plus de quatre tables à la fois.

Lorsque la ligne possède à la fois 1 et *, il s’agit d’une CIF (Contrainte d’Intégrité Fonctionnelle). La CIF est une relation simple, à laquelle on donne un nom (en général, un verbe). Dans notre cas, il existe deux CIF entre :

- La table « CATEGORIE » et la table « PRODUIT »
- La table « COMMANDE » et la table « CLIENT »


                   
                  
Lorsque la matrice des dépendances fonctionnelles possède des colonnes avec deux numéros, la relation est plus complexe, car elle contient des attributs.
               
          
NB : la relation "Commander" possède une clé primaire constitutée de deux champs : la référence produit et le num commande. On peut faire apparaître  ces champs dans la relation, ce qui donnerait ceci :
              
                       
Quelles sont les possibilités des associations ? La nature des associations est déterminée par les cardinalités. Une cardinalité détermine le nombre minimum et maximum d’occurrences qu’il peut exister. Elle est déterminée par la logique ou par les règles de gestion.Voici tout les types de cardinalités possibles : 
            
         
Exemple : « Chaque catégorie référence plusieurs produits ».
      
         
NB : La cardinalité 1,n signifie qu’une catégorie peut regrouper plusieurs produits, alors que la cardinalité 1,1 veut dire qu’un produit appartient à une seule catégorie.

 Les CIF ont toujours des cardinalités 1,1 et 1,n (on dit « un à plusieurs »), tandis que les associations compliquées ont des cardinalités 1,n à 1,n (« plusieurs à plusieurs »).

Le zéro existe lorsque des attributs de la table sont stockés mais pas forcément utilisés (par exemple, on aurait mis 0,1 si des produits existaient dans la table sans jamais avoir été catégorisés).
     
Le MCD complet de notre exercice donne ceci :
              

                   
B - LE MODELE LOGIQUE DE DONNEES

Le modèle logique constitue la dernière étape avant le passage sur Access. Il permet de déterminer les clés étrangères et les requêtes. Il consiste donc en deux étapes : supprimer les relations complexes pour les transformer en table à part entière d'une part et d'autre part trouver les clés étrangères.

La clé étrangère est formée d’un ou plusieurs attributs permettant de relier la clé primaire d’une table. Cette clé est toujours placée du côté 1,1 de l’association. Elle est précédée du signe #.
Dans notre exercice, le modèle logique est le suivant :

CLIENT (Num Client, Raison sociale, Nom contact, Prénom contact, Fonction contact, Adresse, Code postal, Ville, Fax)

PRODUIT (Référence produit, Nom produit, Prix unitaire, #Code catégorie)

CATEGORIE (Code catégorie, Nom catégorie, Description)

COMMANDE (Num Commande, Date commande, #Num Client)

COMMANDER (Num Commande, Référence produit, Prix de vente)

Il est également possible de le représenter sous une forme proche du MCD :
           


IV - EXERCICE D'APPLICATION
 
ENONCE :

Votre société veut créer une petite base de données de gestion des commandes pour contrôler ses stocks et ainsi pouvoir alimenter ses clients de manière ininterrompue, et ce qu'elle que soit la demande.

Chaque client est une société avec une raison sociale et un numéro de client interne à votre entreprise. Pour des raisons pratiques, vous possédez le nom d’un contact et sa fonction au sein de l’entreprise. Votre société, pour des raisons d’organisation, ne veut avoir à faire qu’à un et un seul contact. De plus, vous connaissez évidemment le numéro de téléphone, le fax et l’adresse de votre client.

Vous possédez une gamme de produits en catalogue, parmi lesquels les clients peuvent commander. Un produit possède une référence, un nom et un prix unitaire. I l entre dans une catégorie codée. Chaque catégorie a en plus d’un code, un nom et une description. Elle référence logiquement plusieurs produits.

Vous recevez ainsi des commandes d’un client, chacune d’entre elles pouvant contenir un ou plusieurs produits. Cette commande est numérotée et datée. Le ou Les produits qui la composent sont vendus à un prix de vente qui peut différer du prix unitaire, puisque votre société décide de sa marge selon ses clients.

TRAVAIL A FAIRE :

     
A partir de ce texte, construire :
     
-    Un dictionnaire des données
-    Une table (Matrice) des dépendances fonctionnelles
-    Un Modèle conceptuel de données (MCD)
-    Un Modèle logique de données (MLD)
 
                  

2 commentaires:

  1. Merci bcp pour le bref du cour j'ai vraiment car j'ai pu éclaircir certains points qui m'étaient confus.

    RépondreSupprimer