Rolland Balzon Philippe prolland@free.fr 10/2001 Merise Méthode d'analyse et de conception de systèmes d'information Version/Date Merise1 (CTI/CETE, Fr,1978) Merise2 (SEMA. Gr, Fr,1990) Merise Objet, OOM (Fr,1992) Objet Présentation de Merise1 A. Modèle conceptuel de la communication (MCC) ############################################## A.1. Diagramme de contexte: Définir les acteurs internes, externes (personne ou groupes qui manipuule des info/message) A.2. Diagramme des flux (2 graphs): 1. Definir la circulation des info/message autour des acteurs. 2. L'ordonnancement des info/message entre eux. B. Modèle conceptuel de données (MCD) ##################################### B.1. Dictionnaire de données: Liste récapitulative de toutes les données élémentaires (sans redondance, sans synonyme, sans polysème:exemple adresse ne peut subsister seule, si elle désigne adr cleint et adr fournisseur). Définir chaque données (nom, type, domaine=valeur posible, calculé/pas, fixe/evolutive) B.2. Modèle entité-association: Définir les entités (object matériel, on pas ayant une existance propre conforme à l'entreprise=: ex, client, commande) composé d'item du dico. Association=lien entre entité (lien lateral ou arborescent==heritage) 0,1 aucun ou 1 seul. 1,1 un exactement. 0,n zero ou plusieurs. 1,n etc. Note: une association peut avoir des attributs: dans ce cas cela devient une entité, etc. +--------+ +-------------+ | Robots | --(1,n)--- -----(1,x) | SousEnsemble| +--------+ +-------------+ Au milieu l'association. Si x=1 (ie un sous-ens est lien à un seul robot) Alors Association pure. Sinon (un sousens peut appartenir à plusieurs robot) l'assosiation devient une entité compsé de l'id robot et l'id Sous-ens. Pour une approche pratique, voir l'annexe. C. Modèle Logique/Physique de données (MLD/MPD) ############################################### Deduit de la MCD. Une entité (1,n) associée à (1,1) implique l'entité (1,1) recoit en clef etrangère la clé primaire de (1,n) (1,n) vers (1,n) l'association est une entité ie table avec une occurence par couple robots/sousense D. Modèle Conceptuel des traitements (MCT) ########################################## Définir l'ensemble des opérations (évenements=entrée/tache=Activité/Sortie=evenement) enchainable ou pas. Exemple d'une operation, (on voit bien leur itération possible) +-----------+ +-----------+ +-----------+ | evt A | | evt B | | evt C | +-----------+ +-----------+ +-----------+ | | | +-------------------------------------------+ | fct logique: Si A et (B ou C) Alors | +-------------------------------------------+ | Action 1 | | Action 2 | +-------------------------------------------+ | Resultat a: Si P=0 | Resultat b: Si Z=6 | +-------------------------------------------+ | | +----------+ +-----------+ | evt X | | evt Y | +----------+ +-----------+ Note: Les Evenements sont liés à des acteurs, aussi avant l'opérations et après dans cetains MCT on indique quelles sont les acteurs. E. Modèle Organisationnel des Traitements (MOT) ############################################### Le Modèle Organisationnel des Traitements découle du MCT. Sur un tableau : en ligne les différentes périodes, ie la chronologie, en colonne les acteurs. Au centre du tableau on vien t placer les traitements précédents: ie les groupes (evenement --> [opération] --->evénement) Les évenements sont déclencher par un/des acteurs: ils seront dans certaines colonnes, et ils sont réalisé à certaines périodes, ils seront sur certaines lignes. ############ ## ANNEXE ## ############ Démarche de construction du Modèle Conceptuel des Données ######################################################### 1. Réaliser le dictionnaire de données, en procédant par épuration des polysèmes, synonymes, redondances 2. Dégager les objets naturels en repérant les identifiants (un ou plusieurs champs, attributs: futur primary key) 3. Rattacher à ces objets les propriétés en dépendance fonctionnelle de leur identifiant (ie completer les tables précédentes) 4. Placer les relations rattacher à des identifiants (ie mettre les associations, les liens entre les tables) 5. Etudier les propriétés restantes afin de les regouper en objets pour lesquels on créera des identifiants (regrouper les miettes) 6. Etudier les cardinalités. 7. Simplifier le modèle en utilisant des contraintes d'intégrités fonctionnelles (CIF): exemple une association ternaire (3 axes) peut souvent etre decline en 2 association binaire. 8. Vérifier le modèle à l'aide des règles de vérification. Regles de vérification du modèle 1. Toutes les proriétés doivent être élémentaires, ie non décomposable. 2. Chaque objet doit possèder un identifiant et un seul (ie une primary key: composé ou pas) 3. Les propriétés d'un ojbet autre que identifiant doivent être en dépendance fonctionnelle avec cet identifiant (ie primary key composé ou pas) 4. Une propriété ne peut qualifier qu'un seul objet, ou qu'une seule relation (non -redondance) 5. Les dépendance transitives doivent être écartée (objets imbriqués) 6. Pour chaque occurence d'une relation à chaque extrémité une seule occurence d'objet. Unicité de l 'objet: ie unicite d'une occurence pour une relation. 7. Pour un ensemble d'occurence d'un objet, on a au plus une relation par occurence d'objet (Unicité de la relation) 8. La participation d'un objet à une relation ne peut pas être optionnelle. Lorsque ces règles sont vérifier, le modèle est doit être en 3ième Forme Normale. --------------------- Notes ##### 1. Il arrive que des SSII ne réalise que la première partie (MCD) de Merise, y compris pour des projets GPAO de plus de 3MF. Links ######## Merise: http://tcosnuau.free.fr/COURS/MERISE/MERISE.HTM Merise: http://www.univ-ubs.fr/valoria/antoine/Enseignement/MSI_GL_UML/Merise.pdf Ensemble de méthodes: http://www.infeig.unige.ch/support/se/lect/gl/meth/web.html http://perso-info.enst-bretagne.fr/~beugnard/cours/GL-1.pdf http://perso-info.enst-bretagne.fr/~beugnard/cours/GL-2.pdf http://perso-info.enst-bretagne.fr/~beugnard/cours/GL-3.pdf http://perso-info.enst-bretagne.fr/~beugnard/cours/GL-4.pdf Tools: Paradigm plus (Computer Associates)