120253807-MERISE
-
Upload
harouna-coulibaly -
Category
Documents
-
view
18 -
download
2
Transcript of 120253807-MERISE
Merise
1
Coté DONNEESMCD - MLD
www.Tellora.fr
Modèle en W
Analyse des besoinssystème
Conception maquette Vérification maquette
Validation maquette
Conception système Validation logiciel
2
Réalisation maquette Conception logiciel
Réalisation logiciel
Vérification logiciel
www.Tellora.fr
Cycle de vie de MERISE
Conception système Vérification système
Analyse des besoinssystème
Validation système
Démonstrationsystème
3
Analyse des besoinsLogiciel
Conception Logiciel
Réalisation
Vérification logiciel
Validation logicielDémonstration
système
www.Tellora.fr
Modèle de Vienne
PILOTAGE QUALITEDEVELOPPEMENT
MODELESTECHNIQUES
ETAPESCYCLE DE VIE
LIVRABLES
4www.Tellora.fr
Les axes de modèlisation
FAIRE
5
ETRESE COMPORTER
www.Tellora.fr
Les niveaux d'abstraction
�Niveau conceptuel�Niveau organisationnel
6
�Niveau organisationnel�Niveau logique�Niveau physique
www.Tellora.fr
Les modèles de Merise
CONCEPTUEL
INTERFACESCOMMU-NICATION DONNEES TRAITEMENT
MCC MCD MCT
7
ORGANISA-TIONNEL
LOGIQUE
MOC MOD MOT
MLD
www.Tellora.fr
MCC
M C D Brut M C T
Messages
Le cycle d'abstraction
Dictionnaire des données
M O D
Objet
de gestion Règles
de traitement
Règles
d'organisation
8
M C D Validé et optimisé
Validation et optimisation
Scénario d'activité
Conception d'interface
MOT
M L D
www.Tellora.fr
Les niveaux de préoccupation
�Niveau Système� Solution dans le domaine de l'information
9
� Solution dans le domaine de l'information
�Niveau logiciel� Solution dans le domaine de l'informatique
www.Tellora.fr
Modèle conceptuel de communication (MCC)
�Définition :� Le MCC détermine le domaine d'étude et ses
échanges avec l'environnement.
�Concepts associés
10
�Concepts associés� Domaine d'étude� Acteurs externes� Domaines connexes� Message
www.Tellora.fr
Modèle Conceptuel de communication
�Définition� Un MCC détermine, par affinage successifs des
activités, la composition du domaine d'étude sans
11
activités, la composition du domaine d'étude sans en décrire le comportement.
�Le MCC se construit par raffinement successif
www.Tellora.fr
Les concepts associés
� Domaine d'étude� Sous ensemble cohérent de l'entreprise ou de l'organisme, bien délimité et
formant le contenu du sujet à étudier
� Activité� Ensemble de traitements homogènes qui transforment ou manipulent des
12
� Ensemble de traitements homogènes qui transforment ou manipulent des données
� Message� Représentation d'un échange d'informations entre deux composants du
système ou entre un composant du système et un système extérieur
� Acteur externe� Source ou destination de données située en dehors du système étudié
www.Tellora.fr
Gammes opératoires
� Objectifs� Partitionner le domaine étudié en activités� Point de passage obligé pour modéliser les traitements� Maitriser la progression vers le détail du système
� Niveau de détail
13
� Niveau de détail� On s'arrête quand l'activité correspond à une opération.
� Démarche� Identifier les flux de données entrant et sortant du domaine� Identifier les activités� Raffiner par conservation ou décomposition
www.Tellora.fr
Exemple de MCCNiveau 0
Assurance
AssuréDéclaration de sinistre
Niveau prise en charge
Règlement sinistre
Garage AgrééFacture
14
Expert
www.Tellora.fr
Exemple de MCCNiveau 1
Assurance
Sinistre
AutoAssuré
Garage Agréé
Déclaration de sinistre
Niveau prise en charge
Facture
Ordre de
15
Compta
Expert
paiement
Paiement
www.Tellora.fr
�Vision Statique du Système d'Information
�Représentation sémantique des
Modèle Conceptuel de Données
16
�Représentation sémantique des données
�Modèle Entité / Relation
www.Tellora.fr
STAGE
Code Stage
Nom de l'entité
Identifiant
Entités
17
Code Stage
Nom Stage
Durée
Identifiant
Informations
www.Tellora.fr
STAGES
Code Stage
Ensemble des Stages
• CO1
• CO2 • LO1
• LO2
Entités et occurrences d'entités
18
Nom Stage
Durée
CO1
CO2
LO1
LO2
Langage Objet
3 jours
occurrences
de Stages
www.Tellora.fr
STAGE
Code Stage
STAGIAIRE
Code Stagiaires Inscrire
Relation"Liens de sens entre entités"
19
Code Stage
Nom Stage
Durée
Code Stagiaires
Nom
Prénom
Entreprise
Inscrire
Un stagiaire est inscrit à un stage
www.Tellora.fr
CO1CO2
LO1
LO2
S1S2
S3
Occurrences de relations
20
LO2
Par construction, une seule association est possible entre
une occurrence de stage et une occurrence de stagiaire.
www.Tellora.fr
Cardinalités
STAGESTAGIAIRE
Inscrire0,N 1,N
minmax
21
La cardinalité exprime le nombre minimal et maximal de participations d'une occurrence d'entité à la relation.
• A une occurrence de Stagiaire peut correspondre de 0 à N occurrence de relations "Inscrire".
• A une occurrence de Stage peut correspondre de 1 à N occurrences de relations "Inscrire".
www.Tellora.fr
CARDINALITES"Elles expriment les règles de gestion"
STAGE Inscrire1,N
A une occurrence de STAGE correspond de 1 à N occurrence de STAGIAIRE
� L'occurrence stage ne peut être créée que s'il y a au moins un inscrit.
� L'inscription du premier stagiaire entraîne la création de l'occurrence de
22
STAGE Inscrire0,N
A une occurrence de STAGE correspond de 0 à N occurrence de STAGIAIRE
� L'occurrence stage peut être créée avant toute inscription.
Stage
www.Tellora.fr
Cardinalités"Elles expriment les règles de gestion"
STAGIAIRE Inscrire1,N
A une occurrence de STAGIAIRE correspond de 1 à N occurrence de STAGE.
� L'occurrence stagiaire ne peut être créé indépendamment de son inscription.
23
STAGIAIRE Inscrire0,N
A une occurrence de STAGIAIRE correspond de 0 à N occurrence de STAGE.
� L'occurrence stagiaire peut être créée indépendamment de son inscription
www.Tellora.fr
Cardinalités"Elles expriment les règles de gestion"
STAGIAIRE Inscrire1,1
A une occurrence de STAGIAIRE correspond 1 et 1 seule occurrence de STAGE.
� On ne peut créer l'occurrence Stagiaire indépendamment de son inscription.
�Le stagiaire ne peut s'inscrire qu'une seule fois.
24
STAGIAIRE Inscrire0,1
A une occurrence de STAGIAIRE correspond de 0 à 1 occurrence de STAGE
� On peut créer l'occurrence Stagiaire indépendamment de son inscription.
�Le stagiaire ne peut s'inscrire qu'une seule fois.
�Il ne peut s'inscrire qu'une seule fois.
www.Tellora.fr
Cardinalités
"Les relations ternaires"
VOITUREEMPRUNTEUR Emprunter0,N 0,N
25
Par construction, la même occurrence d'Emprunteur ne peut emprunter plusieurs fois la même occurrence de Voiture.
� Le couple Id.Emprunteur - Id.Voiture est unique
www.Tellora.fr
Cardinalités
"Les relations ternaires"
VOITUREEMPRUNTEUR Emprunter0,N 0,N
DATE0,N
26
La même occurrence d'Emprunteur ne peut emprunter à plusieurs reprises la même occurrence de Voiture.
La date permet de distinguer chaque occurrence de relation.
� Le triplet Date - Id.Emprunteur - Id.Voiture est unique
www.Tellora.fr
Relation reflexive
PERSONNE
Filiation0,NA pour enfant
A pour parents
27
1,N
A pour parents
www.Tellora.fr
Règles de construction"1ère FN"
PERSONNE
Les propriétés d'une entité ou d'une relation doivent être sous forme atomique.
� Pas de listes, tableaux ...
28
PERSONNE
N° Immat.
Nom patronymique
Prénom usuel
Date de Naissance
Prénoms Enfants
Liste
PERSONNE A pour0,N 1,1
ENFANT
www.Tellora.fr
Règles de construction"3ème FN"
PERSONNE
N° Immat.
Les propriétés d'une entité ou d'une relation doivent être en dépendance directe avec l'indentifiant.
� Pas de transitivité.PERSONNE
N° immat.
29
N° Immat.
Nom patronymique
Prénom usuel
Date de Naissance
Entreprise
Adresse Entreprise
PERSONNE Travaille dans
1,1 0,N
ENTREPRISE
N° immat.
Nom
Prénom Date de Naissance
ENTREPRISE
Entreprise
Adresse Entreprise
www.Tellora.fr
Règles de construction"2ème FN"
Les propriétés d'une relation doivent être en dépendance complète avec
les identifiants des entités reliées.
Achète
30
0,NCLIENT
0,N
TYPE DE VOITUREAchète
Qté, Remise
0,N
DATE
www.Tellora.fr
Règles de construction"2ème FN"
Si la remise pour un client et un type de voiture est toujours la même,
� La remise ne dépend pas de la date
Achète
A pour remiseRemise
0,N 0,N
31
0,NCLIENT
0,N
TYPE DE VOITUREAchète
Qté
0,N
DATE
0,N 0,N
www.Tellora.fr
Démarche de construction
�Etablir le dictionnaire de données.�Repérer les entités.�Attribuer à chaque entité un
identifiant (s'il n'existe pas le créer).
32
identifiant (s'il n'existe pas le créer).�Placer les propriétés dans les entités.�Placer les relations (éventuellement
les propriétés des relations).
www.Tellora.fr
Généralisation-Spécialisation
VEHICULE
Id. Véhicule
Type Véhicule
Type voilure
Hauteur de jauge
Type de pneus
Date d'achat
1,1 0,N
est amarré
FABRICANT
est localisé0,1
0,1
33
Date d'achat
PORT GARAGE0,N 0,N
Une occurrence de Véhicule de type "Bateau" est toujours reliée à une occurrence de type "Port".
Une occurrence de Véhicule de type "Voiture" est toujours reliée à une occurrence de type "Garage".
www.Tellora.fr
VEHICULE
Bateaux à Voile
Généralisation-Spécialisation
34
Bateaux à Moteur
www.Tellora.fr
VEHICULE
N° Immat.
Date d'achat
FABRICANT
PORT
Généralisation-Spécialisation
35
BATEAU
Hauteur de jauge
VOITURE
Type de pneus
Bateau à Voile
Type de voilure
Bateau à Moteur
GARAGE
www.Tellora.fr
Genéralisation/Spécialisation
Propriétés
génériquesRelations
génériques
36
Propriétés
spécifiques
Relations
spécifique
www.Tellora.fr
Contrôle du modèle
�Vérifier que chaque propriété se trouve à un seul endroit du modèle.
�Contrôler chaque entité en vérifiant :
37
�Contrôler chaque entité en vérifiant :� Que chaque entité possède un identifiant.� Que chaque propriété est significative.� La 1ère FN.� La 3ème FN.
www.Tellora.fr
Contrôle du modèle
�Contrôler chaque relation en vérifiant : � Qu'une occurrence de relation ne lie qu'une et une
seule occurrence de chacune des entités reliées.� Que les relations de cardinalités 1,1 ne porte pas
de propriété.
38
de propriété.� La 1ère FN.� La 2ème FN.� La 3ème FN.
�Contrôler que le modèle produit les résultats attendus.
www.Tellora.fr
Contraintes sur les relations ou les pattes
�Contrainte de partition�Contrainte d'exclusion�Contrainte de totalité
39
�Contrainte de totalité�Contrainte d'inclusion�Contrainte d'égalité�Contrainte d'unicité
www.Tellora.fr
Contrainte d'inclusion
Matièresait
enseignerI
O,n
O,n
40
Classe Prof
enseigneI
O,nO,n
O,n
Si enseigne (x:matière, y : professeur)
alors sait enseigner (x:matière, y : prof)
www.Tellora.fr
Contrainte de totalité
Personne Contrat
souscrit
T
1,1O,n
41
Personne Contrat
conductrice 1,nO,n
Toute personne doit être reliée à un contrat d'une façon ou d'une autre
www.Tellora.fr
Contrainte d'exclusion
Personne Cours
élève
X
O,n O,n
42
enseigneO,n
O,n
Si enseigne (x:personne, y :cours)
alors nonélève (x:personne, y : cours)
www.Tellora.fr
Contrainte d'unicité
Matière
enseigne
O,n
43
Classe ProfO,nO,n
Dans une classe, une matière n'est enseignée que par un seul professeur
www.Tellora.fr
Contrainte de stabilité
CommandeArticle ClientLigne (D)
O,nO,n 1,n
Passe (D)
0,n
44
Les relations sont définitives.
Une occurrence ne peut être détruite que si l'entité qu'elle met en jeu est elle même détruite.
www.Tellora.fr
Validation données/traitements
INSCRIPTION
Demande Inscription
MOD Mise à jour
45
AC InscriptionMise à jour
www.Tellora.fr
Exemple de MOD
INSCRIPTION
Demande InscriptionRESP. FORMATION
Nom responsable
Entreprise
Dépendre
1,N
46
AC
STAGIAIRE
Nom Stagiaire
SESSION
Code Session
Dépendre
Inscrire
1,1
1,N 0,N
www.Tellora.fr
Validation données/traitements
Vérifier que chaque information du MCD ou MOD est utilisée dans un traitement :
- un écran
- une impression
- une opération dans un traitement
47
- une opération dans un traitement
- …
Vérifier que les traitements n’utilisent pas des informations oubliées …
www.Tellora.fr
Optimisation fonctionnelle
� Veiller à ce que les opérations ne soient pas coûteuses en temps.
� Réduire le nombre de tables,� Limiter le nombre de jointures,
48
� Introduire des redondances, des compteurs, des états.
� L'optimisation fonctionnelle en contre partie rend :� Les mises à jour plus complexes,� Les évolutions plus difficiles.
www.Tellora.fr
MLD
�Définition� Un Modèle Logique des Données (MLD) est une
représentation des données d'un système devant être mémorisées sur des supports informatiques permanents (fichier, base de données) et des liens
49
permanents (fichier, base de données) et des liens existants entre ces données.
� Il traduit le MOD dans un formalisme compatible avec l'état de l'art, mais encore portable par rapport à des choix techniques précis liés à des famille de SGBD
www.Tellora.fr
Modèle logique de données (MLD)
� Règles de passage du MCD au MLD (x vaut 0 ou 1)� Les entités sont transformées en tables.
� Les identifiants des entités deviennent clé primaires
� Les relations x,N / x,N sont transformées en tables.La primary key est constituée de la concaténation des
50
� La primary key est constituée de la concaténation des identifiants des entités qui concourent à la relation
� Les relations x,1 / x,N deviennent clé étrangères.� L’identifiant coté x,N est migré dans l’entité coté x,1.
� Les relations x,1 / x,1 sont transformées en tables ou deviennent clé étrangères.
� L’identifiant en est déduit en fonction de la solution choisie.
www.Tellora.fr
Exemple de MCD
Vol
No_Vol IVol_Depart DTVol_Arrive DTDestination A20
Modèle Conceptuel de Données
Projet : Tahiti
Modèle : Tahiti
Auteur : Clotilde Attouche Version 22/08/2004
51
1,1
0,n
0,n
0,n
0,1
A pour Patron
1,n
Est Patron de
Employe
ID_Emp INom VA30Salaire N4Emploi VA20
Avion
Id_Avion INom_Avion VA30
Dirige
Est EquipageUtilise
www.Tellora.fr
Génération du MLD
NO_VOL = NO_VOL
VOL
NO_VOL INTEGER not nullVOL_DEPART DATE not nullVOL_ARRIVE DATE nullDESTINATION CHAR(20) not nullID_AVION INTEGER not null
Modèle Physique de Données
Projet : Tahiti
Modèle : Tahiti
Auteur : Clotilde Attouche Version 22/08/2004
52
ID_AVION = ID_AVION
ID_EMP = ID_EMP
ID_EMP = EMP_ID_EMP
EMPLOYE
ID_EMP INTEGER not nullNOM VARCHAR2(30) not nullSALAIRE NUMBER(4) not nullEMPLOI VARCHAR2(20) nullEMP_ID_EMP INTEGER null
AVION
ID_AVION INTEGER not nullNOM_AVION VARCHAR2(30) null
EST_EQUIPAGE
ID_EMP INTEGER not nullNO_VOL INTEGER not null
www.Tellora.fr
Modèle Logique de données Réparti
� Définition� Un Modèle Logique des Données réparti précise
l'implantation logique des données permanentes sur chacune des machines logiques type d'un système (Schéma
53
chacune des machines logiques type d'un système (Schéma d'Architecture Logique des Moyens Informatiques)
� Le MLD Réparti est composé de 2 à N Modèles logiques de données locaux
� Chaque MLD local est propre à une machine logique type.
www.Tellora.fr
Modèle Conceptuel des traitements
� Représente les règles de traitement stable� Ne tient pas compte des contraintes
54
� Ne tient pas compte des contraintes organisationnelles
� Découpage en opérations fondées sur les attentes conceptuelles
www.Tellora.fr
Opération conceptuelle
Nom opération
Message
Synchronisation
Message
55
Règle Emission
Résultat
www.Tellora.fr
Opération conceptuelle
� Définition :� l'opération conceptuelle est déclenchée par un ou plusieurs
événements, fournit un ou plusieurs résultats, met en oeuvre un ensemble de règles conceptuelles formalisées, consulte et/ou met à
56
ensemble de règles conceptuelles formalisées, consulte et/ou met à jour les entités de la mémoire permanente par l'intermédiaire d'actions, laisse les données du SI dans un état cohérent par rapport aux contraintes d'intégrité de la memoire permanente et enfin elle ne peut être interrompue par l'attente d'un événement externe ou temporel
www.Tellora.fr
Exemple de MCT
AssuréDécalration d'accident
Dossier rejeté
Contrôle Dossier
Dossier non OK Dossier OK
57
Dossier ouvertRapport expertFacture garage
Réglement dossier
Toujours
Garage Expert
Réglement
www.Tellora.fr
Processus
�Un processus est constitué d'un enchaînement d'opérations
�Une processus prend en charge message entrant et produit un message résultat.
58
entrant et produit un message résultat.�Le découpage en procéssus est laissé à
l'initiative des concepteurs.
www.Tellora.fr
Le Modèle organisationnel des traitements (MOT)
� Définition� Le modèle organisationnel des traitements (MOT) permet de
représenter le Système d'Information, défini au niveau
59
représenter le Système d'Information, défini au niveau conceptuel, dans le cadre d'une organisation donnée
� L'unité de description est la procédure fonctionnelle
www.Tellora.fr
Opération Organisationnelle
� Définition :� Une opération organisationnelle est un traitement exécuté
entièrement à partir d'un seul type de poste à la fois et d'une seule nature (conversationnelle, automatique, manuelle) et qui laisse la structure organisationnelle des données dans un état stable.
� Concepts associés :
60
� Concepts associés :� Message/ Composant de message� Fonction� Type de site� Type d'acteur� Type de poste
� Même formalisme que l'opération conceptuelle
www.Tellora.fr
Opération organisée
Nom opération
Règles
Nat
ure
trai
tem
ent
Message
61
Nat
ure
trai
tem
ent
Règle Emission
Résultat
www.Tellora.fr
Exemple de MOTGUICHET GESTIONNAIRE
Candidat Demande d'inscription
Contrôle Dossier
R1 - ComplétudeM
Dossier non OK Dossier OK
Dossier rejetéSaisie des dossiers
Dossier accepté
62
Edition AR inscription
D
toujours
AC
Tous les soirs
AR Inscription
www.Tellora.fr
Architecture
63www.Tellora.fr
Base de données
64www.Tellora.fr
DataGuard
65www.Tellora.fr
RAC
66www.Tellora.fr
RAC + DataGuard
67www.Tellora.fr
Algèbre Relationnel
68www.Tellora.fr
Projection
�La projection permet de ne conserver que certains attributs(colonnes) d'une table en éliminant les doublons.
69
éliminant les doublons.�Expression :
� PROJECT (Nom de tables, attribut1, attribut2, etc)
www.Tellora.fr
Restriction
�La restriction d'un fichier permet de ne conserver que les lignes qui satisfont à une condition.
70
une condition.�Expression :
� RESTRICT (Nom de table, condition)� RESTRICT (VENTES, Nom = « Martin »)
www.Tellora.fr
Join
�L'opération de jointure fonctionne sur deux tables possédant au moins un attribut commun. � Il consiste à créer une troisième table dont la
structure est composé de l'ensemble des attributs des deux tables et dont les enregistrements sont
71
des deux tables et dont les enregistrements sont ceux qui satisfont à la condition.
�Expression : � JOIN (R1, R2, Condition)� JOIN (R1,R2, R1.Code client = R2.Code client)
www.Tellora.fr
Difference
�La différence fonctionne entre deux tables de même structure.
�Elle consiste à créer une troisième table de même structure dont les lignes sont
72
celles qui appartiennent à la premiere table diminué de celles appartenant à la seconde.
�Expression : � DIFFERENCE (R1, R2)
www.Tellora.fr
Union
�L'opération d'union fonctionne sur deux tables de même structure.
�Elle consiste à créer une troisième table composée de l'ensemble des lignes des
73
composée de l'ensemble des lignes des deux tables de départ à l'exclusion des doublons (enregistrements identiques)
�Expression :� UNION (R1, R2)
www.Tellora.fr
Intersection
�L'opération d'intersection fonctionne sur deux tables de même structure.
�Elle consiste à créer une troisième table composé de l'ensemble des lignes
74
composé de l'ensemble des lignes appartenant simultanément aux deux tables de départ
�Expression :� INTERSECTION (R1, R2)
www.Tellora.fr