Professional Documents
Culture Documents
Essentiel
Objectifs :
Comprendre le fonctionnement dun SGBD Comprendre le principe de la modlisation MERISE et savoir lappliquer Adapter le principe aux bases de donnes
Contenu
1. INTRODUCTION A MERISE ........................................................................................................................ 4 1.1. HISTORIQUE ..................................................................................................................................................... 4 1.1.1. Les origines ............................................................................................................................................... 4 1.1.2. Merise........................................................................................................................................................ 5 1.1.3. Merise/2..................................................................................................................................................... 6 1.1.4. La modlisation des donnes aujourdhui ............................................................................................... 21 1.2. VOCABULAIRE ............................................................................................................................................... 23 1.2.1. Organisation et systme........................................................................................................................... 23 1.2.2. Le systme dinformations ....................................................................................................................... 23 1.2.3. Modle, mthode et analyse..................................................................................................................... 24 1.3. LES PRINCIPES DE BASES DE MERISE .............................................................................................................. 25 1.3.1. Le cycle de vie ......................................................................................................................................... 25 1.3.2. Le cycle dabstraction ............................................................................................................................. 28 1.3.3. Le cycle de dcision................................................................................................................................. 30 1.3.4. Prsentation des 6 (ou 7) modles Merise............................................................................................... 30 1.4. LA DEMARCHE MERISE .................................................................................................................................. 32 1.4.1. La technique ............................................................................................................................................ 32 1.4.2. La dmarche ............................................................................................................................................ 32 1.4.3. Les tapes ................................................................................................................................................ 33 1.4.4. Primtre du cours .................................................................................................................................. 34 2. LE MCD........................................................................................................................................................... 35 2.1. INTRODUCTION .............................................................................................................................................. 35 2.1.1. M.C.D. ..................................................................................................................................................... 35 2.1.2. Entit ....................................................................................................................................................... 35 2.1.3. Association .............................................................................................................................................. 36 2.1.4. Associations particulires........................................................................................................................ 37 2.2. COMPLETER LE MODELE ................................................................................................................................ 38 2.2.1. Cardinalits ............................................................................................................................................. 38 2.2.2. Dimensions .............................................................................................................................................. 42 2.2.3. Les formes normales................................................................................................................................ 43 2.3. CONTRAINTES INTER-ASSOCIATIONS.............................................................................................................. 44 2.3.1. Diffrentes situations............................................................................................................................... 44 2.3.2. Partition................................................................................................................................................... 45 2.3.3. Exclusion ......................................................................................................... Erreur ! Signet non dfini. 2.3.4. Totalit..................................................................................................................................................... 46 2.3.5. Inclusion .................................................................................................................................................. 46 2.3.6. Contraintes sur les proprits ................................................................................................................. 47 2.3.7. Spcialisation/Gnralisation dentits-types ......................................................................................... 47 2.3.8. Contraintes sur spcialisations ............................................................................................................... 48 3. PASSAGE DU MCD AU MODELE PHYSIQUE........................................................................................ 49 3.1. INTRODUCTION .............................................................................................................................................. 49 3.1.1. Le MLD, Le MPD .................................................................................................................................... 49 3.1.2. Dmarche ................................................................................................................................................ 49 3.1.3. Une table exemple ........................................................................................... Erreur ! Signet non dfini. 3.1.4. Formalisme.............................................................................................................................................. 49 3.2. PASSAGE DU MCD AU MLD.......................................................................................................................... 50 3.2.1. Rgle 1..................................................................................................................................................... 50 3.2.2. Rgle 2..................................................................................................................................................... 50 3.2.3. Rgle 3..................................................................................................................................................... 50 3.2.4. Rgle 4..................................................................................................................................................... 51 3.2.5. Rgle 5..................................................................................................................................................... 51 3.2.6. Rgle 5 bis ............................................................................................................................................... 52 3.2.7. Rgle 6..................................................................................................................................................... 52 3.2.8. Conclusion............................................................................................................................................... 52 3.3. LE MPD......................................................................................................................................................... 54
3 / 61
3.3.1. Pourquoi une tape supplmentaire ? ..................................................................................................... 54 3.3.2. Le reverse-engineering ............................................................................................................................ 55 3.3.3. Les diffrents outils de modlisation et de gnration............................................................................. 56 3.3.4. Migration de bases .................................................................................................................................. 58
4 / 61
1. Introduction Merise
1.1. Historique
1.1.1. Les origines
En 1977 le ministre de lindustrie constitue un ple mthode en association avec certaines grandes S.S.I.I. dont Cap SOGETI, SESA, STERIA, Eurosoft, et le CETE (centre de traitement du ministre de lindustrie, Hubert TARDIEU en est lexpert en bases de donnes). De ce ple mthode vont natre deux guides : RACINES (tablissement du schma directeur dinformatisation), ACTIF (informatisation des activits sur les lieux de travail). A la suite de la fusion des deux prcdents projets, la mthode MERISE voit le jour en 1978 linitiative des ministres de lindustrie, et de lquipement (dans le cadre de la mission informatique), associs aux S.S.I.I. Cap SOGETI, SESA, STERIA, Eurosoft, SEMA-METRA, et CGI. En 1985 le cercle MERISE est cre par la SEMA-METRA, suite au travail effectu en son sein par Hubert TARDIEU, et Ren COLETTI (les principaux moteurs de la mthode), associ ce cercle la socit CGI (dont le directeur Robert MALLET est linventeur de la mthode CORIG). La mthode MERISE est devenu la mthode danalyse des systmes dinformations la plus utilise par les socits et les administrations franaises, lestimation actuelle est de 60% des entreprises. Elle sappuie la fois sur une mthode, et sur un nombre grandissant doutils logiciels daide la conception de systmes informatiques (SECSI, AMC-Designor, Silverun,...). La mthode MERISE volue actuellement vers la modlisation des concepts objets dans les bases de donnes linitiative dHubert TARDIEU. Cette mthode apporte une aide considrable la formalisation des concepts dtude des systmes dinformations; une aide reconnue par une majorit de professionnels, de formateurs, et duniversitaires; ce qui peut rpondre aux quelques dtracteurs qui lui reprochent un certain manque de rigueur. MERISE est lintersection de bonnes ides qui taient dans lair du temps des annes 1970 (principalement face au dveloppement de linformatisation associ un manque vident de mthodologie). De la mthode CORIG, elle utilise le concept dtude pralable (CORIG-A) et dtude dtaille (CORIG-B). Du guide RACINES, elle tire le concept de schma directeur, et des groupes dtude attachs (comit directeur, groupe de projet, et groupe utilisateur). La mthode AMS (Analyse Modulaire des Systmes) apporte lapproche systmique (notion de systmes de pilotage, oprant, et dinformations) Lapproche relative aux donnes en trois niveaux (conceptuel, externe, interne) provient du rapport ANSI/SPARC de 1975. Les travaux de TARDIEU, de CHEN (modle ENTITE-ASSOCIATION) et de CODD (formalisme relationnel) ont amen lapproche bases de donnes MERISE. Les recherches de lquipe de TARDIEU du CETE dAix-en-Provence ont permis le dveloppement du modle Evnement-Rsultat. Des travaux de la socit SEMA-METRA sont apparus les ides relatives linformatique transactionnelle et temps rel. MERISE a t la base dun trs gros effort dintgration et de mise en forme dides, et de formalismes rcents. La conception d'un systme d'information n'est pas vidente car il faut rflchir l'ensemble de l'organisation que l'on doit mettre en place. La phase de conception ncessite des mthodes permettant de mettre en place un modle sur lequel on va s'appuyer. La modlisation consiste crer une
5 / 61
reprsentation virtuelle d'une ralit de telle faon faire ressortir les points auxquels on s'intresse. Ce type de mthode est appel analyse. Il existe plusieurs mthodes d'analyse, la mthode la plus utilise en France tant la mthode MERISE. Le but de cette mthode est d'arriver concevoir un systme d'information. La mthode MERISE est base sur la sparation des donnes et des traitements effectuer en plusieurs modles conceptuels et physiques. La sparation des donnes et des traitements assure une longvit au modle. En effet, l'agencement des donnes n'a pas tre souvent remani, tandis que les traitements le sont plus frquemment. Lentreprise est un systme complexe dans lequel transitent de trs nombreux flux dinformations. Sans un dispositif de matrise de ces flux, lentreprise peut trs vite tre dpasse et ne plus fonctionner avec une qualit de service satisfaisante. Lenjeu de toute entreprise quelle soit de ngoce, industrielle ou de services consiste donc mettre en place un systme destin collecter, mmoriser, traiter et distribuer linformation (avec un temps de rponse suffisamment bref). Ce systme dinformation assurera le lien entre deux autres systmes de lentreprise : le systme oprant et le systme de pilotage.
1.1.2. Merise
Les points nouveaux de la premire version de cette mthode, consigns dans l'ouvrage "La mthode MERISE", taient alors:
une approche systmique qui a ses origines dans la thorie des systmes de Boulding introduite en France par J.-L. Lemoigne: elle montre les relations existant entre le systme d'information et le systme oprant d'une part, et le systme d'information et le systme de pilotage d'autre part. Le systme d'information fournit aux acteurs (systme oprant) et aux dcideurs (systme de pilotage) les informations dont ils ont besoin pour agir et dcider. une couverture de tout le cycle de vie du logiciel: schma directeur, tude pralable, tude dtaille, tude technique, production de logiciels, mise en uvre, maintenance; un cycle d'abstraction reposant sur trois niveaux: o conceptuel (rponse la question "quoi ?"), o organisationnel ou logique (rponse aux questions "qui ?", "quand ?", "o ?") o physique (rponse la question "comment ?"): la sparation entre les modles de donnes, analyss avec une approche entit-association, et les modles des traitements, prsents avec un formalisme proche de celui des rseaux de Ptri.
La mthode conduit raliser les six modles prsents dans la figure suivante : MCD : Modle Conceptuel des Donnes, MCT : Modle Conceptuel des Traitements, MLD : Modle Logique des Donnes, MOT : Modle Organisationnel des Traitements, MPD : Modle Physique des Donnes, MPT : Modle Physique des Traitements. Une phase de validation permet de vrifier que toutes les donnes sont prsentes pour raliser les traitements et que tous les traitements utiles pour obtenir les donnes sont prvus.
6 / 61
1.1.3. Merise/2
A partir des 7 modles de base (Diagramme des flux, MCd, MCt, MLd, MOt, MPd, MPt) : Diagramme des flux MCD MLD MPD MCT MOT MPT
La volont de rpartition par rapport aux sites gographiques et informatiques, conduit un modle qui dcrira la rpartition aussi bien des donnes que des traitements. Diagramme des flux MCD MLD MLD R MPD MCT MOT MLT R MPT
Une meilleure dfinition des niveaux amne la sparation de l'organisationnel et du logique en deux niveaux distincts ; ce qui amne le dcoupage suivant : Merise Concept O/L Phys Comment Quoi O Qui Quand Comment Concept Orga Logi Phys Merise / 2 Quoi O Qui Quand macro organisation Comment micro orga poste travail
Le niveau organisation : c'est d'o utiliser, qui utilise, quand utiliser ? Le niveau logique : Comment reprsenter comment stocker ? Le niveau logique rparti : O et comment stocker, comment communiquer ? Le premier niveau est un niveau qualifi de systme d'information organisationnel, il est donc conu avec la participation des utilisateurs finaux de lapplication. Le second niveau est le systme d'information informatis, il est du ressort de lquipe informatique uniquement. La nouvelle approche doit galement permettre une meilleure adquation donnes/traitements et aussi une validation entre les deux. Une colonne a t cre entre les donnes et les traitements afin de mettre en place les Modles de traitements analytiques, ainsi que le cycle de vie des objets. Les modles analytiques essayent de rapprocher les donnes des traitements et permettent une sorte de validation. Donnes MCD MOD MLD Donnes traitements CVO MCTA CVO organisationnel MOT A Traitements MCT MOT MLT
7 / 61
Le cycle de vie essaye dintroduire une vue dynamique sur un modle de donnes essentiellement statique. Les flux doivent tre apprhends diffrents niveaux ce qui conduit faire de l'analyse des flux une colonne part entire pour chaque niveau. Flux MC MFC MFO MFL Nouveaut dans la dmarche : La mthode propose une dmarche de composition et de dcomposition. Dcomposition pour analyser et spcifier. Composition pour synthtiser, raliser et intgrer. Exemple: Dans un Mct on se contente de lvnement Commande au niveau global, alors que lon retient lvnement commande nouveau client et commande client rfrenc dans un niveau dtaill. Les modles doivent donc tre vus deux niveaux : un niveau global et un autre dtaill. On utilisera comme un Zoom entre les deux. (Dmarche utilise pour les MCD MFC MCT MOT). Dans le Mcd on ne conserve que les objets gnraux dans un premier temps ; on spcialisera dans la deuxime phase. La mthode propose de ne plus btir les modles de manire indpendante et squentielle, mais de mener l'ensemble des modles conceptuels en mme temps : On fait rarement le MCT avec le MCT A.
MCD
MCT
On dira que Merise/2 contient : des modles de communication (ce sont ceux destins vers lutilisateur, le niveau conceptuel) des modles de conception (ceux qui prennent en compte la validation, les modles analytiques) des modles de structure (ils dfinissent la structure de lapplication, le niveau logique) des modles de comportement (les cycles de vie par exemple)
Essentiel Modlisation Merise Le schma des flux : On doit rpondre la question du quoi, il faut tre indpendant de l'organisation. On pourra dans cette partie laborer deux modles : Le modle de contexte Pour la dtermination du domaine en montrant les flux dans leur gnralit. Le modle des flux conceptuels Pour la dtermination des activits (processus) du domaine avec un graphe des flux, dtaill. Le modle de contexte
8 / 61
Objectifs : Illustrer les interactions entre le domaine et l'extrieur (intervenants externes ou autres domaines). Dfinir le domaine d'tude. Dterminer les changes avec l'extrieur. Concepts Le domaine fonctionnel : Il est orient gestion de l'entreprise et recouvre une finalit majeure de celle-ci. C'est un domaine pilotable, autonome, ayant une certaine organisation. La vente, la gestion de production, le personnel. Le domaine d'tude Soit un domaine fonctionnel, Soit un sous-ensemble du domaine fonctionnel, Soir plusieurs domaines fonctionnels. C'est un sous-ensemble cohrent (grce au modle de contexte), bien dlimit et formant le contenu du sujet tudier. C'est un projet de taille raliste. Le flux C'est un message conceptuel. Domaine connexe et acteur externe : domaine connexe : extrieur au domaine d'tude, acteur externe : extrieur l'entreprise.
9 / 61
Domaine connexe
Domaine d'tude
Acteur Externe
Acteur Externe
10 / 61
Adhrent
Dde rservation Livraison Rappel Averti livre libre Dde de prt Prt accord
Grer le contentieux
LE MODELE DE CONTEXTE
11 / 61
Concept
Activit : C'est un ensemble cohrent de traitements qui transforme ou manipule des donnes. Caractristiques d'une activit : 1. A une certaine autonomie. 2. Est pilotable. 3. Assure une finalit majeure du domaine d'tude. On peut dcomposer une activit jusqu quatre niveaux. Une sous-activit ne doit jamais tre redondante. Exemples : Dcoupage de premier niveau
Prt accept Grer les prts Rappel Adhrent Dde prt Disponibilit Avertissement livre libre Dde rservation Contentieux
Grer rservation
12 / 61
Dde prt
Prt accept
Avis retour d'ouvrage
Retour
Rappel
Avis de retard
Grer relances
13 / 61
Les flux qui sont importants : Acteur externe Acteur externe Activit Domaine connexe oui Activit oui oui oui Domaine connexe oui
Rgles de dcoupage en domaine/activits Le domaine doit tre stable par rapport l'organisation. Le domaine doit tre aussi autonome que possible. Un domaine est dcompos en 8 activits au maximum. Technique de dcomposition Identifier des critres d'arrt. Si la sous-activit devient une action organisationnelle, on a trop dcompos (tamponner la carte de lecteur). Dcomposition jusqu' 4 niveaux. Ce dcoupage est trs proche des objectifs. On peut avoir des sous-activits sans lien avec lextrieur, ce qui est rare au niveau de lactivit. L'activit est la notion de base de l'tude conceptuelle des traitements. Exercice : Elaborer le modle de contexte du domaine Gestion des sminaires d'une socit de formation. Hypothse, Les fonctions couvertes par le systme sont : Grer la planification des sminaires (un lieu, une date, un matriel) Grer les demandes de sminaires, les inscriptions, les convocations, les feuilles de signatures Grer la qualit
14 / 61
LE MCD tendu
Prise en compte de nouvelles contraintes Sous-type dentits et dassociations La notion dagrgation Le nouveau formalisme Construction par spcialisation
Commande
Ce sont des tats stables ou remarquables (ils ne peuvent voluer sans vnements) Le MCD est donc un modle purement statique Le CVO est lui un modle dynamique Etat d'un individu Un tat est un stade transitoire par lequel passe un objet au cours de son cycle de vie. C'est le cot transitoire qui permet de diffrencier un tat d'un sous-type (au sens de la gnralisation ou de la spcialisation). Il correspond des choix de gestion. Lvnement est le temps ou une action. Une occurrence de lindividu ne peut tre dans plusieurs tats la fois. Dans le MCD on reprsentait le CVO par une proprit (code tat) ou une entit (tat).
15 / 61
Le CVO est le lien entre le MCD et le MCTA. Il permet daffiner les rgles de gestion. Ltude du CVO permet de confirmer le dcoupage en domaines ou en activits. Le CVO est une premire tentative pour se diriger vers lApproche Objet
vnement 1
Etat 1
Evnement 2
vnement 4
Etat 2
Un vnement peut tre le temps ou une action. On doit tablir un cycle de vie par objet (entit) significatifs
Essentiel Modlisation Merise Il est possible de montrer les interactions entre les diffrents objets par rapport au CVO Objet 1
16 / 61
vnement 1
Etat 1
Evnement 2
vnement 4
Etat 2
vnement 3
Objet 2
Etat 1
17 / 61
Reglt cotisatio
Abonn VALIDE
Avis Suspension
Autorisation
Abonn Suspendu
Avis Radiation
Abonn Radi
18 / 61
Points commun entre MCT/ MCT A Le formalisme est identique. Les concepts d'opration, dvnement, de rsultat et de synchronisation sont identiques. Les rgles de construction reposent sur la non redondance, et la non interruptibilit.
Essentiel Modlisation Merise Les Actions : Une action sur un individu peut tre de 4 types : 1. 2. 3. 4. Consultation Cration Mise jour Suppression
19 / 61
Une action occasionne un changement d'tat Opration Individu Etat 2 Etat 1 Etat 3
Ltat 1 est ltat de dpart le 2 et 3 est celui darrive. Opration Mise jour Individu
Opration
Cration
Individu
Opration
Consultation
Individu
Opration
Suppression
Individu
On peut galement prciser les diffrents types d'actions, savoir : Les actions itratives Les actions suivant conditions Les actions et les contraintes d'intgrit.
Les rgles de gestion : Une rgle de gestion prcise la faon dont seffectue la transformation des proprits consultes en entre, pour produire un individu modifi en sortie. Elle s'exprime sous forme structure en tenant compte du dcoupage en activits. Exemple si un exemplaire de l'ouvrage est disponible, crer Prt.
20 / 61
On peut galement crer une matrice des traitements par rapport aux donnes o on indique les diffrents types d'actions Lecture Ecriture Suppression Mise jour Client L L E Produit L Compte L E E E Opration E E E Devise Gestionnaire L Signature L L E
L E
Essentiel Modlisation Merise Exemple de vue par type de site Agence Gestionnaire Signature
21 / 61
Sige
Il n'est pas ncessaire de montrer tout le dtail des donnes, on peut procder des regroupements.
Merise aujourdhui
Les points forts : La mthode s'appuie sur une approche systmique : Cest donc une approche globale. Les concepts sont peu nombreux et simples. Elle est dans le domaine public donc gratuite (rare aux USA). Elle est assez indpendante vis vis de la technologie. Elle est la plus utilise en France dans les domaines de gestion. Elle sert de rfrence aux enseignements sur les mthodes.
Les critiques : La mthode sarrte au niveau organisationnel pour les traitements et les donnes. Elle ne s'occupe pas de l'interface utilisateur. Elle est trs adapte un contexte de cration d'application mais pas forcment un problme de maintenance ou de seconde informatisation. Elle ne permet pas rellement une validation rapide de la part des utilisateurs. Elle est davantage destine des sites centraux plus qu' des dveloppements en temps rel, ou sur micro. Il est trs difficile de valider les traitements par rapport aux donnes et cela au niveau conceptuel ou organisationnel.
22 / 61
La mthode Mega
Yves Tabourier (dpart 1997 - Mga se porte vers UML) 3 dcoupages sur 4 niveaux de description : Communication MCC MOC MLC MPC Donnes MCD MOD MLD MPD Traitements MCT MOT MLT MPT
L'analyse de la composante communication diffrents niveaux permet la prise en compte d'une architecture client/serveur: Le MCC permet de montrer l'analyse des besoins Le MOC montre les flux entre les diffrents services avec leur support physique ainsi que la rpartition entre les diffrents sites gographiques Le MLC permet de caractriser les types de lignes utilises.
La mthode Axial
3 dcoupages sur 3 niveaux : Donnes D.O.G. S.R.N. E.T.S. Donnes / Traitement D.B.A. / D.G.A. S.T.U. / D.D.T. D.U.M. D.R.A.N. / D.E.M.T. Traitement D.F.G. M.T. (I.P.T.)
Axial dans ces diffrents modles met beaucoup l'accent sur le rapprochement des donnes et des traitements.
23 / 61
Bilan
Une nouvelle version de Merise doit tre capable d'intgrer les nouvelles techniques informatiques comme : Les langages objets, la programmation objet, la conception objet. Les applications coopratives de type Client/serveur. Le dveloppement des applications sur micro-ordinateurs couples avec les sites centraux. L'volution des SGBD (prise en compte des contraintes au niveau des donnes). Ne pas jeter les modules Merise existants mais complter la mthode. Le problme est donc de faire voluer Merise afin de sappuyer sur les personnes dj formes la mthode, plutt que de proposer une nouvelle mthode trop longue mettre en place.
1.2. Vocabulaire
1.2.1. Organisation et systme
Organisation : On englobe sous ce terme lensemble des structures conomiques qui existent : les entreprises publiques, les entreprises prives, les administrations, les associations... Systme : Un systme est un ensemble dlments organiss autour dun but, et dont la modification dun constituant entrane la modification dune partie, ou de lensemble des constituants du systme. On voit apparatre la notion de cohrence du systme, et donc dinteractivit entre les lments qui le constituent. On parle de constituants en interaction dynamique.
24 / 61
sera mmoris la description des objets, des rgles et des contraintes du systme oprant. Cette base tant sujette des volutions, le systme dinformation doit tre dot dun mcanisme (appel processeur dinformation) destin piloter et contrler ces changements. Le schma suivant synthtise larchitecture dun systme dinformation.
Le processeur dinformation produit des changements dans la base dinformation la rception dun message. Un message contient des informations et exprime une commande dcrivant laction entreprendre dans la base dinformation. Le processeur dinformation interprte la commande et effectue le changement en respectant les contraintes et les rgles. Si le message exprime une recherche sur le contenu de la base dinformation, le processeur interprte la commande et met un message rendant compte du contenu actuel de la base dinformation. Dans tous les cas, lenvironnement a besoin de connatre si la commande a t accepte ou refuse. Le processeur met, cet effet, un message vers lenvironnement. Relativement la conception dun systme dinformation, larchitecture prsente ci-dessus induit une double conception : celle de la base dinformation (aspect statique) celle du processeur de traitement (aspect dynamique) Pour aider le concepteur dans ces deux tches, la mthode Merise propose un ensemble de formalismes et de rgles destines modliser de manire indpendante les donnes et les traitements du systme dinformation. Ces modles ne sont quune base de rflexion pour le concepteur et un moyen de communication entre les divers acteurs du systme dinformation dans lentreprise. Seule la validation de l'ensemble se fera en commun.
25 / 61
Un modle est une reprsentation de la ralit. Le modle permet de tester un systme dinformations, en permettant de tester sa raction aux divers vnements de la vie de lorganisation. La conception dun ensemble de modles au sein dune organisation revient concevoir ltat futur du systme dinformations. La mthode de METIS raisonnement rus ou ruses de l'intelligence et HODOS chemin suivre. Une mthode est la mise en uvre dun certain nombre dtapes (mthodologiques) : une dmarche, des principes, des outils traces papiers standardises, informatiques, un vocabulaire Au sens informatique, lanalyse consiste dune part comprendre et modliser le fonctionnement dun domaine de gestion dune organisation, et dautre part concevoir la solution informatique adquate. On distingue deux types danalyse : lanalyse de lexistant, lanalyse de conception.
Cration
Obsolscence
Mise en route
Exploitation
26 / 61
Le cycle de vie est une prconisation de la manire de conduire le projet de dveloppement d'un systme informatique. A ce titre, il fournit un procd (au sens o l'on parle de gnie des procds dans une industrie) et reprsente un savoir-faire. Il est remarquable que cette prconisation (emprunte aux mthodes d'informatisation qui ont prcd Merise) se rencontre sous une forme semblable dans la plupart des disciplines de l'ingnieur (par ex. en Gnie Civil). Le projet est dcoup en 6 tapes spares et qui se succdent dans le temps : 1. Le schma directeur consiste dfinir les finalits du systme d'information en fonction de la stratgie de l'organisation. Il dfinit des priorits qui s'inscrivent dans un dcoupage en domaines (que certains ont aussi appel une cartographie) du systme d'information. 2. L'tude pralable modlise les solutions techniques et organisationnelles susceptible de rpondre au problme pos. Elle doit donc passer en revue tous les modles du cycle d'abstraction, mais selon une porte particulire : un sous-ensemble reprsentatif du domaine. Par exemple, s'il s'agit de dvelopper un systme de commerce lectronique, l'tude pralable pourra consister tudier de manire approfondie un modle physique des communications sous l'angle de la scurit mais se contenter d'un MCD sommaire. Nous avons dj rencontr cette ide que la modlisation opre souvent en slectionnant le noyau dur du problme, nous la retrouverons aussi dans la mthode Jackson. Il ne faut donc pas confondre une tude pralable avec un dgrossissement plus ou moins vague du niveau conceptuel. Elle doit produire les lments qui permettront de choisir entre diffrentes solutions organisationnelles, mais aussi techniques. 3. L'tude dtaille consiste fournir les spcifications fonctionnelles du futur systme. Soit quelque chose qui ressemble un Cahier des Charges. 4. L'tude technique consiste produire le logiciel : codage des programmes, leur test et leur mise au point. 5. La mise en uvre consiste dployer l'application auprs des utilisateurs, mettre en place les moyens humains (formation, recrutement), organisationnels et techniques. 6. La maintenance consiste corriger les erreurs qui n'auraient pas t dtectes par les tests et faire voluer l'application pour rpondre d'ventuels nouveaux besoins des utilisateurs. Remarque : que cette tape soit explicitement prconise par la mthode revient reconnatre que malgr l'effort important de modlisation et d'abstraction, tout n'est pas dfinitivement rgl pour autant. La forme gnrale de ce cycle de vie est celui de la cascade que l'on peut rsumer ainsi :
27 / 61
Caractristiques : Le projet est dcoup en tapes qui se succdent dans le temps : on passe l'tape suivante quand la prcdente est termine. Selon nous, c'est probablement ce cycle de vie qui a fait de Merise une mthode aujourd'hui obsolte. Il ne faut cependant pas en oublier les avantages : Chaque tape tant clairement dfinie, on peut lui associer une production documentable et vrifiable: l'tude pralable doit produire un dossier d'avant projet, l'tude dtaille doit produire un cahier des charges, etc. On peut associer chaque tape une responsabilit humaine (division du travail) On peut planifier et suivre l'tat d'avancement du travail, mesurer des carts L'inconvnient reconnu est l'extrme difficult de faire "marche arrire". S'il est certes possible l'intrieur d'une tape de corriger une erreur, lorsque cette tape est termine elle l'est dfinitivement. Par consquent si l'on dtecte une erreur dans les tapes terminales et que celle-ci conduit remettre en cause une tape amont, il faut refaire tout le travail depuis cette tape amont travers toutes les tapes intermdiaires qui ont t construites sur la base de la prcdente. C'est peut tre ce qui a valu Merise le sobriquet (injuste cependant) de Mthode Eprouve pour Retarder Indfiniment la Sortie des Etudes.
28 / 61
La raison de l'obsolescence de cette manire de faire n'est probablement pas spcifiquement informatique trois points de vue : 1. On s'est aperu dans nombre de secteurs de l'ingnierie qu'il tait possible d'tre aussi efficace et rapide en adoptant une ingnierie concourante. Par exemple, pour construire une usine, commencer l'installation des machines avant que les murs ne soient termins. Donc ce qui est en cause ici, est un mode d'organisation du travail en quipe : passer du travail la chane aux lots de production. 2. le cycle de vie en cascade s'appuie sur l'hypothse que l'avenir est prvisible avec certitude. C'est en particulier la fonction du schma directeur de Merise lorsqu'il dfinit des priorits sur une priode de l'ordre de trois cinq ans. Il faut aujourd'hui raisonner en avenir incertain : que devient une tude en cours de dveloppement pour des besoins internes lorsqu'elle doit tout d'un coup rpondre aussi aux besoins d'une filiale qui vient d'tre absorbe par l'entreprise ? 3. le cycle de vie de Merise est en phase avec une poque o l'informatique tait proprit exclusive des informaticiens, reprsents au plus haut niveau de l'organisation dans une direction informatique. Ils pouvaient s'engager sur des (gros) projets financement spcifique. L'informatique est devenue proprit des utilisateurs et de leurs services. Les informaticiens doivent dvelopper des (plus petits) projets financs au mme titre que d'autres au sein de ces services. La question devient donc plutt de faire cooprer un grand nombre de projets diversifis, et de moins en moins d'en planifier un petit nombre.
Ralit du systme
Abstraction Modlisation
Le cycle dabstraction : concevoir c'est distinguer des couches ou "niveaux d'abstraction" au moyen de modles. L'objectif est d'isoler l'invariant du systme d'information (sa part la plus stable, celle du niveau conceptuel)
29 / 61
NIVEAU CONCEPTUEL
PORTE SUR De QUOI sagitil ? LUNIVERS du DISCOURS ou le MONDE REEL ORGANISATIONNEL QUI fait quoi ? ou O ? QUAND ? LOGIQUE OPERATIONNEL ou PHYSIQUE COMMENT ?
MODELIS PAR Un Graphe des Flux et des Acteur Un Modle Conceptuel des Donnes (MCD) Un Modle Conceptuel des Traitements (MCT) Des rgles Un Modle Organisationnel des dORGANISATION Traitements (MOT) Un Modle Logique des Donnes (MLD) La technologie du Un Modle Oprationnel des moment Traitements (MOpT) Un modle Physique des Donnes (MPD)
Dans une dmarche de construction partiellement itrative : La description spare des donnes et des traitements permet de confronter les vues externes issues des traitements pour corriger le modle de donnes conu antrieurement :
30 / 61
31 / 61
On note que dans la mthodologie danalyse MERISE la description des traitements, et des donnes est spare. Lide est de permettre la modification dun niveau sans affecter les niveaux qui lui sont suprieurs. Lobjectif est de permettre lvolution du systme dinformations sans obtenir en rsultat un systme informatique dpendant instable.
32 / 61
1.4.2. La dmarche
MERISE respecte les concepts dfinis par le Gnie Logiciel, ce qui nous permet de dfinir les tapes suivantes : Ltude pralable partir ou non dun schma directeur. Ltude dtaille.
33 / 61
34 / 61
rtroaction (en clair, la douloureuse prise de conscience d'erreurs rvles par les tapes ultrieures) amenaient dcrire cet enchanement plus comme des successions de spirales que comme des itinraires rectilignes. Par ailleurs, l'ide d'une approche donnes / traitements d'abord dissocie puis confronte constitue un des intrts majeurs de cette mthode.
35 / 61
2. Le MCD
2.1. Introduction
2.1.1. M.C.D.
Le MCD ("Modle conceptuel des donnes") : Reprsentation statique, sous forme schmatique, de la situation respective des donnes d'un domaine de gestion. Ce schma est conu pour tre trs stable dans le temps. Proprit Le niveau le plus fin en matire de donnes (dit "inscable"). Ce qui suppose que la base a t pure des polysmes et des synonymes. L'identification des donnes est parfois loin d'tre vidente : Que faut-il choisir : "Adresse" ou "Numro", "nom de rue" etc. ? En fait l'usage ultrieur peut guider : Il est certain que si des traitements de slection, de tri et autres, par rues sont prvus, il est plus rationnel d'isoler d'emble les "nom de rue" : C'est l, typiquement, un des intrts de la confrontation ultrieure qui est cense avoir lieu la fin du M.O.T, et qui aboutira au M.L.D.
2.1.2. Entit
Entit "Collection de proprits, dont on peut identifier sans ambigit chaque occurrence, grce une proprit particulire : l''identifiant' " : A chaque valeur de cet identifiant correspond une seule occurrence. "Pour chaque occurrence, il faut que toutes les proprits prennent une valeur et une seule".
36 / 61
L'identifiant est une proprit de l'entit qui permet l'identification de chacune des occurrences de l'entit. Cette proprit est souligne dans le MCD.
2.1.3. Association
Association (N.B. : Dans les anciens ouvrages, c'est le terme de "relation" qui est employ) Objet permettant d'associer deux ou plusieurs entits, et dont chaque occurrence est identifie par la concatnation des identifiants des entits concernes. L'association n'a donc pas d'existence propre : Elle n'existe quen fonction des entits qu'elle relie. Comme pour l'entit, chaque valeur de cet identifiant concatn, correspond une occurrence et une seule, de l'association. Chaque occurrence de l'association relie une et une seule occurrence de chaque entit participant cette association. Le fait de symboliser l'association par un verbe (gnralement conjugu) et non par un substantif correspond une analogie avec la grammaire : L'association joue, en fait, le rle de "rotule". L'image sera plus claire lors de l'expos du M.L.D.
Ouvrage
N crit association entit
Type Relve de
Auteur
N
entit
Ouvrage crit
Auteur
vend
quantit
dite
quantit
Editeur
37 / 61
Se marier
Les associations binaires Elle relie deux associations. C'est la plus courante.
Avoir
1,n PROFESSEUR NumProf NomProf
38 / 61
Elle relie trois associations. On peut la gnraliser aux associations n-aires. On peut trouver des associations reliant 5 ou 6 entits mais elles sont trs rares. En gnral, essayer de simplifier le modle en associations binaires ou rflexives.
39 / 61
Une cardinalit maximale "n" signifie qu'on autorise le cas d'occurrences de l'entit considre qui soient ventuellement relies, chacune, plusieurs occurrences de l'association. Par consquent, une cardinalit maximale "1" exprimera l'interdiction du "pluriel".
Local
Type
Auteur
Immeuble / Local : les deux cardinalits minimales "1" signifient que l'on opte pour une cration simultane d'un immeuble et d'au moins un de ses locaux constitutifs. Les cardinalits maximales expriment le fait qu'un local ne peut appartenir qu' un leur immeuble (relation d'"appartenance" souvent reprsente par un cercle). Ouvrage / Type : Les minimales expriment le fait que l'on pourra crer des types ne comportant pas encore d'ouvrages rattachs, mais qu'en revanche, lors de la cration 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 mme ouvrage plusieurs types (et que dans un cas, il faudra crer des types "mixtes", "historico-policier" par exemple). Ouvrage / Auteur : Les minimales "0" expriment, d'une part, que l'on prvoit les ouvrages anonymes, et de l'autre que l'on admet la cration d'auteurs avant tout enregistrement de ses uvres.
40 / 61
Il ne s'agit pas de dterminer les cardinalits dans l'absolu, d'une manire universelle, mais de fixer les bornes du type de gestion que l'on veut pouvoir prendre en charge dans la base de donnes qui est en construction, reflet d'un contexte prcis, soit actuel soit futur. De l'imagination et du savoir-faire que l'on aura dpendra l'adaptabilit de la base. On pourrait tre tent de prvoir des "pluriels" partout, afin d'ouvrir au maximum le champ des possibilits. 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 possibilits et la complexit de gestion de la base. Cardinalit minimale : "1" Exprime l'obligation de crer simultanment les deux (ou plus) occurrences des entits et l'association (ex. : Une facture comporte un "entte" (comportant les coordonnes du client, la date etc.) et la ou les lignes de facture. L'ensemble reprsent par cette facture sera cr au cours d'une mme opration, avec toutes prcautions pour viter les enregistrements "orphelins"). "0" peut exprimer des situations trs diverses : Soit l'absence dfinitive de relation (ex. : Un ouvrage anonyme) Soit l'absence temporaire de relation : (ex. : Un diteur veut pouvoir crer dans sa base un auteur, pour disposer de ses coordonnes, alors qu'il n'a pas encore accept de manuscrit) Soit des situations d'alternative ("ou" exclusif) Ces exemples soulignent l'importance d'un commentaire joint. La dtermination des cardinalits minimales donne souvent lieu des discussions byzantines. Rappelons que ce point ne joue pas de rle au niveau du nombre des tables ou de leur contenu, mais au niveau des contrles, lors de l'laboration des traitements, et que ces questions remonteront la surface, ncessairement, au moment de la confrontation et de la mise au point du M.L.D. Mais cet exercice a au moins le mrite de discuter, le plus tt possible, de points qui se rvleront ultrieurement importants.
41 / 61
"1" : Si la cardinalit maximale de l'autre entit, pour la mme association est "n", signifie que les deux entits se trouvent dans une situation "feuille/nud" (pour reprendre le vocabulaire des arbres de donnes), dite aussi "hirarchique" , ou encore "d'appartenance" (d'o l'usage de certains auteurs de reprsenter ce type d'association non par un ovale avec la mention d'un verbe, mais par un cercle contenant le signe "appartient " ce qui facilite une lecture rapide du M.C.D.). Si la cardinalit maximale de l'autre entit, pour la mme association est "1", signifie, en principe, que la premire entit regroupe des proprits qui, dans certains cas, ne sont pas signifiantes pour toutes les occurrences de la deuxime entit (ce qui suppose donc que la cardinalit minimale de la deuxime entit est "0") "n" : Si la cardinalit maximale de l'autre entit, pour la mme association est "n", signifie que les deux entits se trouvent dans une situation de rseau. Sinon, on se retrouve dans la situation "1 / n" mentionne ci-dessus.
Type
0,n
1,1
Ouvrage
0,n
crit
0,n
Auteur
0,n stocke
Quantit
dite
Quantit
1,n
Editeur
0,n
Libraire
0,n
42 / 61
2.2.2. Dimensions
Dimension La "dimension" d'une association correspond au nombre des entits relies. Certains auteurs utilisent le terme de "niveau". Association de dimension 3 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 mme titre, stocks chez un mme 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 prcise, puisqu'elle est diffrentie, cette fois, en fonction de l'diteur
Ouvrage
0,n
Libraire
Association de dimension 1 Les cardinalits "0,n / 0,1" (ce sont les maximales qui comptent) expriment une "hirarchie" (c'est-dire un arbre).
43 / 61
Les cardinalits "0,n / 0,n" (ce sont les maximales qui comptent) expriment une "nomenclature" (c'est-dire un rseau).
Commentaire : Dans la pratique, cette 1re Forme Normale joue surtout un rle au niveau des entits. Elle permet d'allger les objets soit par suppression pure et simple de proprits inutiles (car dductibles), soit par cration de nouvelles entits. Elle aboutit donc fractionner les entits.
44 / 61
Elle ne concerne que les objets ayant un identifiant concatn (c'est--dire : les associations). Une association est dite en 2me Forme Normale si : Elle est en 1ere Forme Normale Toutes ses proprits sont en dpendances fonctionnelle avec tout l'identifiant de cette association Exemple : d'une association "Fournisseur / Produit" : identifiant : "N Fournisseur / N Produit" proprits : Quantit, Nom du fournisseur "Nom du fournisseur" est en dpendance fonctionnelle avec la premire moiti de l'identifiant. Elle doit donc tre supprime, et figurer dans une entit "Fournisseur".
3me forme normale Elle est susceptible de concerner toute entit et toute association. Une association est dite en 3me Forme Normale si : Elle est en 2me Forme Normale Il n'existe pas de dpendance fonctionnelle entre les proprits non-identifiantes. (une proprit ne doit dpendre que de l'identifiant, qu'il soit concatn ou non). Exemple : Une entit "vhicule des salaris" : Identifiant : N de salari Proprits : Type de vhicule, puissance du vhicule. Or "puissance du vhicule" est en dpendance fonctionnelle avec "type du vhicule". Elle doit donc migrer vers une entit part.
Association 1 ENTITE X X X X
45 / 61
2.3.2. Partition
Chaque occurrence de l'entit participe l'une ou l'autre des associations.
X X
X
Passe
Ligne march
Commande P Article
Concerne
2.3.3. Exclusion
Si une occurrence de l'entit participe l'une des associations, elle ne participe pas l'autre.
X X
X X
46 / 61
2.3.4. Totalit
Une occurrence de l'entit participe au moins l'une des associations.
X X X
X X
X X
2.3.5. Inclusion
Si une occurrence de l'entit participe l'une des associations, elle participe obligatoirement l'autre.
47 / 61
Proprits-types communes
CLIENT
CLIENT REGULIER
CLIENT OCCASIONNEL
Taux de remise
Proprits-types spcifiques
48 / 61
PERSONNE
sexe
status
HOMME
FEMME
ETUDIANT
ENSEIGNANT
ADMINISTRATIF
XT
CLIENT REGULIER Taux de remise CLIENT OCCASIONNEL
49 / 61
3.1.2. Dmarche
Il s'agit du passage entre le Modle Conceptuel de Donne et l'implmentation physique de la base. Le MLD est lui aussi indpendant du matriel et du logiciel, il ne fait que prendre en compte l'organisation des donnes. On parle aussi de schma relationnel.
Sujet
news 25 news 26
Contenu
Texte 25 Texte 26
ID_rubrique 10 20
25 26
3.1.4. Formalisme
NEWSLETTER (id_newsletter, Sujet, DateEnvoie, Contenu, #id_rubrique) Chaque enregistrement doit tre identifi de manire unique (Lidentifiant de lentit). L'attribut qui permet d'identifier de faon unique chaque ligne est appel la Cl Primaire. Elle peut tre compose, c'est--dire comprendre plusieurs attributs. Ici, il s'agit de l'attribut id_newsletter. La table Newsletter comprend un attribut provenant de la table RUBRIQUES, l'attribut id_rubrique. Cet attribut est appel Cl trangre. Dans le formalisme, la cl primaire est souligne, et la cl trangre est prcde du signe #. D'o l'criture dfinitive : MATABLE (Cle_Primaire, Colonne1, Colonne2, #Cle_Etrangere) Dans notre exemple : Rubrique (id_rubrique, ) Newsletter (id_newsletter, Sujet, DateEnvoie, Contenu, #id_rubrique) Ici, id_rubrique est la Cl Primaire de la table RUBRIQUE, et est une Cl Etrangre dans la table NEWSLETTER.
50 / 61
3.2.1. Rgle 1
Une entit se transforme en une relation (table). Toute entit du MCD devient une relation du MLD, et donc une table de la Base de Donnes. Chaque proprit de l'entit devient un attribut de cette relation, et donc une colonne de la table correspondante. L'identifiant de l'entit devient la Cl Primaire de la relation (elle est donc souligne), et donc la Cl Primaire de la table correspondante.
Client
ID_Client Nom_Client Tel Client
3.2.2. Rgle 2
Relation binaire aux cardinalits (X,1) - (X,n), X=0 ou X=1 La Cl Primaire de la table la cardinalit (X,n) devient une Cl Etrangre dans la table la cardinalit (X,1) :
Employ
ID_Employ Nom Employe
Socit
ID_Socit Nom Socit
3.2.3. Rgle 3
Relation binaire aux cardinalits (X,n) - (X,n), X=0 ou X=1 Il y a cration d'une table supplmentaire ayant comme Cl Primaire une cl compose des identifiants des 2 entits. On dit que la Cl Primaire de la nouvelle table est la concatnation des Cls Primaires des deux autres tables. Si la relation est porteuse de donne, celles ci deviennent des attributs pour la nouvelle table.
Commande
ID_Commande Date Commande
Produit
ID_Produit Libelle
COMMANDE (id_Commande, Date_commande) PRODUIT (id_Produit, libelle) COMPOSE (#id_Commande, #id_Produit, quantit)
51 / 61
3.2.4. Rgle 4
Relation n-aire (quelles que soient les cardinalits). N>2 Il y a cration d'une table supplmentaire ayant comme Cl Primaire la concatnation des identifiants des entits participant la relation. Si la relation est porteuse de donne, celles ci deviennent des attributs pour la nouvelle table. Niveau
Id_niveau Nom_niveau
3.2.5. Rgle 5
Association Rflexive. Premier cas : cardinalit (X,1) - (X,n), avec X=0 ou X=1. La Cl Primaire de l'entit se ddouble et devient une Cl Etrangre dans la relation ou nouvelle table. Exactement comme si l'entit se ddoublait et tait relie par une relation binaire (X,1) - (X,n) (Cf rgle 2).
Sup hirarchique
52 / 61
parent
parent
enfant
3.2.7. Rgle 6
Relation binaire aux cardinalits (0,1) - (1,1). La Cl Primaire de la table la cardinalit (0,1) devient une Cl Etrangre dans la table la cardinalit (1,1)
Animateur
ID_Animateur Nom_Animateur encadre 0,1
Groupe
ID_Groupe 1,1 Nom_groupe
3.2.8. Conclusion
Ces 6 rgles reprsentent TOUS les cas que vous pourrez rencontrer. Il ne faut surtout pas se laisser impressionner par le nombre de schmas, ni se laisser intimider par le cot inhabituel du processus de modlisation. Il est trs simple acqurir. En fait, au bout de quelques modlisations et d'un ou deux dveloppements, vous vous rendrez compte que finalement tout ceci est trs logique et d'une vidence rare... Et surtout, surtout, votre base de donne correspondra EXACTEMENT au systme d'information dcris dans le cahier des charges. De plus, crire le MCD, le valider avec votre client, puis en dduire le MLD et donc le Modle Physique vous fera rentrer compltement dans le chantier. Vous irez ensuite beaucoup plus vite, avec trs peu de risque d'tre hors sujet. Aprs, la majorit du travail restant ne sera plus qu'une question de requtes, de mise en forme et d'ergonomie, avec une bonne gestion d'Entre/Sortie de l'information...
Essentiel Modlisation Merise Voici les 6 rgles du passage du MCD ou MLD : Table1 Table2 Table3
53 / 61
Rgle
Rgle
Chaque proprit de l'entit devient un attribut de cette relation, et dont une colonne de la table correspondante. L'identifiant de l'entit devient la Cl Primaire de la relation (elle est donc souligne) La Cl Primaire de la table la cardinalit (X,n) devient une Cl Etrangre dans la table la cardinalit (X,1) Il y a cration d'une table supplmentaire ayant comme Cl Primaire une cl compose des identifiants des 2 entits. On dit que la Cl Primaire de la nouvelle table est la concatnation des Cls Primaires des deux autres tables. Si la relation est porteuse de donne, celles ci deviennent des attributs pour la nouvelle table. Il y a cration d'une table supplmentaire ayant comme Cl Primaire la concatnation des identifiants des entits participant la relation. Si la relation est porteuse de donne, celles ci deviennent des attributs pour la nouvelle table. La Cl Primaire de l'entit se ddouble et devient une Cl Etrangre dans la relation ou nouvelle table. Exactement comme si l'entit se ddoublait et tait relie par une relation binaire (X,1) - (X,n) (Cf rgle 2). De mme, tout se passe exactement comme si l'entit se ddoublait et tait relie par une relation binaire (X,n) - (X,n) (Cf rgle 3). Il y a donc cration d'une nouvelle table. La Cl Primaire de la table la cardinalit (0,1) devient une Cl Etrangre dans la table la cardinalit (1,1).
1 2 3
x,y
x,y
x,y
5.1 5.2 6
MOTIVATIONS (id_Motivation, Intitule) ABONNES (id_Abonne, #id_Motivation, Nom, Prenom, Age, Sexe, Profession, Rue, CodePostal, Ville, Telephone, Email) S_INSCRIT (id_Abonne, id_Rubrique) RUBRIQUES (id_Rubrique, Nom_Rubrique) NEWSLETTERS (id_Newsletters, #id_Rubrique, Sujet, DateEnvoie, Contenu)
54 / 61
3.3. Le MPD
3.3.1. Pourquoi une tape supplmentaire ?
En effet suivant les bases de donnes le type de champ nest pas toujours le mme.
Types alphanumriques
CHARACTER (ou CHAR) : valeurs alpha de longueur fixe. CHARACTER VARYING (ou VARCHAR ou CHAR VARYING) : valeur alpha de longueur maximale fixe. Ces types de donnes sont cods sur 2 octets (EBCDIC ou ASCII) et on doit spcifier la longueur de la chane. Exemple :
NOM_CLIENT CHAR(32) OBSERVATIONS VARCHAR(32000)
55 / 61
NATIONAL CHARACTER (ou NCHAR ou NATIONAL CHAR) : valeurs alpha de longueur fixe. NATIONAL CHARACTER VARYING (ou NCHAR VARYING ou NATIONAL CHAR VARYING) : valeur alpha de longueur maximale fixe sur le jeu de caractre du pays. Ces types de donnes sont cods sur 4 octets (UNICODE) et on doit spcifier la longueur de la chane. Exemple :
NOM_CLIENT NCHAR(32) OBSERVATIONS NCHAR VARYING(32000)
Types numriques
NUMERIC (ou DECIMAL ou DEC) : nombre dcimal reprsentation exacte chelle et prcision facultatives. INTEGER (ou INT): entier long. SMALLINT : entier court. FLOAT : rel virgule flottante dont la reprsentation est binaire chelle et prcision obligatoire. REAL : rel virgule flottante dont la reprsentation est binaire, de faible prcision. DOUBLE PRECISION : rel virgule flottante dont la reprsentation est binaire, de grande prcision. BIT : chane de bit de longueur fixe. BIT VARYING : chane de bit de longueur maximale.
La stratgie de dploiement
Table de dcision pour le choix l'implantation physique des donnes par site. Besoin de donnes jour et partages OUI OUI OUI NON Partitionnement horizontal possible OUI NON NON Volatilit importante OUI NON Dcision prendre Distribuer Centraliser Centraliser ou Copies multiples Copies multiples Partitionnement vertical si ncessaire
3.3.2. Le reverse-engineering
La rtro-ingnierie (traduction littrale de l'anglais Reverse engineering), galement appele rtroconception, est l'activit qui consiste tudier un objet pour en dterminer le fonctionnement. L'objectif peut tre par exemple de crer un objet diffrent avec des fonctionnalits identiques l'objet de dpart sans contrefaire de brevet. Ou encore de modifier le comportement d'un objet dont on ne connat pas explicitement le fonctionnement. La dmarche utilise peut tre celle de l'tude d'une bote noire : on isole l'objet tudier, on dtermine les entres et les sorties actives. On essaie ensuite de dterminer la rponse du systme en
56 / 61
fonction du signal d'entre. Mais il est galement possible de dmonter le systme jusqu' un certain point pour en analyser les constituants. La rtro-ingnierie s'applique aussi au logiciel. Ceci peut tre ralis en utilisant des outils d'analyse comme le dcompilateur. Les mthodes employes sont similaires celle du dbogage. Dans le cas de la base de donnes le Reverse engineering consiste retrouver la modlisation de dpart partir du modle physique. On passe du MPD au MLD et on en dduit le MCD. On applique alors les modifications ncessaires sur le MCD et on recre le MLD puis le MPD. La plupart des outils de modlisation intgre du reverse engineering.
57 / 61
Modle Modle Conceptuel de Donnes (MCD) Modle Libre (MLB) Modle Orient Objet (MOO) Modle Physique de Donnes (MPD)
Modle de Fluidit de l'Information (MFI) Modle de Gestion des Exigences (MGX) Modle de Processus Mtiers (MPM) Modle de Traitements Merise (MTM)
Les diffrents types de modles Description Fournit une reprsentation formelle des donnes ncessaires la gestion d'une entreprise ou l'exercice d'une activit professionnelle. Il est ensuite driv en modle physique directement exploitable par un SGBDR. Permet de modliser graphiquement selon les besoins : architecture du systme et des applications, scnarios de cas d'utilisation des applications, organigrammes, ou mme utiliser sa propre mthode Permet d'utiliser des objets dont l'interaction produit certaines oprations et qui constituent dans leur ensemble un systme d'informations. Dans Power AMC, le standard UML est utilis. Spcifie les modalits de mise en uvre physique d'une base de donnes. Le MPD est directement dpendant du SGBD cible et permet ainsi de traiter les contraintes relatives l'accs et au stockage des donnes. A l'aide de son diagramme et de son arborescence, une vue globale et schmatique de tous les lments composant le fichier XML est obtenue. Cette vue est trs utile pour comprendre, vrifier et modifier la structure complexe d'un fichier XML Permet de rpliquer des objets depuis une base de donnes source vers un ou plusieurs moteurs de rplication ou bases de donnes. Ce modle a pour but de fournir une reprsentation globale de l'ensemble des rplications Modle documentaire utilis pour rpertorier et dcrire les besoins du client qui doivent tre satisfaits lors d'un processus de dveloppement Peut tre utilis comme un document de base pour toute analyse orient-objet, pour dcrire les collaborations entre partenaires de mme niveau et pour modliser le processus interne une organisation Spcifie la faon dont les donnes sont traites dans le systme d'information. ces modles peuvent tre imports depuis le logiciel spcialis Merise Mega
Le rfrentiel est un outil de Power AMC permettant de grer le travail en commun, en groupe dans un environnement client/serveur. Cet outil permet de faciliter ce qu'implique le travail en quipe : partage de l'information entre les concepteurs, prservation de l'intgrit des donnes l'aide de restrictions d'ordre administratif sur le contenu du rfrentiel. Il est possible de suivre toute la traabilit et l'volution des objets placs dans le rfrentiel grce la gestion par configurations, branches et versions. DBDesigner 4 est un systme de conception de base de donnes sous forme graphique qui intgre tout les niveaux de conception, de modification, de cration et de maintenance sur la structure d'une base de donnes. Il combine une interface trs conviviale avec des outils puissants qui permettent de gnrer rapidement des scripts SQL ou XML pour crer les bases conues ou bien permet le reverse engineering sur des bases existantes pour en extraire la structure et en donner une interprtation graphique. Y sont galement intgrs des Plugin permettant de gnrer des reports de structures des bases, ainsi qu'une mini application en PHP de visualisation/modification base sur des vues de la base (views). De part ses capacits, il est donc comparable des applications telles que Oracle's Designer, IBM's Rational Rose, ou encore theKompany's DataArchitect, ceci prt qu'il s'agit d'un projet Open Source qui fonctionne sur de nombreux systmes. Il est distribu sous la licence GPL (General Public Licence).
58 / 61
DBDesigner 4 a t dvelopp et optimis pour tre utilis avec le SGBD relationnel MySQL, lui aussi disponible gratuitement, pour permettre tous de dvelopper de puissantes bases de donnes avec des outils performants. Le concepteur de DBDesigner4, Michael G. Zinner ayant intgr la socit MYSQL AB, le successeur de DBDesigner 4, MYSQL WORKBENCH est en cours de dveloppement. Lien : http://www.fabforce.net/dbdesigner4/ AnalyseSI est l'quivalent libre (license GPL) du logiciel PowerDesigner (feu PowerAMC) c'est dire un logiciel d'analyse MERISE permettant de modliser facilement des bases de donnes. Autres outils : Pour les outils Merise, les principaux, sont: Mega Development, Windev, Adelia, etc. Un outil RAD comme Delphi inclut dans ses ditions haut de gamme des outils de modlisation UML comme ModelMaker ou Together selon les versions. D'autres outils existent, orients plutt en UML comme ArgoUML en OpenSource, ou Poseidon qui est gratuit mais pas libre. Citons aussi Devaki crit en Java/Swing et sous licence GPL.
59 / 61
En fait, seules les entreprises disposant de versions rcentes d'Oracle et de MySQL en cluster sont capables d'effectuer une migration de manire transparente. Grce un mcanisme assimilable au grid, ces deux bases savent rediriger automatiquement les utilisateurs vers le nud d'un cluster pendant qu'un autre est mis jour. Dans la pratique, il est beaucoup plus simple de travailler sur une seconde architecture, prcise toutefois Sherly Brothier, directeur technique de la socit de services IdealX. Ne serait-ce que pour des raisons de scurit. Bien souvent, les entreprises rechignent effectuer des oprations de maintenance sur des bases en production. De plus, un tel scnario n'est valable que lors du passage une version plus rcente. Il ne l'est pas dans les changements de bases car les mcanismes sont propres chaque diteur. En pratique, faire migrer une base de donnes sans interruption de service impose le plus souvent de dupliquer l'architecture. Le principe est simple : les utilisateurs sont maintenus sur l'architecture existante, et basculs vers la nouvelle un moment donn. La russite de l'opration dpend moins de la migration des donnes elles-mmes que de la matrise de la couche de communication entre les applications et les bases. Autrement dit, c'est une affaire de middleware. Ce qui rend le projet plus ardu. En outre, il se complique souvent en raison des adhrences entre la base et les applications (les appels directs la base cods directement dans l'application). La plupart des entreprises sous-estiment l'impact de la migration d'une base de donnes sur les applications. Pourtant, 70 % du travail ne porte que sur ces dernires , souligne Aomar Bariz, avant-vente pour les produits DB2 et Informix d'IBM. Au moment voulu, les applications critiques et centralises (PGI, GRC) doivent arrter de pointer vers l'ancienne architecture et adresser les requtes la nouvelle base. Ce qui implique de remplacer l'adresse de l'ancienne architecture de donnes par la nouvelle dans tous les fichiers de configuration des applications. Une opration qui prend du temps.
Editeur
Oracle
IBM
Microsoft
Commentaire : Pour rcuprer des bases Oracle, SQL Server, Sybase, et Informix SSMA (SQL Server Migration Assistant) Commentaire : Pour rcuprer des bases Oracle et, prochainement, DB2 et Sybase. MySQL Migration Toolkit
MySQL AB
Commentaire : Pour rcuprer des bases SQL Server, Oracle et Access SQLWays Commentaire : Conversion entre DB2, Oracle, SQL Server, Sybase, Infomix, MySQL, Progress, SAP, Pervasive, Interbase, etc. Data Pump Commentaire : Conversion entre MySQL, PostgreSQL, Interbase, SQL Server, DB2, et DBISAM.
Ispirer
EMS
60 / 61
Etape
1. Les donnes sont sauvegardes
Description
123 Multimdia a construit une architecture constitue de plusieurs bases cibles avec la nouvelle version de sa base de donnes SQL Server 2005. Elle a ensuite sauvegard toutes les donnes prsentes sous l'architecture existante (plus de 600 Go) et transfr la sauvegarde sur la nouvelle architecture Des modifications sont inter venues sur la base en version 2000 pendant la phase de sauvegarde et de transfert, qui a ncessit entre cinq et six heures. La socit procde donc une mise jour ne transfrant que la diffrence. Une opration ralise en moins d'une minute. Les applications qui crivent dans la base sont aussitt coupes de l'ancienne architecture, les transactions internes ou issues du web tant stockes en file d'attente par l'infrastructure middleware MSMQ (messagerie asynchrone). Celles en lecture seule restent branches sur l'ancienne architecture. Remplacement de l'adresse IP de l'ancienne architecture par la nouvelle dans les fichiers de configuration des applications. Les transactions en attente dans MSMQ ont t adresses la nouvelle architecture, le basculement n'ayant provoqu en fait qu'un lger et trs court ralentissement.
61 / 61
Etape
1. Le nouveau back office est install 2. Une double alimentation des donnes est instaure
Description
Mto Consult a redvelopp son application et chang d'environnement d'exploitation pour tirer pleinement profit de sa nouvelle base MySQL. Elle a construit une architecture en parallle. Les bases sont alimentes plusieurs fois par jour par des donnes externes, qui, avant d'tre injectes dans la base, subissent traitements de contrle corrections effectus par les prvisionnistes mto. Les programmes batch d'alimentation ont t reprogramms pour alimenter les deux architectures. En temps normal, les routeurs conservent en mmoire l'adresse IP d'un nom de domaine pendant 24 ou 48 heures. En prvision du changement d'adresse, Mto Consult a pris les devants et reconfigur son nom de domaine une semaine avant le basculement. Remplacement de l'ancienne adresse IP par la nouvelle dans les tables de routage. Pendant les dix minutes ncessaires aux modifications, les utilisateurs taient orients vers la nouvelle ou l'ancienne architecture. Un lger ralentissement : cinq minutes aprs la fin des modifications, tous les routeurs disposaient de la nouvelle adresse.