La démarche MERISE Le Modèle Conceptuel des Données
MCD
1. Notion de modèle La modélisation, c'est-à-dire l'élaboration d'un modèle, est (plus ou moins explicitement)
à
pour
une représentation, par exemple un système
but
de
définir
la
base
de
toute
simulation.
Elle a
d’équations dont on peut tirer les différentes relations entre variables caractéristiques du processus étudié. Il peut être exprimé à l'aide de concepts différents (fonctions mathématiques,
langage
naturel, langage formel) et admettre une
représentation graphique.
1.1 Modéliser, c est simplifier pour communiquer
Le modèle est une représentation de la réalité. 1.1.1 Le modèle, outil de représentation Un bon modèle doit permettre de faciliter la compréhension du système étudié, car il en réduit la complexité. Il doit aussi permettre
de
le
simuler,
c'est
à
dire
de reproduire ses
comportements. Par exemple, en construction, les modèles permettent de dimensionner les éléments à utiliser pour éviter qu'un ouvrage ne s'écroule à cause d'un vent trop fort.
Un bon modèle : représente les éléments pertinents du système étudié reproduit ses comportements permet de simuler son fonctionnement 1.1.2 Le modèle, outil de communication Les diagrammes de modélisation sont des instruments de communication. Communiquer autour d un modèle pour évaluer et comparer des solutions, c est avant tout « reconnaître » la réalité perçue. Or, si un modèle est « reconnu », c est avant tout parce qu il était « connu ». Voici un exemple :
Figure 1 : un modèle "grossier" mais identifiable : la Bretagne ce schéma qui représent la Bretagne, n’est pas une réussite sur le plan graphique. Cependant, chacun l’a reconnu !
Figure 2: la réalité correspondant au modèle précédent
Or ce n est pas obligatoirement le cas du schéma suivant !
Figure 3: Un autre modèle grossier et moins identifiable!
Que conclure de cette petite démonstration ? Un modèle est « reconnu » parce qu’ il était « connu » ! C’est là que se situe toute la puissance des modèles graphiques. Ils permettent d établir une communication immédiate entre l’ analyste et le client.
2. Le modèle Entité-Association On ne modélise bien que ce que l’ on connaît bien. La maîtrise d’un outil de modélisation ne permet pas de compenser un manque de connaissance du problème étudié. En revanche, un bon modèle permet un échange entre les acteurs du système d’information débouchant sur une meilleure compréhension du SI.
Le formalisme utilisé doit avoir des qualités contradictoires : être suffisamment précis pour être utilisable par des spécialistes de l analyse informatique, être suffisamment accessible pour permettre un dialogue avec les utilisateurs. Il faut toujours avoir présent à l esprit que : modéliser est réducteur l outil de modélisation, comme tout langage, a ses limites tout modèle doit être validé sur le plan formel et sur celui de l utilisation
Il existe deux approches pour appréhender la réalité d une organisation : s intéresser au niveau le plus élémentaire des données du réel perçu :nom d un client, quantité d un produit, adresse de livraison .... puis agréger ces données élémentaires pour mettre en évidence les différents éléments du système d information. identifier à priori les éléments qui participent à la gestion en se plaçant à un niveau plus global, puis compléter leur description. La plupart du temps, les deux démarches sont menées conjointement.
2.1 Présentation intuitive d un exemple : MODELE ENTITE/RELATION. Avant de définir le modèle, nous allons présenter un exemple afin de mettre en évidence les principaux concepts : Le syndicat d initiative d une ville organise une série de concerts. Afin de gérer au mieux ces manifestations, le responsable demande à un spécialiste des systèmes d information de modéliser cette situation.
Celui-ci propose comme base de discussion le schéma suivant :
Figure 4: Premier schéma de représentation des concerts Au cours de la réunion, l analyste commente ce schéma en apportant les précisions suivantes afin qu elles soient confirmées ou infirmées par les organisateurs : Un concert peut se décrire de la façon suivante : c est une exécution ou un ensemble d exécutions d oeuvres dans une salle par un orchestre. chaque salle de concert a un nom qui permet de l identifier. Elle est également caractérisée par une capacité d accueil en nombre de places et un coût de location. chaque orchestre possède un nom de formation, un nom de chef d orchestre qui lui est attaché, un coût de prestation. les oeuvres sont identifiées par un titre, un nom de compositeur, un montant de droits d auteur. La mise en commun (totale ou partielle) de ces éléments est indispensable à l exécution, donc à la réalisation d un concert. De plus, à cette mise en commun, s ajoutent des informations supplémentaires qui caractérisent l exécution elle-même : la date d exécution la durée l heure de début le prix des places le nombre de participants dans le public
On distingue deux catégories d’ éléments : les éléments figurant dans des rectangles un élément figurant dans un rectangle aux bords arrondis
La présence de deux formes graphiques différentes exprime que l on a affaire à des éléments qui n appartiennent pas à la même catégorie : SALLE, ORCHESTRE, UVRE sont des éléments qui ont une existence propre et indépendante de l organisation des concerts dans cette ville là, à ce moment là. La salle peut être utilisée à un autre moment, dans d autres circonstances pour des manifestations d une autre nature. L orchestre et le soliste ont eu des activités avant cette série de concerts et poursuivront leur carrière après. Enfin, l uvre exécutée existait avant ce concert et sera à nouveau interprétée ou enregistrée après ce concert particulier. EXECUTE correspond à la mise en commun, à un moment donné, dans des circonstances précises de tous les éléments que nous avons énumérés plus haut. En cela, cet élément n a pas d existence propre, autonome en dehors des circonstances et des participants cités. On constate donc que deux types d éléments participent à la modélisation. On nomme les premiers (salle, orchestre, soliste, uvre) ENTITES, et le second (exécution) ASSOCIATION. Le schéma de la figure décrit la situation de façon générique. Il représente n importe lequel des concerts organisés dans le cadre de ce festival. En revanche, un concert particulier correspondra à la figure suivante :
Figure 5:Une réalisation du modèle précédent
2.2 Définition du modèle Les quatre concepts fondamentaux du Modèle Entité-Association sont les suivants : Entité Association Propriété Cardinalité 2.2.1 L entité L ENTITE est un élément concret ou abstrait qui a une existence propre et sur lequel nous souhaitons enregistrer des informations qui lui sont spécifiques. En général, l entité est exprimée par un substantif(nom). NOM DE L ENTITE
Figure 6:Formalisme de représentation d'une entité L entité est représentée par un rectangle. Son nom figure dans le bandeau supérieur. Comme nous le verrons plus loin, une entité n est totalement définie que lorsqu elle possède la liste de toutes les propriétés qui la caractérisent, avec parmi celles-ci, son identifiant.
Figure 7: Une entité "théorique" et ses propriétés
Une entité peut être considérée comme une structure permettant de stocker des données. On parle alors d occurrences de l entité. Voici par exemple une entité « client » :
Figure 8: Une entité "Client" Et voici des occurrences de cette entité :
Figure 9: Des occurrences de l'entité "Client" 2.2.2 L association Une ASSOCIATION est un regroupement nécessaire de deux ou plusieurs entités. Elle n a pas d existence propre. En général, l association est exprimée par un verbe. Formalisme : NOM DE L ASSOCIATION
Figure 10: Formalisme de représentation d'une association
L association est représentée soit sous la forme d un ovale soit sous la forme d un rectangle aux bords arrondis. Son nom figure dans le bandeau supérieur. Elle peut posséder des propriétés qui sont alors énumérées dans la partie principale. On ne peut pas représenter une association sans les entités qui lui sont liées. Voici quelques exemples d associations permettant d exprimer certaines des caractéristiques attachées à ce concept. Une association est reliée aux entités constitutives de la relation par des segments. Le nombre de segments constitue la dimension de l association. Une association entre deux entités est dite « binaire », entre trois « ternaire », au delà on parle d association « n_aire ».
Livre
écrit par
Auteur
Figure 11: Une association de dimension 2
Figure 12: Une association de dimension 3
Personne est mariée
Figure 13: Une association réflexive
11 Appartient
Equipe
Joueur
Est capitaine
Figure 14: Deux associations reliant deux entités 2.2.3 Les propriétés Une propriété est une donnée élémentaire d une ENTITE ou d une ASSOCIATION que l analyse a conduit à répertorier au niveau de la réalité perçue et qui prendra des valeurs précises pour chaque occurrence. Le nom de chaque propriété est inscrit dans le cadre principal de l entité ou de l association. Chaque occurrence d une entité doit pouvoir être repérée sans ambiguïté afin de la distinguer de toutes les autres. Pour cela, une ou plusieurs propriétés jouent le rôle de discriminant. L identifiant d une entité est une propriété ou un ensemble de propriétés qui permet de repérer une occurrence. On représente l identifiant d une entité en soulignant la (ou les) propriété et en la faisant figurer en tête de la liste. On parle aussi de Clé.
Figure 15: Propriétés des Entités et des Associations
Remarque : Il n est pas rare qu une propriété ou un ensemble de propriétés ne constituent pas un identifiant discriminant d une entité. Dans ce cas, on est amené à « créer » un identifiant artificiel sans signification particulière (Numéro enseignant, Code Produit). Pour les associations, elles ont également un identifiant qui permet de les repérer de façon unique, mais celui-ci est implicite et ne figure pas dans le formalisme graphique. Plus loin dans ce cours, nous présenterons les règles de passage du Modèle Entité-Association vers le Modèle Relationnel. A cette occasion, les principes de construction des identifiants d associations seront détaillés. 2.2.4 Les cardinalités Produit
Dépôt Stocker
No Produit Libellé Prix Unitaire
No Dépôt Adresse Capacité
Figure 16: Produits Stockés dans des Dépôts Le Modèle présenté figure ci-dessus exprime que des Occurrences de l Entité PRODUIT et de l entité DEPOT sont reliées (ou non) à des occurrences de l association STOCKER. Par exemple les deux schémas ci-dessous expriment : le produit 23 est stocké dans le dépôt 56 le produit 36 n est pas stocké.
PRODUIT
DEPOT STOCKER
23
56
Bureau
ZI Nantes
1200
1500
PRODUIT 36
DEPOT STOCKER
Chaise 560
Figure 17: Occurrences de Produits par rapport à l'action de Stocker On peut exprimer ces situations différentes en valorisant les liaisons entre les entités et les associations en terme d occurrences minimum et maximum. Ainsi, pour
Une occurrence d’entité on recherche combien d’occurrences de l’ association avec une autre entité peuvent exister. 2.2.4.1 Définition La cardinalité d une entité par rapport à une association s exprime par deux nombres appelés cardinalité minimum et cardinalité maximum. La cardinalité minimale peut être égale à 0 ou à 1. Si la cardinalité est égale à 0, c est qu il existe au moins une occurrence de l entité qui ne participe pas aux occurrences de l association. Si la cardinalité est égale à 1, chaque occurrence de l entité participe aux occurrences de l association. La cardinalité maximale. Elle exprime le nombre maximum de fois où une occurrence de l entité participe aux occurrences de l association. On la note égale à n, elle peut être fortuitement égale à 1.
Patte
Cardinalité minimale
Cardinalité
maximale
Figure 18: Représentation graphique des cardinalités Suite de l exemple précédent (stocker des produits dans des dépôts):
« Une entreprise gère des produits qui peuvent ne pas être stockés (articles vendus uniquement sur commande) ou qui peuvent être stockés dans des dépôts spécifiques (un produit ne se trouve que dans un seul dépôt) . Cette entreprise a des dépôts qui contiennent au moins un produit, en général plusieurs »
Figure 19: Expression des Mini et Maxi par les cardinalités un produit peut ne pas être stocké, c est à dire qu il peut exister une occurrence de PRODUIT sans occurrence de STOCKER (cardinalité minimum = 0) lorsqu un PRODUIT est stocké, il ne peut être stocké que dans un seul DEPOT, c est à dire que pour une occurrence de PRODUIT, il ne peut exister qu une occurrence de STOCKER (cardinalité maximum = 1) un DEPOT a en stock au moins un PRODUIT, c est à dire que pour une occurrence de DEPOT, il existe au moins une occurrence de STOCKER (cardinalité minimum = 1) un DEPOT peut stocker plusieurs PRODUITS, c est à dire que pour une occurrence de DEPOT, il peut exister plusieurs occurrences de STOCKER (cardinalité maximum = n)
2.2.4.2 Représentation ensembliste des cardinalités Tous à tous :
E1
E2
A 1,n
1,n
Tous à quelques uns :
E1
E2
A 0,n
1,n
Quelques uns à quelques uns :
E1
E2
A 0,n
0,n
Quelques uns à tous :
E1
E2
A 1,n
0,n
Un à tous :
E1
E2
A 1,1
1,n
Aucun ou un à tous :
E1
E2
A 1,n
0,1
Figure 20: Les cardinalités exprimées sous forme ensembliste 2.3 Sémantique des cardinalités minimales Une cardinalité minimale égale à 1 lie l'existence d'une occurrence de l'entité à sa participation à l'association. Elle n exprime pas ce qui peut se produire à un moment donné, ou ce qui est susceptible de se produire dans l avenir. Toute notion liée à l écoulement du temps doit être absente d un MCD.
Cl i ent No Cl i ent Nom Adresse Code postal Com m une
Com m ande
Passe 1,n
1,1
No Com m ande Date Com m ande
Figure 21: Entité « Client » liée à l association « Passe » Sur le plan sémantique, cela signifie que pour une occurrence de « client » il existe une occurrence de « passe ». Les clients ont vocation à passer des commandes. Une cardinalité minimale égale à 0 rend indépendante l'existence d'une occurrence de l'entité de sa participation à l'association. Si pour une occurrence de « client » on ne trouve aucune occurrence de « passe », cela signifie qu il existe des clients qui ne passent pas de commande, et qu il s agit là d une règle de gestion ! Donc, il est nécessaire de revoir la sémantique de l entité pour préciser que ce ne sont pas des clients, mais des clients/prospects.