phi sign
2024: Freelance & Project Manager - France & Worldwide - www.optimisation-entreprise.fr - www.IT-Asia.com
 Merise: 4 ème partie
Dossier "SAM l'Informaticien" du 05/02 au 18/02 2001 par Stéphane Lambert

ans la famille "Je cherche à  comprendre le Système d'Information que je modélise", je propose les documents fournis par votre client. Car s'il sera aisé de discuter avec lui de l'exactitude du MCD, comprendre son environnement de travail peut parfois être plus ou moins évident : ses explications seront rarement complètements explicites du premier coup, et il est courant que le client lui-même n'ai qu'une vague idée de ce qu'il veut faire. C'est là  que, armée de toute notre diplomatie et de notre pédagogie, commence la partie la plus palpitante de notre travail : "Comprendre ce que veux le client, et comment ça marche". Car vous n'avez pas envie de recommencer 10 fois votre travail et de modifier votre code tout le temps, n'est ce pas ? Il va donc falloir poser des questions, aller voir comment il se débrouille actuellement, amasser un maximum de documents, et en retirer le maximum d'informations. Car être certain de comprendre les besoins de l'utilisateur qu'il exprime avec ses mots à  lui, c'est là  tout le but de la modélisation.

MODELISER UN DOCUMENT : UNE PRATIQUE COURANTE

Commençons par terminer l'exemple de la dernière fois, dont re-voici l'énoncé :

Système d'Information :

L'entreprise "WebCash" de vente par correspondance désire ajouter à  son site un système de facturation visible en ligne pour ses clients. Chaque client, après authentification, pourra accéder à  toutes les factures le concernant, qu'elles soient anciennes ou en cours de traitement indifféremment. Pour être sur de bien se faire comprendre, "WebCash" fournis une facture type en disant : "C'est ça qu'on veut sur l'écran !"

Voici une copie de cette facture :

webcash

APPLICATION DE LA METHODE MERISE

Elle consiste à  construire le Modèle Conceptuel de Donnée (MCD), Générer le Modèle Logique de Données Relationnelles (MLDR), et le transposer en Modèle Physique de Donnée (MPD).

  • Construire le Modèle Conceptuel de Donnée (MCD) :

La méthode est toujours la même : Identifier les entités présentes, Lister les propriétés des entités, Identifier de manière unique chaque occurrence, Etablir les relations entre les différentes entités, et Identifier les cardinalités.
  • Identifier les entités présentes :
    On relève trois entités : CLIENT, FACTURE, ARTICLE.
    • CLIENT est l'ensemble des clients de la société WebCash. Une occurrence de cette entité est présentée par Robert BIDOCH, qui est le client à  qui cette facture est destinée.
    • FACTURE est l'ensemble des factures émises par WebCash, dont une occurrence est présente en "FACTURE N° 12345".
    • ARTICLE est l'ensemble des articles vendus par WebCash, dont trois occurrences sont présentes, dénommés Stylo Plume, Couteau Suisse et Serviette.
    • Une facture étant composée de plusieurs lignes, il aurait été possible de relever l'entité LIGNE_FACTURE : elle n'est utile que si l'on désire archiver pour chaque ligne son Numéro. La base déduite aurait été sensiblement la même, démontrant ainsi que plusieurs solutions sont parfois possibles.
    • La TVA est ici considérée comme constante et unique. Dans le cas contraire, elle aurait représenté l'entité TVA.
    • La société WebCash ne représente pas une occurrence d'une entité, car c'est la seule société éméttrice de facture de notre analyse.

  • Lister les propriétés des entités :
    • Un CLIENT est caractérisé par son Nom, son Prénom, son Adresse, son CodePostal et sa Localité. Afin de pouvoir s'authentifier, il est aussi caractérisé par un Login et un Passwd.
    • Une FACTURE est caractérisée par son Numéro, et sa Date d'émission.
    • Un ARTICLE est caractérisé par son Numéro, son libellé, et son PrixUnitaire. Le prix total, de par son PrixUnitaire et sa quantité, peux être recalculé : ce n'est donc pas une caractéristique de l'ARTICLE.
    • Chaque propriété doit avoir une seule valeur possible pour chaque occurrence, ce qui est ici le cas. Elle doit de plus être élémentaire et non-décomposable, ce qui est aussi le cas. D'une manière générale, toute information résultant d'un calcul n'est pas une caractéristique d'une entité.

  • Identifier de manière unique chaque occurrence :
    chaque occurrence de chaque entité doit pouvoir être identifiée de manière unique : cette propriété s'appele l'identifiant.
    • Un CLIENT sera identifié par un Numéro unique, cette caractéristique de l'entité étant appelé id_Client.
    • Une FACTURE sera identifiée par son Numéro qui est unique. Cette caractéristique sera appelée id_Facture.
    • Un ARTICLE sera identifié par son Numéro qui est lui aussi unique. Cette caractéristique sera appelée id_Article.

  • Etablir les relations entre les différentes entités :
    Un CLIENT obtient une FACTURE qui contient des ARTICLES en certaine quantité.

  • Identifier les cardinalités :
    • Un même CLIENT obtient 1 ou plusieurs FACTURE.
    • Une même FACTURE est obtenue par un seul CLIENT.
    • Une même FACTURE contient 1 ou plusieurs ARTICLE.
    • Un ARTICLE est contenu dans 0 ou n FACTURE.

On en déduit donc le MCD suivant :


Comme d'habitude, il est alors temps de retourner voir le client et de discuter le Modèle avec lui, afin de vérifier qu'il ne manque rien et que l'analyse correspond bien à  SA réalité de travail. Après validation, il est temps de passer à  l'étape suivante.


  • Générer le Modèle Logique de Données Relationnelles (MLDR) :


Relation (X,1)-(X,n) entre FACTURE et CLIENT :

CLIENT (id_Client, Nom, Prenom, Adresse, CodePostal, Localite, Login, Passwd)
FACTURE(id_Facture, #id_Client, Date)

Relation (X,n)-(X,n) entre FACTURE et ARTICLE :

CONTIENT(#id_Facture, #id_Article, Quantite)
ARTICLE(id_Article, Libelle, PrixUnitaire)


  • Transposer en Modèle Physique de Donnée (MPD) :



Voilà , il ne reste plus qu'à  créer la base, à  la remplir, et à  développer dessus.

UNE BASE DE DONNEE COHERENTE

Un tel modèle est dit cohérent, c'est à  dire que pour chaque donnée fournie, il permet de retrouver toutes les informations s'y rattachant.

Pour chaque client donné, il sera possible d'avoir toutes ses factures, et donc tous les articles qu'il a achetés et en quelle quantité. Pour chaque facture, il sera possible de retrouver le client correspondant, ainsi que la liste des articles et leurs quantités respectives. Enfin, pour chaque article, il sera aisé de retrouver les quantités vendues, à  quelle date et à  quels clients.

La base ne contient aucune redondance, c'est à  dire qu'aucune information présente ne peut être déduite d'autres informations présentes. Ceci évite grandement le risque de corruption, ou présence de donnée aberrante.

Les prix intermédiaires, la somme totale et autres résultats sont des traitements, c'est à  dire qu'ils sont calculés par rapport aux informations contenues dans la base. Ainsi, toute erreur sera forcemment une erreur de calcul, et non pas une erreur de stockage. Il est plus facile de vérifier un programme d'extraction de donnée que de vérifier la cohérence du contenu d'une base.

LES AVANTAGES D'UN TEL RESULTAT

Le développement se réduit maintenant à  une interface d'administration (BackOffice) ou WebCash pourra ajouter/modifier/supprimer ses ARTICLES, rentrer ses FACTURES, et consulter son fichier CLIENT. Ensuite, sur le site lui-même (FrontOffice), il ne reste plus qu'à  faire le formulaire d'accréditation du CLIENT (Login/Passwd) qui permettra de retrouver son identifiant, puis à  lui lister les FACTURE correspondant à  cet identifiant, et enfin lui afficher le détail de celle qu'il aura sélectionné.

Si ce développement paraît au final aussi simple, c'est qu'il s'appuie sur une base bien pensée. Si celle-ci correspond effectivement à  l'environnement de travail de WebCash, il n'y aura aucune raison de la changer.

Vous obtiendrez ainsi la meilleure des références et des publicités : concevoir un outil simple à  utiliser qui marche durant longtemps sans avoir à  être modifié. Et ça, pour un client, c'est vraiment le top du top.

A bientôt...

<< Lire la 3ème partie

Stéphane Lambert
http://www.vediovis.fr/

Spécialisé dans le développement Web, Stéphane LAMBERT
a fondé VEDIOVIS PRODUCTIONS en Mai 2000.
Son expérience couvre essentiellement les sites à  fortes audiences,
institutionnels ou audiovisuels.

Tous droits réservés - Reproduction même partielle interdite sans autorisation préalable