Sunteți pe pagina 1din 62

Conception dun systme dinformation: Mthode de conception Merise

Hala Skaf-Molli Skaf@loria.fr http://www.loria.fr/~skaf B 032

Sources
Cours de Claudine Toffolon (Universit du Littoral ) Frdric Julliard (Universit de Bretagne Sud, IUP Vannes Cours Gilles Simon (Universit Henri Ponicar, Nancy1) Merise et UML pour la modlisation des systmes d'information-Un guide complet avec tudes d - Gabay, Joseph-4e d-2001-02 Bases de donnes et systmes d'information, Nacer Boudjlida, Dunod, 1999. Merise, mthode de conception. A. Collongues, J. Hugues, B. Laroche, Dunod, 1986. ..

Historique
Approche ancienne : 1978 Trs rpandue en France Origine franaise : dveloppe par :
CTI (Centre Technique dInformatique) CETE(Centre dEtudes Techniques de lEquipement)

Remise jour : Merise 2


la mode Objet : concepts de classes, hritage

Caractristiques
Vision globale de lentreprise Sparation des donnes et des traitements
Traitements:
tude des vnements Indpendances entre les domaines

Donnes
tude du vocabulaire de lorganisation Intgration des domaines: Vue globale

Approche par niveaux :


Quatre niveaux de description ou niveaux dabstraction

Approche par Niveaux


NIVEAU CONCEPTUEL: Ce quil faut faire
QUOI ?

NIVEAU ORGANISATIONNEL: La manire de faire


QUI ?, QUAND ?, COMBIEN ?, OU ?

NIVEAU LOGIQUE: Choix des moyens et ressources


AVEC QUOI ? QUELS OUTILS ?

NIVEAU PHYSIQUE: Les moyens de le faire


COMMENT ?

Rel peru Invariant

Conceptuel

Fonction

Organisationnel

Organisation

Logique Informatique Oprationnel

Variable

Niveau Conceptuel
Exprime les choix fondamentaux de gestion, les objectifs de lorganisation Dcrit les invariants de lorganisation:
le mtier de lorganisation

Indpendamment
des aspects organisationnels des aspects techniques de mise en oeuvre

du point de vue:
des traitements: objectif, rsultat, rgles de gestion, enchanement des donnes: signification, structure, liens CEST LA DESCRIPTION LA PLUS STABLE DU SYSTEME

Niveau Organisationnel
La rpartition gographique et fonctionnelle des sites de travail (du point de vue des donnes et des traitements) le mode de fonctionnement: temps rel ou temps diffr la rpartition du travail homme/machine (degr et type dautomatisation) les postes de travail et leur affectation,la volumtrie des donnes, la scurit des donnes Indpendamment des moyens de traitement et de stockage de donnes actuels ou futurs Cest la description des postes de travail de lentreprise et des informations quelle traite.

Niveau Logique
Exprime la forme que doit prendre loutil informatique pour tre adapt lutilisateur, son poste de travail Indpendamment de linformatique spcifique, des langages de programmation ou de gestion des donnes Dcrit
le schma de la base de donnes (relationnel, hirarchique ou rseau) ie- les caractristiques du mode de gestion des donnes la rpartition des D sur les diffrentes units de stockage les volumes par unit de stockage loptimisation des cots induits par le mode de gestion

Niveau Physique
Traduit les choix techniques et la prise en compte de leurs spcificits Rpond aux besoins des utilisateurs sur les aspects logiciels et matriels. Dfinit compltement:
les fichiers, les programmes limplantation physique des donnes et des traitements, les ressources utiliser, les modalits de fonctionnement CEST LA DESCRIPTION DES MOYENS MIS EN OEUVRE POUR GERER LES DONNEES ET EFFECTUER LES TRAITEMENTS.

Approche par Niveaux


Les niveaux conceptuel et organisationnel reprsentent toute lorganisation Les niveaux logique et physique ne prennent en compte que la solution informatique

Approche par Niveaux


A chaque niveau correspond un modle MODELE = SCHEMA + DESCRIPTIF SCHEMA NORMALISE
Synthse Communication

DESCRIPTION TEXTUELLE
Dfinitions Commentaires Quantifications Contraintes

La modlisation
Un modle doit possder au moins trois qualit:
La fidlit: la reprsentation doit tre effectue sans dformation de la ralit La cohrence: la reprsentation ne doit comporter de contradiction explicite ou implicite La compltude: la reprsentation doit dcrire tous les phnomnes pertinents par rapport aux objectifs du modlisation, ce qui nest pas synonyme dexhaustivit systmatique

Les Modles au niveau conceptuel


Le Modle Conceptuel des Donnes : M.C.D. Description des donnes et des relations en termes:
ENTITE ou INDIVIDU RELATION ou ASSOCIATION PROPRIETES ou ATTRIBUT

Le modle Conceptuel des Traitements : M.C.T. Description de la partie dynamique du S.I. en termes
PROCESSUS OPERATION comprenant les concepts dEVENEMENT /RESULTAT et de SYNCHRONISATION

Les Modles au niveau Organisationnel/Logique


Le Modle logique de donnes: M.L.D. Le modle CODASYL si une orientation base de donnes rseau est choisie Le modle RELATIONNEL si une orientation base de donnes relationnelle est choisie Le modle HIERARCHIQUE Le Modle Organisationnel des Traitements: M.O.T permet de reprsenter par procdure les phases et les tches effectues par chaque poste de travail

Les Modles au niveau Physique ou Oprationnel


Le Modle Physique des Donnes : M.P.D
spcifie les organisations physiques de donnes

Le Modle Physique des Traitements: M.P.T


dcrit les traitements raliss pour chaque transaction (temps rel) ou chaque unit de traitement (temps diffr)

L e s C o n c e p t s d e M E R IS E
N iv e a u d e d e s c rip tio n
C o n c e p tu e l

C o n c e p ts M a n ip u l s D onnes E n tit / In d iv id u A s s o c ia tio n

P r o p r i t s C o n tr a in te M .C .D

T r a ite m e n ts P ro c e ssu s O p ra tio n


v n e m e n t/ R s u lta t S y n c h r o n is a tio n

R g le s
M .C .T

d e g e s tio n

O r g a n is a tio n n e l M o d le re la tio n n e l T a b le s , A ttr ib u ts / L o g iq u e M o d le C o d a s y l R ecord, C ham ps, Set M o d le h i ra rc h iq u e M .L .D

P ro c d u re P hase T che
M .O .T

P h y s iq u e /

O p r a tio n n e l

T a b le s , T u p le , A ttrib u t s L angage SQL

R ec o rd , A rtic le , C ham ps, Set L angages s p c ifiq u e s SG BD

A p p lic a tio n
U n it d e tr a ite m e n t
T e m p s r e l : T r a n s a c tio n T e m p s d iff r : P r o g ra m m e B a tc h M .P .T .

M .P .D

M .P .D

L a D o u b le A p p ro c h e : N iv e a u x e t M o d le s
M o d le s
N iv e a u x
C o n c e p tu e l D O N N E E S T R A IT E M E N T S M o d le C o n c e p tu e l d e s A c tiv it s (M C A ) M C D O rg a n is a tio n n e l L o g iq u e P h y s iq u e / O p ra tio n n e l M O D M L D M P D
V a lid a tio n V a lid a tio n V a lid a tio n V a lid a tio n

M C T M O T M L T M P T

T ro is v o ie s d e v a lid a tio n
P a r le s r g le s d e g e s tio n M is e E n C o h r e n c e d e s m o d le s D e s c r ip tio n d e s E v n m e n ts /R s u lta ts

tapes de dveloppement dun SI


tude pralable Conception Organisationnel Logique Physique ou oprationnel
Niveau couvert Par la description du Systme dinformation Ltude pralable ne traite pas tous les cas particuliers

tude dtaille Conception Organisationnel Logique Physique ou oprationnel Ralisation Conception Organisationnel Logique Physique ou oprationnel

Une petite partie des spcifications dtailles est traite dans la phase de ralisation

Un logiciel ne peut tre test 100% la fin de la ralisation..

Modle conceptuel des traitements


SCT (ou MCT - Modle ...) est une abstraction des activits du systme d'information et de leurs contraintes Inspir des rseaux de ptri Processus de conception :
Modle conceptuel de communication
Identification des acteurs et des flux d'informations Ordonnancement des flux

Elaboration du SCT

Modle conceptuel de communication (MCC)


1. 2. Dfinir lorganisation
Objectif, activits, produits, clients, dcision, finances

tablir le modle de contexte


Donner le cadre de ltude Vue synthtique du problme

3.

tablir le modle conceptuel de flux


fixer la porte et les limites du futur systme ou pour le dcomposer en sous-systmes Se prsente sous la forme d'un graphe dont les nuds sont des acteurs identifis du SI et les arcs montrent les types d'information circulant entre les acteurs

4. Diagramme de dpendance des documents

Exemple
Traitement dun sinistre automobile par une compagnie dassurance:
Toute dclaration incorrecte nest pas enregistre. Elle entrane lmission dun avis au sinistr qui devra faire une nouvelle dclaration Un expert donne son avis. Le rglement du sinistre ne se fait quaprs rception de la facture du garage ayant effectu les rparations En fin danne archiver tous les dossiers traits

MCF de la gestion daccident par une assurance..


Cotisations Adhsion Dclaration Avis-rectification Facture-garage Rglement Facture

Frontire de l'tude
Paiement

ASSUR
Vhicule

ASSURANCE

GARAGE

Demande expertise Retour expertise Honoraires

EXPERT

Le graphe de prcdence MOF


Montre les dpendances temporelles entre les types d'informations Exemple : Dclaration
Demande expertise Retour expertise Facture-garage Rglement Avis-rectification

laboration du schma conceptuel des traitements


En se basant sur le graphe ordonn des flux, on introduit les traitements concernant un ou plusieurs flux On dcrit le rle des traitements et les informations ncessaires en entre et produites en rsultat

Reprsentation graphique du modle des traitements


Type d'vnement Type d'vnement

Condition de synchronisation Nom de la synchronisation Nom du type d'opration


Condition de production

...

Condition de production

Type d'vnement

Type d'vnement

Exemple de SCT
Evt0 Arrive dclaration Condition locale C1 de S2 a.no_dossier = b.no_dossier et b.no_dossier = c.no_dossier Evt2 Retour d'expertise Evt3 Arrive facture rparations

b
a et b et c et C1

S1 Ouvrir_dossier OK Erreur Evt1 Dossier ouvert Evt5 Avis de rectification Envoi chque Evt6

S2 Rgler_sinistre Toujours [dure = 5mn]

[dure = 4mn]

Evt4 Demande d'expertise

Avis de rglement Evt7

Dossier clos Evt8

Type d'vnement
Description lexicale :
nom et message identifiant des occurrences frquence d'apparition au cours d'une priode donne capacit (nb max d'occurrences que le SI peut prendre en compte au cours d'une priode) liste des synchronisations auxquelles il participe et des oprations qu'il peut dclencher

Exemple de type d'vnement


vnement Arrive dclaration (Evt0 )
message : informations figurant sur la dclaration identifiant : le couple (no de l'assur, date d'arrive de la dclaration) frquence : 50 par jour capacit : 55 par jour participe la synchronisation S1 du type d'opration Ouvrir_dossier

La description du message peut tre formalise :


<Nom_assur : chane, Prnom : chane, No_police : chane, Date_accident : date ...>

Type d'opration
Description lexicale :
nom et rle dure type(s) d'vnements qui conditionnent son dclenchement (entres) type(s) d'vnements produits (sorties) si la production des vnements est conditionnelle, expliciter la condition de production de chaque vnement action ralise

Exemple de type d'opration


Opration Ouvrir_dossier
Rle : Vrifie une dclaration et initialise l'expertise Dure : 10 minutes Evnements en entre : Evt0 Evnements en sortie : (Evt4 et Evt1) ou Evt5 Action :
si dclaration_OK alors Ouvrir un dossier de sinistre (Evt1) Faire une demande d'expertise de ce dossier (Evt4) sinon Renvoyer la dclaration l'assur (Evt5) fsi

Type de synchronisation
Description lexicale :
nom liste des types d'vnements qui participent la synchronisation ventuellement, condition de synchronisation portant sur les types d'vnements condition locale : prcise, en prsence de plusieurs occurrences d'un type d'vnements, laquelle choisir dlai de synchronisation : temps max sparant le moment o la synchronisation est activable et celui o elle est active dure limite : temps max d'attente entre l'arrive du premier vnement et celle du dernier

Exemple de type de synchronisation


Synchronisation S2
Condition : Evt1 (a) ^ Evt2 (b) ^ Evt3 (c) ^ C1 Condition locale C1 : a.no_dossier = b.no_dossier ^ b.no_dossier = c.no_dossier et "premier arriv premier servi" Dlai de synchronisation : Trois jours Dure limite : douze mois

Nombre d'occurences
E1 a S1 OP1 C1 (3) R1 C2 (2) R2 2 rsultats de type R1 2 rsultats de type R2 OP2 OP3 E2 b (2) a et b 1 vnement de type E1 2 vnements de type E2

Structures de base d'un SCT


E1 E1 E1 E2 E3

E1 OP1
ou

E2

OP1 E2 E3

OP1 E3

OP2 E4

E2

E3

OP1 E4

OP2

OP3

OP2

OP3

OP3

Alternative

Itration

Parallle divergente

Parallle convergente

Dmarche pratique pour la modlisation conceptuelle


laborer et ordonner un diagramme de flux Faire une premire bauche de SCD Faire une premire bauche de SCT Pour chaque opration du SCT, analyser ses effets sur le SCD Modifier ou complter le SCD Modifier ou complter le SCT Itrer sur les trois tapes prcdentes

Le schma logique des traitements


Aboutit une architecture de dploiement du systme, obtenue par raffinement des oprations conceptuelles Les tapes de la construction du SLT :
dcomposer les oprations du SCT en sous-oprations appeles procdures ou fonctions affecter et localiser chaque procdure dtailler l'analyse de chaque procdure dfinir l'enchanement des procdures estimer le cot de mise en place de la base essayer de rduire ce cot

Dcomposition des oprations


Exemple : l'opration Ouvrir_dossier peut tre dcompose en les procdures suivantes : vrifier la dclaration (assur connu, circonstances bien dcrites ...) l'ignorer ou lui affecter un numro de dossier enregistrer les informations ncessaires dans la base dsigner un expert pour le nouveau dossier transmettre le dossier l'expert

Identification des procdures


Pour chaque procdure sont fournis :
un nom un mode de ralisation (manuelle, automatise totalement ou partiellement, interactive, diffre ...) une localisation (o?) une affectation (qui?) une frquence d'activation

Exemple
Nom No automatisable ? Mode Localisation/ affectation

Vrifier_dclaration P1 non Attribuer_no_dossier P2 oui Enregistrer_dossier Dsigner_expert P3 non P4 non

manuel conversationnel conversationnel conversationnel manuel

Htesse Htesse Htesse Chef de service Secrtariat du chef de service

Transmettre_dossier P5 non

Analyse dtaille des procdures


Dcrire : les vnements ou donnes ncessaires au dclenchement de la procdure et les rsultats qu'elle produit les traitements effectus et les actions ralises sur la base : algorithme + algbre relationnel partir du SLD les supports des donnes et des rsultats (formulaire papier, crans de dialogue etc.)

Exemple
SLD Assur(no_ass, nom_ass, adr_ass, tel_ass, no_agence)

Fonction vrifier_dclaration Donnes d : dclaration Dbut Si no_ass = d.no_police(Assur) = {} Alors assur_inconnu Sinon dclaration_ok Fin

Enchanement des procdures : exemple Date au Date au


plus tt J plus tard J Enchanement des procdures
Dclaration vrifiee P2 Attribuer_no_dossier

P3 Enregistrer_dossier Dossier ouvert P4 Dsigner_Expert

J+2

J+3

P5 Transmettre_dossier Dossier expdi

Adaptation des modles logiques


Adapter les schmas logiques (SLD et SLT) dans le but de rduire le cot d'implantation de la base Facteurs prendre en compte :
volume des donnes nombre d'accs la base cot des traitements (suppos ngligeable par rapport au cot des lectures - critures dans la base)

valuation des volumes (1/2)


Taille d'une relation reprsentant un type d'entit :
attribut : nombre de caractres ncessaires sa reprsentation n-uplet : somme des tailles de ses types d'attributs relation : produit du nombre d'occurrences du type d'entit par la taille du n-uplet de la relation

Exemple :
Attribut no_ass nom_ass adr_ass te_ass no_agence Type entier chane chane chane entier Taille 10 30 40 10 10

Si 10000 assurs sont attendus sur une priode de deux ans, l'estimation de la taille de la relation est de 10000(10+30+40+10+10) 1Mo

Evaluation des volumes (2/2)


Taille d'une relation reprsentant un type d'association : suppose connu le nombre moyen d'occurrences des types d'entit associs Exemple :
" Un produit est stock en moyenne dans 3 dpts " taille de la relation stock = taille d'un n-uplet de stock 3
nombre de produits

Optimisation des volumes


Seul type d'optimisation possible : compression des types d'attributs perte de lisibilit et cot supplmentaire d au processus de compression et de dcompression

valuation du cot des traitements


Dpend du type des oprations de base (recherche, insertion, suppression, modification) Processus d'valuation et d'optimisation :
1. valuer le cot de chaque type d'opration (SLD et SLT frquence de chaque opration, objets concerns et actions lmentaires effectuer sur ces objets) 2. identifier les oprations les plus coteuses 3. essayer d'en rduire le cot

Cot de la recherche d'un n-uplet (1/2)


La recherche d'un n-uplet dans un ensemble de n n-uplets cote :
1 accs si un mcanisme d'accs direct existe en moyenne n/2 accs sinon

Cot de la recherche d'un n-uplet (2/2)


Remarques :
cot d'un accs direct < cot d'un accs squentiel crer des index cot d'une recherche dans un ensemble ordonn < cot d'une recherche dans un ensemble non ordonn ordonner les instances cot d'une lecture < cot de plusieurs lectures fusionner des relations, introduire de la redondance ou grouper physiquement des occurrences (clustering)

Cot de l'ajout d'un n-uplet


Insertion :
criture dans la base mise jour ventuelle des index existant sur la relation concerne

Cot :
1 criture si la relation n'est pas ordonne n/2 lectures en moyenne pour la recherche du point d'insertion si la relation est ordonne

Cot de la modification d'un n-uplet


Modification :
recherche dans la base modification en mmoire centrale rcriture dans la base

Cot :
cot d'une recherche cot d'un ajout (ventuellement) cot du maintien d'ordre (ventuellement) cot de mise jour d'index (ventuellement) cot de mise jour de donnes redondantes

Cot de la suppression d'un n-uplet


Suppression :
recherche du tuple supprimer mise--jour ventuelle d'index autres suppressions, dans le cas de donnes redondantes

Cot :
cot d'une recherche (ventuellement) cot de la maintenance des index (ventuellement) cot de la suppression des donnes redondantes

Optimisation des traitements


Index et critres d'ordre Redondance et dnormalisation de relations Ajout de nouveaux types d'attributs Fusion de relations Fragmentation verticale de relations

Rappel sur les index


Index : structure de donnes qui associe une valeur d'un attribut, appel cl de l'index, la ou les adresses des tuples contenant cette valeur Possible pour un attribut non cl de la relation Exemple :
1 1 7 7 12 Espace index 3 5 1 3 7 1 12 7 5 1 Espace donnes

Choix des index et des critres d'ordre


Oprations d'interrogation :
attributs de slection et de jointure

Oprations de mise jour :


attributs de slection pas les attributs modifier car cela entranerait un cot supplmentaire pour la maintenance

Redondance et dnormalisation de relations


Exemple :
Expert(no_exp, nom_exp, ...) Sinistre(no_dossier, ..., no_exp) Si le nom de l'expert est accd chaque rfrence un sinistre Sinistre(no_dossier, ..., no_exp, nom_exp) Viole la 3NF de Sinistre, mais permet de faire l'conomie de l'opration de jointure pour obtenir le nom
Expert charg du dossier

accroissement de l'espace de stockage et de l'activit en mise jour

Ajout de nouveaux types d'attributs


Exemple :
" L'expert dsign pour un dossier de sinistre est celui qui a le moins de dossiers en cours d'instruction " ncessite le parcours de la relation sinistre avec comptage et recherche du no_exp ayant le plus petit nombre de dossiers puis accs la relation Expert pour connatre ses coordonnes Expert(no_exp, nom_exp, ..., nb_dossiers-en_cours)

Attention la cohrence de la base :


incrmenter nb_dossiers-en_cours chaque fois que l'expert est dsign, et dcrmenter quand le dossier est clos

Fusion de relations
cl1 ... cl2 ...
1-1 1-1

E1

E2

RE1(cl1, ...) RE2(cl2, ...) si jointures trs frquentes de RE1 et RE2, fusionner en une seule relation

Fragmentation verticale de relations


Quand une relation comporte un grand nombre d'attributs, dont seul un sous-ensemble est frquemment utilis, on peut la dcomposer en deux relations Exemple :
R(clR, utilis1, utilis2, peu_utilis1, peu_utilis2, peu_utilis3) R1(clR, utilis1, utilis2) R2(clR, peu_utilis1, peu_utilis2, peu_utilis3)

Exemple : cot de l'opration Ouvrir_dossier Pour 10000 dossiers et 20 experts :


P1 Vrifier _dclaration

Recherche de l'assur 10000/2 accs Accs au dernier numro de dossier affect 1 accs Ecriture du nouveau dossier 1 accs Recherche de l'expert 20 / 2 accs Ajout d'un dossier la relation Sinistre 1 accs Total : 5013 accs 50 sinistres par jour 260 jours ouvrs cot annuel de 65.106 accs

P2 Attribuer_no_dossier

P3 Enregistrer_dossier

P4 Dsigner_Expert

P5 Transmettre_dossier

Cot de l'opration Ouvrir_dossier optimise


Si on dcide de :
conserver en mmoire le dernier numro de dossier pendant toute une journe de travail indexer les assurs sur leur numro de police indexer les experts sur le nombre de dossiers en cours avec ordre

Nouveau cot :
260 jours (1 accs au dernier numro de dossier + 50 sinistres (1 pour la recherche de l'assur + 1 pour l'criture du nouveau dossier + 1 pour la recherche de l'expert + 1 pour l'ajout d'un sinistre)) = 52.103 accs / an

S-ar putea să vă placă și