Fermer cette fenêtre | www.compucycles.com | imprimer |
Résumé : Une approche pragmatique de Merise classique : Sa démarche et ses "modèles" : MCD, MCT, MOT, MLD.
|
Le texte ci-dessous présente les idées directrice en caractères gras afin de faciliter le repérage visuel lors d'une lecture à l'écran.
Les schémas insérés dans ce texte sont réalisés en ".gif" (version enregistrable).
Afin de bien différencier le factuel du commentaire, ces derniers figurent en couleur grise.
Cette étude est directement inspirée par une activité d'enseignement et d'une pratique professionnelle de plusieurs années. Elle n'a donc aucune prétention à une parfaite orthodoxie : La rigueur n'exclut pas le pragmatisme.
Tout en fuyant le charabia, elle respecte le vocabulaire merisien ("cycle d'abstraction", "modèle conceptuel des données" etc.) qui a le louable intérêt de désigner sans ambiguité chaque étape, d'éviter les déviances sémantiques, et, au bout du compte, de permettre un dialogue immédiat entre les membres d'une équipe hétérogène.
Qu'est-ce que Merise ? Selon ses auteurs, ce n'était pas une méthode d'analyse informatique. Merise avait un objectif beaucoup plus vaste, puisque ce devait être une "démarche de construction de système d'information", incluant, entre autres, l'informatique.
A quoi sert Merise ? Dans les faits, à l'informatique :
En somme, et loin de toute réponse académique, Merise est un travail d'anticipation : Elle sert à préparer les développements informatiques et à chiffrer (en coût, en temps et en énergie) ces chantiers, quelle que soit leur échelle (l'approche Merise n'est en rien réservée aux méga-projets !).
Merise part de l'idée selon laquelle la réalité dont elle doit rendre compte n'est pas linéaire, mais peut être définie comme la résultante d'une progression, menée de front, selon trois axes, qualifiés de "cycles".
Il comporte :
C'est seulement à ce stade qu'est censée commencer la "réalisation" (qui se clôturera sur la "recette" c'est-à-dire sa validation technique). Dans les faits, des pans de réalisation sont souvent entamés en chevauchement avec les étapes préalables.
Il s'agit d'un déroulement données / traitements, selon trois "niveaux" correspondant à trois groupes de questions :
Il est important de constater que tout a été organisé autour de l'idée d'aborder en premier
lieu les points qui, une fois finalisés, seront en principe d'une grande stabilité, et de
progresser par ordre de stabilité décroissante.
En fait, l'itinéraire décrit ci-dessus correspond à une construction faisant
table rase de l'antérieur. S'il faut reprendre un existant, la méthode préconise
un itinéraire visant à l'aborder en sens inverse à partir du niveau le plus
détaillé, et en remontant, permettant de reconstituer les
pseudo M.C.D. et M.C.T. de cet existant, avant d'embrayer sur la démarche classique.
L'une des difficultés pédagogiques majeure posées par Merise réside dans ce qu'il est convenu d'appeler la "référence en avant", qui consiste à mentionner des concepts nouveaux ("M.C.D." etc.) qui ne seront expliqués qu'ultérieurement dans l'exposé. En fait, l'ensemble ne prend sa cohérence qu'à la fin !
En fait, les "cycle de vie" et "de décision" avaient pour objet de souligner l'importance :
Il peut être surprenant de qualifier de "cycles" une progression symbolisée par des axes. L'idée était en fait prémonitoire : L'expérience a prouvé que, comme dans tout système, des phénomènes de rétroaction (en clair, la douleuse prise de conscience d'erreurs révélées par les étapes ultérieures) amenaient à décrire cet enchaînement plus comme des successions de spirales que comme des itinéraires rectilignes.
Par ailleurs, l'idée d'une approche données / traitements d'abord dissociée puis confrontée constitue un des intérêts majeurs de cette méthode.
Représentation statique, sous forme schématique, de la situation respective des données
d'un domaine de gestion.
Ce schéma est conçu pour être très stable dans le temps.
L'identification des données est parfois loin d'être évidente : Que faut-il choisir : "Adresse" ou "Numéro", "nom de rue" etc. ? En fait l'usage ultérieur peut guider : Il est certain que si des traitements de sélection, de tri et autres, par rues sont prévus, il est plus rationnel d'isoler d'emblée les "nom de rue" : C'est là, typiquement, un des intérêts de la confrontation ultérieure qui est censée avoir lieu à la fin du M.O.T, et qui aboutira au M.L.D.
Def. 1 : "Collection de propriétés, dont on peut identifier sans ambiguité chaque occurrence, grâce à une propriété particulière : l''identifiant' " : A chaque valeur de cet identifiant correspond une seule occurrence.
Def. 2 : "Pour chaque occurrence, il faut que toutes les propriétés prennent une valeur et une seule".
Pour parler franc, la définition N°1 (officielle) peut paraître vaseuse : C'est le genre d'assertion qu'on ne comprend que lorsqu'on a tout compris, ce qui est d'un intérêt pédagogique limité !
Au risque de faire frémir les auteurs de la méthode, il faut reconnaitre que les entités sont, en quelque sorte, le premier jet des futures "tables-piliers" de la base, ébauche qui sera ajustée et remaniée, parfois considérablement, au moment du M.L.D.
Def. 1 : "Objet permettant d'associer deux ou plusieurs entités, et dont chaque occurrence est identifiée par la concaténation des identifiants des entités concernées."
L'"association" n'a donc pas d'existence propre : Elle n'existe quen fonction des entités qu'elle relie.
Def. 2 : "Comme pour l'entité, à chaque valeur de cet identifiant concaténé, correspond une occurrence et une seule, de l'association.
Def. 3 : "Chaque occurrence de l'association relie une et une seule occurrence de chaque entité partipant à cette association".
le fait de symboliser l'association par un verbe (et non par un substantif) correspond à une analogie avec la grammaire : L'association joue, en fait, le rôle de "rotule". L'image sera plus claire lors de l'exposé du M.L.D.
Ci-dessus, une représentation, simplifiée à l'extrême, d'une centrale d'achat de libraires.
Par ailleurs, une association peut être porteuse de propriétés
Il s'agit d'une étape essentielle de la démarche. Des réponses qui y seront apportées dépendront le nombre des tables de la base, l'étendue des fonctionnalités possibles, et certaines contraintes concernant des traitements de première importance pour l'intégrité de la base.
C'est le nombre d'occurrences, minimal et maximal, d'une association par rapport à chaque occurrence d'une entité donnée. D'une entité donnée vers une association donnée :
la cardinalité minimale peut être 0 ou 1.
La cardinalité maximale peut être 1 ou n.
Une cardinalité minimale à "0" signifie qu'on autorise le cas d'occurrences de l'entité considérée qui ne soient pas reliée à l'association. Par conséquent, une cardinalité minimale à "1" exprimera l'obligation de relier toutes les occurrences de l'entité à l'association (ce qui se matérialisera ultérieurement par une contraint "traitement").
Une cardinalité maximale à "n" signifie qu'on autorise le cas d'occurrences de l'entité considérée qui soient éventuellement reliées, chacune, à plusieurs occurrences de l'association. Par conséquent, une cardinalité maximale à "1" exprimera l'interdiction du "pluriel".
Immeuble / Local : les deux cardinalités minimales à "1" signifient que l'on opte pour une création simultanée d'un immeuble et d'au moins un de ses locaux constitutifs. Les cardinalités maximales expriment le fait qu'un local ne peut appartenir qu'à un leur immeuble (relation d'"appartenance" souvent représentée par un cercle ).
Ouvrage / Type : Les minimales expriment le fait que l'on pourra créer des types ne comportant pas encore d'ouvrages rattachés, mais qu'en revanche, lors de la création d'un ouvrage, la relation avec un type sera obligatoire. La cardinalité maximale à "1" de "ouvrage" vers type signifie qu'on s'interdit de rattacher un même ouvrage à plusieurs type (et que dans un cas, il faudra créer des types "mixtes", "historico-policier" par exemple).
Ouvrage / Auteur : Les minimales à "0" expriment, d'une part, que l'on prévoit les ouvrages anonymes, et de l'autre que l'on admet la création d'auteurs avant tout enregistrement de ses oeuvres.
Il ne s'agit pas de déterminer les cardinalités dans l'absolu, d'une manière universelle, mais de fixer les bornes du type de gestion que l'on veut pouvoir prendre en charge dans la base de données qui est en construction, reflet d'un contexte précis, soit actuel soit futur.
De l'imagination et du savoir-faire que l'on aura dépendra l'adaptabilité de la base. On pourrait être tenté de prévoir des "pluriels" partout, afin d'ouvrir au maximum le champ des possibilités. Mais, en contrepartie, la gestion des pluriels alourdit la base et les traitements. L'art du concepteur consiste ici à trouver le meilleur compromis entre la restriction des possibilités et la complexité de gestion de la base.
Soit, de manière plus détaillée :
"1" Exprime l'obligation de créer simultanément les deux (ou plus) occurrences des entités et l'association (ex. : Une facture comporte un "entête" (comportant les coordonnées du client, la date etc.) et la ou les lignes de facture. L'ensemble représenté par cette facture sera créé au cours d'une même opération, avec toutes précautions pour éviter les enregistrements "orphelins").
"0" peut exprimer des situation très diverses :
Ces exemples soulignent l'importance d'un commentaire joint. La détermination des cardinalités minimales donne souvent lieu à des discussions byzantines. Rappelons que ce point ne joue pas de rôle au niveau du nombre des tables ou de leur contenu, mais au niveau des contrôles, lors de l'élaboration des traitements, et que ces questions remonteront à la surface, nécessairement, au moment de la confrontation et de la mise au point du M.L.D. Mais cet exercice a au moins le mérite de discuter, le plus tôt possible, de points qui se révèleront ultérieurement importants.
Il est surprenant de constater que le rôle des cardinalités minimales est passé sous silence dans la plupart des études sur Merise.
"1" :
"n" :
La "dimension" d'une association correspond au nombre des entités reliées. Certains auteurs utilisent le terme de "niveau".
Ainsi, dans l'exemple de la centrale d'achat de libraires, La "quantité", de l'association "Stocké" (ouvrage/libraire) exprime le nombre d'ouvrages d'un même titre, stockés chez un même libraire, tous éditeurs confondus. Si l'on opte pour une association "Stocké" de dimension "3" (dont l'identifiant est cette fois : N° d'ouvrage/N° d'éditeur/N° de libraire), la "quantité" devient une information plus précise, puisqu'elle est différentiée, cette fois, en fonction de l'éditeur. |
Les cardinalités "0,n / 0,1" (ce sont les maximales qui comptent) expriment une "hiérarchie" (c'est-à-dire un arbre). |
Les cardinalités "0,n / 0,n" (ce sont les maximales qui comptent) expriment une "nomenclature" (c'est-à-dire un réseau). |
1°) Catalogue des données
2°) Epuration (polysèmes et synonymes)
3°) Détermination des entités
4°) Détermination et affectation des propriétés
5°) Recensement des associations (avec, éventuellement, les
propriétés non encore affectées
6°) Détermination des cardinalités
Sur le plan pratique, l'établissement du M.C.D. lui-même est une opération relativement rapide. Ce qui est long est la collecte des informations.
Des travaux très antérieurs aux différentes méthodologies (E. Codd 1969) ont permis d'élaborer des règles permettant de rationaliser les bases. Elles peuvent représenter une aide précieuse au stade de la détermination des entités et des associations. Elles peuvent paraître parfois très rigoureuses, mais il faut garder à l'esprit qu'il s'agit d'un premier jet, qui peut être revu ultérieurement pour des raisons d'opportunité, mais en connaissance de cause.
Une entité ou une association est dite en "première Forme Normale" si toutes ses propriétés sont :
"Représentation, sous forme schématique, de phénomènes de réactions
du type :
Evènement déclenchant -> Transformation du système d'information -> Résultat
... et ceci indépendamment de toute préoccupation d'organisation interne".
Il est donc important de percevoir que, lors de cette étape de l'approche "top / down", le "monde extérieur" est impérativement impliqué au niveau de chaque "opération" :
Il s'agit donc d'une approche dynamique (contrairement au M.C.D.) : Elle exprime un suivi de transformations. Le facteur chronologique joue un rôle essentiel.
Mais, comme pour le M.C.D., l'un des objectifs est : Un haut degré d'invariance.
Les relations entre "acteurs" peut être traduit soit par un "graphe des flux" soit par une "matrice des flux". |
Rappel : Il ne s'agit que de poser la question "Quoi ?", et non le "Qui ?", le "Où ?", le "Quand ," (et encore moins le "Comment ?"), parce que ces facteurs introduiront des fluctuations que l'on veut systématiquement éviter à ce niveau.
Autant le M.C.D. visait à l'exhautivité, autant le M.C.T. impose que l'on ignore délibérément le niveau des détails (qui sera étudié à l'étape suivante).
"Collection de faits, suceptibles de déclencher une 'opération' dans les conditions précisées par la 'synchronisation'. L'intervention du temps (date / heure) est considérée comme un évènement extérieur.
Condition booléenne traduisant les règles d'activation d'une opération.
Ensemble d'actions dont l'enchaînement ininterruptible n'est conditionné par l'attente d'aucun évènement autre que le déclencheur initial. Commentaire :
En clair, tant qu'il n'est pas nécessaire de communiquer avec l'extérieur (soit en
amont, soit en aval) on considère qu'il n'y a pas d'interruption.
Condition traduisant les règles de gestion, à laquelle est soumise
l'émission des résultats d'une opération.
Collection de faits, produits par l'"opération", dans les conditions prévues par la (ou les) "règles d'émission". |
Remarque : Le formalisme adopté reflète l'influence des travaux faits dans le
domaine des "réseaux de Pétri".
|
1°) Identification des acteurs (Rappel : il s'agit des acteurs extérieurs
à l'entreprise.
2°) Identification et classement chronologique des flux.
3°) Construction du M.C.T.
4°) Description détaillée des règles de gestion.
Représentation des "opérations" du M.C.T. sous une forme détaillée, puisque l'organisation interne de l'entrepirse est ici prise en compte.
Chaque "opération" du M.C.T. se trouve donc subdivisée ici en
"procédures fonctionnelles" ("P.F.") qui sont, elles aussi, initerruptibles.
Remarque : Certains auteurs replacent "procédures fonctionnelles" par le
terme de "phase".
Lors de l'élaboration du M.O.T., une variation au niveau du "Qui ?", du "Quand ?" et du "Où ?" constituera une "interruption".
Le M.O.T. cerne l'activité de chaque poste de travail (informatique ou non), et de chaque service, en tenant compte du "planning", du type de ressources (manuel, automatisé), du type de support (document écrit, magnétique etc.)
Cette représentation est donc détaillée et très concrête, et les symboles graphiques utilisés peuvent être influencés par le contexte. A celà près, elle suit globalement le formalisme vu au niveau du M.C.T. Les fiches descriptives qui doivent accompagner chaque P.F. détaillent les règles de synchronisation et d'émission. Elles constituent donc une première ébauche ds algorithmes essentiels pour les P.F. appelées à être informatisées.
La P.F.1 représente une étape "manuelle" (non informatisée).
Non représentée ici : La PF correspondant à la création informatique du support de cours.
Les cardinalités expriment que le cours peut être créé sur informatique alors que
le support est encore en cours de rédaction. Ce dernier n'est exigé que lors de la
création informatique de la session.
Les entités "dates" et les association de dimension "3" permettent de gérer
les salles par tranche horaire (une simple association de niveau "2" aurait contraint
à ne gérer qu'une salle pour une session donnée).
Ces "vues externes" constituent les pièces d'un puzzle qui sera confronté avec le M.C.D. et permettra de le corriger et de le compléter. Rappelons que cette étape de confrontation est essentielle.
Cette étape de M.O.T. peut être grandement aidé par un "graphe de circulation de l'information".
C'est grâce à toutes les opérations précédentes que l'ensemble des tables de la base de donnée vont pouvoir être structurées de manière simple et très rapide : Le M.C.D. ayant été corrigé à la fin de l'étape du M.O.T., ce sont les cardinalités maximales qui vont jouer le rôle essentiel.
L'exemple d'un organisme de formations : passage du M.C.D. au M.L.D.
La mise au point des tables n'est pas terminée : Pour des raisons d'opportunité, certaines règles pourront être assouplies à ce stade (mais en connaissance de cause). Ainsi :
Ce travail une fois effectué, la phase de développement peut commencer ...
Les différents sujets traités dans ce site se recoupant, les bibliographies ont été regroupées :
Bibliographie
IDDN.FR.010.0102612.000.R.P.2004.035.20600 |
Conformément aux conventions internationales relatives à la propriété intellectuelle,
cette oeuvre est protégée. Le titulaire des droits autorise : La reproduction et la représentation
à titre de copie privée ou à des fins d'enseignement et de recherche et en dehors de toute
utilisation lucrative. Ceci, sous réserve que soient indiqués clairement le nom de l'auteur
et la source (IDDN de l'oeuvre), tels que signalés dans le présent document.
|
Fermer cette fenêtre | www.compucycles.com | imprimer |