Cours de Merise Mlt Mld

Embed Size (px)

Citation preview

IIICONCEPTION DU SYSTEME INFORMATISE DINFORMATION

Page (1 / 21)

X.

MODELISATION LOGIQUE DES TRAITEMENTS

10.1. IntroductionAprs plusieurs annes de pratique, on a t amen considrer le comment du point de vue du gestionnaire (SIO et MOT) et du point de vue de l'informaticien (SII et le MLT). L'objectif tournera donc autour des moyens informatiques runir pour informatiser les activits prsentes dans la modlisation organisationnelle des traitements (tches, phases) compte tenu Des ressources et contraintes logicielles et matrielles Des principes gnraux d'ergonomie. Il s'agit de la mise en place d'un SGBD, de bases de donnes reparties, d'architectures client serveur, avec la prsentation des interfaces homme machine pour chaque poste de travail ainsi que pour chaque message ou tat.

10.2. Formalisme de modlisation des traitements au niveau logique.Bien que pas diffrent du formalisme des traitements organisationnels, le formalisme au niveau logique utilise les concepts suivants : La machine logique L'vnement / Rsultat Message L'tat L'unit logique de traitement ULT La procdure logique

10.2.1. La machine logiqueUne machine logique type est un ensemble de ressources informatique (matriel et logiciel) capable d'excuter des traitements informatiques de faon autonome. Elle permet d'exprimer la rpartition des traitements informatiss : Elle peut tre : Une machine physique Micro-ordinateur autonome ou en rseau Serveur Mainframe ou mini avec terminaux fictifs Une partie de machine physique Machine virtuelle sur un mainframe. Comme pour les postes du MOT, il faudra reprsenter chaque machine logique dans un tableau.

Page (2 / 21)

10.2.2. L'vnement / Rsultat MessageA l'oppos du SIO o les vnements / rsultats messages reprsentent les changes du systme avec son environnement ou entre les postes de travail, dans le MLT, ils dsignent les changes entre le SIO (les utilisateurs) et le SII. Ils peuvent reprsenter :Des changes entre machines logiques ou units de traitements logiques ULT

-

Le dbut et la fin d'une procdure logique

10.2.3. L'tatLtat (mme modlisation que le SIO) exprime des conditions pralables ou des rsultats conditionnels d'une ULT.Dbut DossierSuspendu

Dossier Echu Mise jour

Et Ractivation dossier

Et Prorogation dossier

Fin

10.2.4. Unit logique de traitement ULTL'unit logique de traitement type est un ensemble de traitements informatiques perus comme homogne en termes de finalits et elle se dfinit aussi par rapport la cohrence des donnes du SII. Une ULT peutUne transaction dans un systme relationnel Une bote de dialogue Une dition Un module dans une chane batch.

Une ULT comprend selon leur nature :Une interface Un traitement Un sous-schma de donnes

Ces lments peuvent se dcomposer en plusieurs fonctions reprsentes graphiquement de la faon suivante :Page (3 / 21)

Prsentation externe des donnes utilises

Cest la partie externe visible de linterface (Ecran avec objets, fentre, tat ou formulaire) Point de contact utilisateur - SII

Logique de dialogue (Rgle de gestion et de contrle) associ la prsentation sur les donnes, sur les valeurs

Accs aux donnes mmorises. Respect de la cohrence et de lintgrit des donnes

Logique gnrale)

fonctionnelle

(Algorithme Rgles de calculs

Les enchanements (Liaison entre les diffrents ULT) - Origines des appels - Liaisons conditionnelles avec dautres ULT

Algorithme suffisant ne ncessitant pas dinteraction avec la prsentation, changeant des donnes avec le sous schma

10.2.5. La procdure logiqueC'est un enchanement d'ULT ralisant l'informatisation d'une tche ou d'une phase du MOT. Elle commence par un appel utilisateur du menu (ou du dbut spcifi) et se termine par le retour au menu d'appel. Au sein d'une procdure logique, les ULT et leur enchanement correspondent la rsolution de l'activit organisationnelle associe.

Page (4 / 21)

Exemple :

Procdure logique contrle situation assurDbut Procdure Contrle situation assur

Ou RECHERCHE ASSURE Saisir nom complet ou partiel Recherche sur nom Slection sur liste Autre Nom Slecti on I A

-

I : Inconnu A : Abandon

Ou RECHERCHE CONTRAT Afficher la liste des contrats -Slection sur liste Autre Slecti NR Assur on A NR : Non Rfrenc O : Ouverture dossier

Ou SITUATION CONTRAT Afficher garanties souscrites situation chance Autre contrat Dtail Garanties NR et

O

A

-

DETAIL DUNE GARANTIE Afficher des seuils d4indemnisation et des conditions dutilisation Retour contrat Non couvert

Fin de procdure

Ou EDITION AVIS DE REJET

Vers Procdure OUVRIR DOSSIER

-

Edition dun courrier circonstanci en fonction du motif du rejet

Avis de rejet

Page (5 / 21)

10.3. Conception des modles traitements (MLT)

logiques

de

La construction d'un modle logique de traitement exige une rflexion, une cration, une invention et ne peut donc dcouler directement et automatiquement des modles du SIO. Pour son laboration plusieurs approches sont possibles.

10.3.1. Trois approches de conception des MLT10.3.1.1. La dcomposition des tches organisationnelles

Les procdures logiques sont labores partir du MOT. Les enchanements et contenus des ULT sont construits pour chaque tche du MOT. (Voir plus haut). La procdure logique apparat comme une dcomposition de la tche. Comme avantages, on peut dire que les ULT sont trs proches des activits formules dans le MOT. L'inconvnient est que pour des ULT identiques, on peut avoir faire de longs dveloppements. 10.3.1.2. Rutilisation des ULT

Il s'agit de rechercher dans le MOT, les tches dont la description soit similaire ou proche et concevoir des ULT utilisable, en commun par diffrentes tches. (Prconiser par le Gnie logiciel). Dans leur utilisation les ULT communes seront amendes pour s'adapter ventuellement chaque tche. L'avantage c'est qu'on crira moins de code, moins de ULT. Comme inconvnients on peut avoir des ULT moins adaptes aux tches, les appels ou enchanements peuvent poser problmes. 10.3.1.3. Conception des ULT autour des donnes.

Il s'agit ici de reprer dans le MOD, des ensembles de donnes perus comme stables par les utilisateurs et se rfrant des objets couramment utiliss dans les activits (Entits externes des vues externes). Si la vue externe comporte plusieurs entits relies par une relation, s'appuyer sur la principales (pivot). A ce sous-schma, on associe une ULT qui permettra d'effectuer les oprations de base (cration, modification, suppression, consultation) Comme avantages, les ULT servent de base pour une approche par rutilisation et peuvent tre directement implments dans des environnements graphiques en dehors d'approches procdurale. Comme inconvnient, on voit que la construction des procdures logiques linitiative des utilisateurs qui doivent matriser les enchanements adquats.

Page (6 / 21)

Exemple :VEHICULE ASSURE Code Nom Adresse1,n

N Immatriculation Type Marque Puissance0,n

Concerner

1,1

CONTRAT N Police Date Bonus1,n

1,1

Couvrir

ComporterClause particulire

0,n

TYPE GARANTIESCode Libell Montant franchise Montant plafond

Le contrat et ses garantiesVEHICULE ASSURE

Concerner

CONTRAT

Couvrir

ComporterClause particulire SINISTRE 1,1

SINISTRENumro sinistre Date ouverture Date survenance Nature sinistre Montant estim

Page (7 / 21)

10.3.2. Modularit des MLT10.3.2.1 ULT et architecture logique d'application

Il s'agit de concevoir des applications respectant la sparation entre interfaces utilisatrices et le noyau de l'application afin de garantir une indpendance du dialogue interactif. On distingue En gnra trois modules savoir Les interfaces graphiques homme / machine Le noyau applicatif Le guidage fonctionnel 10.3.2.2. Dcomposition des ULT par nature

Dans cette dcomposition, les ULT sont dcomposs en ULT lmentaires respectant les rgles suivantes : De nature (Prsentation, dialogue, logique fonctionnelle, accs aux donnes, rgles, enchanement) De machine logique en cas de rpartition. Exemple : Dcomposition de L'ULT Recherche assur en ULT lmentaires.ECRAN SELECTION ASSUREAfficher lcran

SAISIE ECRANChamp Nom saisi ou fonction active Autre Nom Inconnu Abandon Nom saisi

GESTION RECHERCHE NOM- Relancer les recherches successives sur nom en augmentant le champ de calcul jusqu obtenir une liste ou la limite de recherche Chercher OK Nant

REINITIALISATIO N

ANALYSE NOM AFFICHER RESULTATCalcul de nom approchant alphabtiquement ou phontiquement SELECTIONNER SUR LISTE RECHERCHE SUR NOM Rechercher les assurs correspondant au nom calcul

Slectionner

Autre action

ENCHAINEMENTVers les ULT correspondant selon les situations de la procdure Slectionn Inconnu Abandon

Page (8 / 21)

10.4. MLT repartisLa rpartition logique des traitements porte sur les units logiques de traitement associes aux tches du MOT. Grce aux nouvelles technologies de l'information, il est aujourd'hui de plus en plus questions de traitements repartis.

10.4.1. Dmarche de rpartitionPour construire un MLT reparti, il faut adopter la dmarche suivante : Elaborer un MLT non reparti sans tenir compte de la future rpartition Dfinir une architecture matrielle, c'est dire dfinir : La machines logiques et leurs caractristiques techniques Les sites logiques Les ressources d'environnement (Systme dexploitation, logiciel de dveloppement, communication) Repartir les traitements en affectant les diffrents ULT aux machines logiques.

10.4.2. Modalits de rpartitionRepartir des donnes et les traitements, c'est les installer sur des machines logiques. On dispose de trois modalits de rpartition essentielles : Traitements coopratifs : Une ULT primaire est excute sur plusieurs machines logiques. (ULT non dcompos en ULT lmentaires) Donnes identiques sur des machines logiques diffrentes (Accs concourant) Client - Serveur

Page (9 / 21)

10.5. Exemple pratique d'un MLT futurDbut de procdure

Procdure logique vente comptoir

DEMANDE ET DISPONIBILITEMaquette VT 01 Saisir rfrence Consulter quantit en stock Saisir quantit commande Suivant Rempla Facture ant Annuler Stock

REMPLACANTSMaquette VT 02 Liste articles et stock Choix remplaant OK Annuler Remplaants

FACTURATIONMaquette VT 03 Afficher article et quantit demande Indiquer ou rechercher client donneur dordre Indiquer ou rechercher client facturer Calculer prix de vente net et totaux Indiquer le mode de facturation Encaisser si paiement comptant ? Client Enregistrer Annuler

Remise

RECHERCHE CLIENTMaquette VT 04 Recherche client selon critres Nom (Partiel) Ville Tlphone Afficher N Compte et adresse Choix sur liste OK Annuler

Client

ENREGISTREMENTMaquette VT 05 Enregistrer la facture Mettre jour les stocks Imprimer la facture ou lavis de dbit En compte Comptant

Enreg_Fact

Fin Procdure Avis de dbit Facture rgle

Page (10 / 21)

Reprsentation graphique des ULT

.

ULT demande et disponibilit Prsentation de la maquette

ARTICLE DEMANDERfrence : Libell :

QuantitsCommande : Disponible :

Remplaant

Annuler

Suivant

Facture r

Logique du dialogue Saisir la rfrence. Afficher le libell si rfrence existe et quantit en stock ou erreur si inconnue. Saisir quantit demande Logique fonctionnelle Rgle -

si quantit demande > quantit disponible Erreur ou remplaant

Alors

Sous-schmaSTOCK MAGASINRfrence article Code_Magasin Qantit_Stock

ARTICLERfrence article Dsignation

Page (11 / 21)

Enchanement

ConditionSuivant Remplaant

ActionBouton Bouton

RsultatsConserver la quantit demande Effacer les lignes pour ressaisie Si larticle possde des remplaants, appeler lULT avec passage de rfrence article Sinon afficher message Pas de remplaant Appeler lULT facturation avec passage des rfrences et quantits des articles demands Fin de procdure

Facturer Annuler

Bouton Bouton

.

ULT facture (appel par bouton) Prsentation

FACTURATIONClient LivrN : Nom :Adresse

Client FacturN : Nom :Adresse

Enregistrer Annuler

:

:Dsignation article Qt P.U % Total

Mode de paiement

Total Hors taxe : Tva : Total TTC

En compte Comptant

Page (12 / 21)

Logique de dialogue Saisir N ou bouton ? pour le client livr afficher nom et adresse Saisir N ou bouton ? pour le client factur afficher Nom et adresse Si inconnu, afficher message client inconnu Saisir mode de paiement Logique fonctionnelle Afficher les articles et les quantits provenant de l'ULT demande et disponibilit chiffrer la facture selon les rgles. Rgles Dtermination de la remise. Le % de remise est le maximum des % remise client et remise article. % remise appliqu = Max (% remise client, % remise article) Calcul montant total ligne = PU* quantit* (1 -% Remise) Calcul montant total facture = Somme(Total lignes)

Sous-schmaCLIENTN Client Tx_Remise

STOCK_MAGASINRfrence article Code magasin Prix_Magasin

* Enchanement

Condition Action? client Enregistrement Annules Bouton Bouton Bouton

RsultatAppeler l'ULT recherche client Appeler l'ULT Enregistrement et dition avec passage de l'ensemble des informations prsente Fin procdure

Page (13 / 21)

.

ULT Enregistrement et dition Prsentation

Socit X Pices dtachesMagasin de :

FACTUREN : Date :

Client LivrNom :Adresse

Client FacturNom :Adresse

:

:

Dsignation article

Qt

P.U

%

Total

Total Hors taxe : Tva : Total TTC

Paiement :

Logique de dialogue sans objet Logique fonctionnelle Crer la facture Mettre jour la quantit en stock Imprimer selon le formulaire correspondant Retour l'ULT facturation Rgle Dtermination N commande Gnration par le systme d'un numro chronologique. Dtermination du code du dpt, de la date de commande, mise jour stock

Page (14 / 21)

Sous-schmaMAGASIN CLIENTNocli Nom Rue Ville Cp Passer : Facturer tiers : Code_Ma gasin

Concerner :

STOCK_MAGASINRfrence article Code_Magasin Quantit en stock

Cmd_FACTURECode article N Commande Nocli Passer Nocli Tiers Facture Date Cmde Date livraison Mode paiement Etat cmd

Ligne_Cmde_FactureCode_magasin N Cmde Rfrence_Article Quantit livre Montant net

ARTICLERfrence article Dsignation

Enchanement

Condition ActionOK Annuler Bouton Bouton

RsultatAppeler ULT facturation, avec transmission du client slectionn Appeler l'ULT facturation

Page (15 / 21)

XI MODELISATION LOGIQUE DES DONNEES (MLD)

11.1 IntroductionLa modlisation logique des donnes consiste : Transformer le MOD entit / relation en MLD exprim dans un formalisme logique adapt au SGBD envisag Quantifier en volume, le MLD Valoriser l'activit gnre par les modles externes associs aux traitements Une optimisation gnrale Deux formalismes thoriques de base de donnes existent pour la reprsentation du MLD : le modle navigationnel ou CODASYL et le modle relationnel ou SGBD relationnel. Ce dernier, parce qu'utilis par presque tous les systmes sur le march sera utilis. SIOConceptuel / Organisationnel

MCD

MOD Transformation Formalisme MLD Quantification Volume SIILogique / PhysiqueMLD Valoris

MOT

Valorisation Activit

OPTIMISATIONMLDOptimis

Contraintes Techniques

MPDSchma Base de donnes

11.2. Modle logique de donnes relationnelLe modle relationnel prsente deux aspects fondamentaux : La conception des tables relationnelles et la dtermination de l'algbre relationnel permettant la manipulation des tables.Page (16 / 21)

11.2.1. Concepts de base d'un modle relationnel11.2.1.1. Concepts structuraux Le concept relationnel s'appuie sur trois concepts structuraux qui sont la relation, l'attribut et le domaine. La relation, peut tre dfinie grossirement comme un tableau de donnes. Au lieu de relation, on utilisera le mot table. Les colonnes de cette table sont appeles attributs. Le domaine d'une colonne correspondant aux types de valeurs (entier, rel, boolen, caractres ou type construits (couleurs, Nom, Date, etc.)). La cardinalit d'une table dfinit le nombre de lignes de la table Le degr d'une table dfinit le nombre d'attributs ou de colonnes de la table. Le schma d'une table est constitu du nom de la table suivi de la liste des attributs avec leurs domaines de valeurs. Exemple : Pice (N : entier nom : car (10); couleur : couleur; Poids : rel; ville : car (10)) L'extension d'une table , c'est l'ensemble de lignes ou tuples (ou occurrences), dfinies par les valeurs prises par les attributs. N P1 P2 P3 P4 Nom Ecrou Bouton Vis Vis Couleur Rouge Vert Bleu Rouge Poids 14 17 12 14 Ville Dukou Oum Guiglo Man

-

Pice

Cardinalit de la pice = 4. degr = 5 Une base de donnes relationnelle est un ensemble de tables 11.2.1.2. Les contraintes d'intgrit

Une contrainte d'intgrit est une assertion qui doit tre vrifie par les valeurs d'attributs constituant une base de donnes. Les deux principales sont : La contrainte d'unicit de valeurs La contrainte rfrentielle permettant de relier deux tables. * Contrainte d'unicit de valeur, cl primaire d'une table. Les valeurs prises par un attribut ou une composition d'attributs d'une table peuvent tre dclares uniques pour toute extension de cette table. Ces attributs permettent d'identifier de faon unique, chaque tuple : on parle alors de cl primaire simple (un seul attribut) ou compos (plusieurs attributs). Pice (N pice, Nom, dpt) : cl primaire = N pice.) * Contraintes rfrentielles C'est un lien smantique entre deux tables ralis par la duplication de la cl primaire d'une table dans une autre. FOURNIT (N fournisseur, N pice, dlai)Page (17 / 21)

11.2.1.3.

Conception du schma relationnel

En principe, lorsque les tables sont drives du MOD, elles sont dj de bonnes tables. Lorsque le schma droul d'une autre approche, il faudra corriger les ventuelles redondances et possibilits de valeurs nulles.

11.2.2. Elments d'algbre relationnelleLes lments d'algbre sont un ensemble de sept (7) oprations qui permettent des manipulations ensemblistes sur les tables sans faire appel un cheminement prcis. Ce sont : La slection ou restriction, une opration unaire qui consiste slectionner un ensemble de triples selon un critre de slection pouvant porter sur un ou plusieurs attributs. La table rsultante la mme degr et les mmes colonnes que la table initiale. La projection, une opration un aire qui consiste : Ne retenir que certains attributs de la table Eliminer les occurrences identiques. La table forme a sa structure La jointure, opration qui permet d'obtenir une nouvelle table par la composition de deux ou plusieurs tables. Elle consiste : Faire le produit cartsien de deux tables, c'est dire concatner chacune des lignes de la 1re table avec chacune des lignes de la deuxime table. Effectuer une opration de slection ou qualification. Gnralement une galit entre un attribut de la premire table et un attribut de la seconde (appel attribut de jointure. Exemple : Client (N client, nom) Commande (N commande, nclient , date) Jointure : N client = Commande. Nclient Effectuer une opration de projection pour rduire le schma de la table rsultante.

-

-

La division, une opration binaire dont le quotient d'une table R par une table S est constitu des lments de R n'appartenant pas S. L'union, l'intersection et la diffrence, sont des oprations binaires correspondant aux oprations de la thorie des ensembles. Elles s'appliquent sur des tables de mme schma.

-

11.2.3. Processus de normalisationLa normalisation est un processus de dcomposition qui dcoule des dpendances fonctionnelles des attributs d'une table. Codd a propos 3 formes normales (1re , 2me et 3me forme normale) complte par la 4me, la 5me et la forme de Boyce Codd.

Page (18 / 21)

11.2.3.1.

Notion de dpendance fonctionnelle.

Un attribut B d'une table R est fonctionnellement dpendant d'un attribut de R si tout instant, chaque valeur de A n'a qu'une valeur associe de B. On note A B Les dpendances fonctionnelles sont : Rflexive A B Transitive A B et B C alors A C Une cl primaire d'une table est un attribut tel que tous les attributs (non cl) de la table sont en dpendance fonctionnelle avec la cl primaire. (cl unique ou compose) 11.2.3.2. Premire forme normale (1NF)

Une table est en premire forme normale si elle possde une cl et si la table ainsi obtenue ne prsente ni de tuples rptitifs, ni d'attributs nuls. 11.2.3.3. Deuxime forme normale (2NF)

Une table en 2me forme normale exige qu'elle soit d'abord en 1re forme normale. Les attributs non cl (cl compose) primaire dpendent de la cl primaire.

Exemple : Table Article Commande Article - CommandeN Commande N Article Dsignation Quantit commande

Dsignation ne dpend pas de la cl N Commande, N Article, mais de N Article, une partie de la cl. D'o les deux tables. Ligne - CommandeN Commande N Article Quantit commande

ArticleN Article Dsignation

11.2.3.4.

Troisime forme normale (3NF)

Une table en 3me forme normale exige qu'elle soit en 2me forme normale. La 3NF limine les dpendances transitives. L'attribut de transitivit devient la cl d'une autre table.

Exemple

Commande (N, date, Numcli, Nom) Commande (N, date, Numcli) Client (Numcli, Nom)

Page (19 / 21)

11.2.3.5.

Forme normale de Boyce Codd (BCNF)

Une forme normale en BCNF permet d'viter les redondances dues l'existence de dpendances fonctionnelles autres que celles de la cl vers des attributs non-cl.

Exemple :Reg1 : Reg2 : Reg3 : Un employ exerce un certain nombre d'heures par projet Une employ peut tre affect un certains nombre de projets Chaque projet est excut dans une unit de fabrication.

AFFECTERN Employ N Projet Nb Heures Unit - Fabrication

Affecter N Employ Unit - fab Nb Heures

Unit - FabUnit-Fab N Projet

11.2.4. Notion de vues relationnellesUne vue est une table virtuelle pouvant tre compose d'une ou plusieurs tables obtenues par intgration (requtes) mettant en uvre les oprations d'algbre relationnelle. Le langage normalis SQL est utilis.

11.2.5. Formalisme graphique du modle relationnel.Plusieurs formalisations des modles logiques existent. 11.2.5.1. Table, attributs et cl primaire EMPLOYEMatricule Nom Age Adresse Cl primaire Attributs

11.2.5.2.

Contraintes d'intgrit

Il y a une CIR (Contrainte d'intgrit Rfrentielle) entre deux tables A et B lorsqu une valeur de la cl primaire A ne correspond quune seule valeur de la cl primaire de B et qu' la cl primaire de B corresponde plusieurs valeurs de la cl de A.

Page (20 / 21)

EMPLOYEMatricule Code-Dpart Nom Age Adresse

DEPARTEMENTCode Nom Effectif

Pour employ :

Matricule = cl Primaire Code-dpart = cl trangre

Pour une question de clart, la cl primaire sera en gras soulign et la cl trangre en gras.

Schma relationnelEMPLOYE (Matricule, Code-Dpart, Nom, Age, Adresse) Dpartement (Code, Nom effectif) 11.2.53. Cl primaire compose rfrentielle

ExempleTACHENumro Num-Projet Dure

PROJETNumro Budget

Schma relationnelTche (Numro, Num-Projet, Dure) Projet (Numro Budget)

11.2.6. Rgles de transformation du formalisme Entit-Relation en formalisme relationnelBien qu'il soit possible de construire un modle relationnel partir de plusieurs approches, lapproche MOD/MCD MCD est mieux adapte. Le MLD qui en dcoule est dj en 2 me forme normale, mais pas ncessairement en 3 me NF (On ne s'est pas trop proccup des redondances minimales)

Page (21 / 21)