Blog ENI : Toute la veille numérique !
🚀 Tous nos livres, vidéos et articles en illimité ! :
Découvrez nos abonnements. Cliquez ici
🚀 Tous nos livres, vidéos et articles en illimité ! :
Découvrez nos abonnements. Cliquez ici
  1. Livres et vidéos
  2. Merise
  3. Étude de cas détaillée
Extrait - Merise Guide pratique (4e édition) - (modélisation des données et des traitements, manipulations avec le langage SQL, conception d’une application mobile Android ou iOS)
Extraits du livre
Merise Guide pratique (4e édition) - (modélisation des données et des traitements, manipulations avec le langage SQL, conception d’une application mobile Android ou iOS) Revenir à la page d'achat du livre

Étude de cas détaillée

Étude des besoins

Il est demandé de modéliser le système d’information nécessaire à la gestion de la cave coopérative des vignerons de Terrats, en vue d’une informatisation. Dans ce but, la chef de projet, Mme Jeanne Alize, a interviewé la directrice de la cave coopérative, Mme Carry Ghnan. Voici un extrait de leurs échanges :

Bonjour, madame Ghnan. Pour pouvoir faire une analyse correcte de vos futurs besoins, il me faudrait quelques renseignements concernant votre activité.

Bien sûr, par quoi voulez-vous que je débute ?

Pouvez-vous me décrire votre activité ?

Tout d’abord, je vais vous expliquer notre histoire récente, cela va vous aider. Depuis très longtemps, chaque commune disposait d’une cave coopérative où chaque viticulteur habitant la commune portait sa production. La cave était responsable de sa production et prenait des options commerciales et qualitatives qui étaient décidées par les vignerons coopérateurs.

Si j’ai bien compris, dans toutes les communes, il y avait des caves coopératives qui décidaient de la typicité de leurs productions et qui se chargeaient d’en faire la promotion, c’est ça ?

Exactement, mais le nombre de viticulteurs baissant depuis des années, certaines coopératives eurent l’idée de se regrouper. Ce fut le cas des caves de Thuir, Terrats et Fourques. Ce regroupement a comme avantage de mutualiser les ressources, de réduire les frais de gestion, de communication, de promotion, etc.

Et bien sûr, nous restons dans un terroir possédant des appellations d’origine contrôlée comme les Côtes du Roussillon rouge, blanc, rosé, le Muscat de Rivesaltes et le Rivesaltes.

Le fait de fédérer les caves coopératives a donc dû entraîner des modifications importantes pour les viticulteurs ?

Effectivement, il a fallu revoir toute la stratégie de communication en recréant une marque commerciale unique. Ensuite, nous avons décidé d’implanter un lieu de vente à côté des anciennes caves coopératives. Le travail au sein des caves a été repensé. Celle de Terrats collecte les raisins et élève les vins, celle de Fourques stocke dans ses cuves les gros volumes vendus à la citerne, enfin celle de Thuir conditionne et stocke les Bag in Box. Nous avons aussi dû intégrer les employés des différentes coopératives.

L’intégration des employés au sein d’une même entité commerciale n’a pas été trop dure ?

Non ! Les employés ont des qualifications reconnues (maître de chai, technicien qualité, chef d’équipe, commercial). Nous avons ainsi pu créer des équipes très complémentaires et efficaces.

Si je comprends bien, tous vos employés ont des qualifications bien particulières et certains d’entre eux en dirigent d’autres.

Oui, c’est exactement ça. En plus, certains employés exercent soit dans une cave, soit dans plusieurs, selon les jours et leurs tâches. Nous aimerions donc, à des fins statistiques, avoir un suivi mensuel de leurs affectations.

Tout est clair. Parlez-moi maintenant du travail des viticulteurs.

Les viticulteurs exploitent des parcelles de terre sur lesquelles ils cultivent des vignes. Ces vignes correspondent à certains cépages. Par exemple, ils peuvent planter des cépages de carignan, grenache noir, syrah, mourvèdre, muscat… Les prix de vente à la coopérative sont bien sûr différents selon le cépage.

Lors des vendanges, les viticulteurs nous portent le raisin correspondant à une parcelle, nous vérifions la qualité...

Analyse des besoins

Lors de la lecture de l’interview, il faut s’attacher à repérer les propriétés et à déterminer les entités. Certains conseillent de traiter les entités après avoir collecté les propriétés. En fait, rien n’empêche de mixer les deux ; c’est ce que nous allons faire.

Nous allons procéder pas à pas. Les premiers échanges nous expliquent le contexte. Les informations glanées sont diffuses. Cela devient prégnant dans ce passage :

« Effectivement, il a fallu revoir toute la stratégie de communication en recréant une marque commerciale unique. Ensuite, nous avons décidé d’implanter un lieu de vente à côté des anciennes caves coopératives. Le travail au sein des caves a été repensé. Celle de Terrats collecte les raisins et élève les vins, celle de Fourques stocke dans ses cuves les gros volumes vendus à la citerne, enfin celle de Thuir conditionne et stocke les Bag in Box. Nous avons aussi dû intégrer les employés des différentes coopératives. »

La lecture de cette phrase nous apprend qu’il va falloir gérer plusieurs points de vente, plusieurs caves coopératives et plusieurs employés.

Il est nécessaire de créer deux entités. Voici le dictionnaire simplifié :

Entité Cave Coopérative :

Nom de la donnée

Format

Longueur

Type

Règle de calcul

E

C

Code de la cave

Dénomination de la cave

Adresse de la cave

Code postal

Ville

Téléphone

Fax

Mail

Alphanumérique

Alphabétique

Alphanumérique

Alphanumérique

Alphanumérique

Alphanumérique

Alphanumérique

Alphanumérique

15

30

40

5

40

15

15

30

X

X

X

X

X

X

X

X

 

 

L’entité Cave Coopérative comporte une propriété Code de la cave qui est un identifiant. Cet identifiant est nécessaire car il y a trois caves à gérer. Les autres propriétés sont déduites. Dans la vie réelle, il ne faut pas hésiter à ajouter des propriétés qui semblent indispensables même si elles ne sont pas explicitement citées. En effet, souvent les personnes qui travaillent tous les jours depuis très longtemps dans une entreprise oublient de parler des détails qui composent leur quotidien. Pour elles, ces détails-là font tellement partie de leurs activités journalières qu’ils deviennent insignifiants. Pour le prestataire de services, ne pas les intégrer est fatal, car il lui faudra le faire par la suite en risquant des effets de bord (les effets de bord, c’est le fait de casser un peu plus loin lorsque vous réparez à un endroit !).

Qui peut le plus peut le moins !

Il vaut mieux trop en mettre, quitte à supprimer par la suite, plutôt que ne pas en mettre assez et devoir ajouter des champs, modifier des structures de fichiers, etc.

Entité Points de vente :

Nom de la donnée

Format

Longueur

Type

Règle de calcul

E

C

Code point de vente

Nom de l’enseigne

Adresse

Code postal

Ville

Téléphone

Fax

Mail

Alphanumérique

Alphabétique

Alphanumérique

Alphanumérique

Alphanumérique

Alphanumérique

Alphanumérique

Alphanumérique

15

30

40

5

40

15

15

30

X

X

X

X

X

X

X

X

 

 

Entité Employés :

Nom de la donnée

Format

Longueur

Type

Règle de calcul

E

C

Code employé

Nom

Prénom

Adresse

Code postal

Ville

Téléphone

Fax

Mail

Embauché le

Type de contrat

Taux horaire brut

Alphanumérique

Alphabétique

Alphabétique

Alphanumérique

Alphanumérique

Alphanumérique

Alphanumérique

Alphanumérique

Alphanumérique

Date

Alphanumérique

Numérique

15

30

30

40

5

40

15

15

30

10

30

X

X

X

X

X

X

X

X

X

X

X

X

 

 

Pour l’entité Employés, il est judicieux d’ajouter la propriété Embauché le : si jamais les caves coopératives décident de donner des primes d’ancienneté, le calcul sera plus aisé et c’est une donnée importante qui caractérise un employé. 

La propriété Type de contrat permet de savoir si la personne est en CDD ou CDI ou autre.

La propriété Taux horaire brut est utile pour divers calculs liés à la paye. Poursuivons la lecture des échanges :

« Les employés ont des qualifications reconnues (maître de chai, technicien qualité, chef d’équipe, commercial). Nous avons ainsi pu créer des équipes très complémentaires et efficaces.

Si je comprends bien, tous vos employés ont des qualifications bien particulières et certains d’entre eux en dirigent d’autres.

Oui, c’est exactement ça. »

Nous savons maintenant que les employés possèdent des qualifications et que certains en dirigent d’autres. Nous pouvons déterminer une nouvelle entité.

Entité Qualifications :

Nom de la donnée

Format

Longueur

Type

Règle de calcul

E

C

Code qualification

Désignation

Alphanumérique

Alphabétique

15

30

X

X

 

 

Pour modéliser le fait que certains employés en dirigent d’autres, nous créerons une relation réflexive sur l’entité Employés lors de la modélisation.

Continuons la lecture :

« En plus, certains employés exercent soit dans une cave, soit dans plusieurs, selon les jours et leurs tâches. Nous aimerions donc, à des fins statistiques, avoir un suivi mensuel de leurs affectations. »

Ici, nous ne découvrons pas de nouvelles entités, mais une règle de gestion que nous appliquerons à la création du modèle conceptuel des données.

« Les viticulteurs exploitent des parcelles de terre sur lesquelles ils cultivent des vignes. Ces vignes correspondent à certains cépages. Par exemple, ils peuvent planter des cépages de carignan, grenache noir, syrah, mourvèdre, muscat… Les prix de vente à la coopérative sont bien sûr différents selon le cépage. »

De cela, nous retenons que les viticulteurs exploitent plusieurs parcelles de vignes correspondant à des cépages.

Nous allons donc définir trois entités :

Entité Viticulteur :

Nom de la donnée

Format

Longueur

Type

Règle de calcul

E

C

Code viticulteur

Nom

Prénom

Adresse

Code postal

Ville

Téléphone

Fax

Mail

Alphanumérique

Alphabétique

Alphabétique

Alphanumérique

Alphanumérique

Alphanumérique

Alphanumérique

Alphanumérique

Alphanumérique

15

30

30

40

5

40

15

15

30

X

X

X

X

X

X

X

X

X

 

 

L’entité Viticulteur est composée de propriétés classiques.

Entité Parcelles :

Nom de la donnée

Format

Longueur

Type

Règle de calcul

E

C

Code parcelle

Localisation

Hectare

Plantée le

Alphanumérique

Alphabétique

Numérique

Date

15

30

 

10

X

X

X

X

 

 

L’entité Parcelle a une propriété Localisation qui permet de saisir un lieu exact. Cette information peut aider à déterminer un terroir. Connaître les hectares plantés peut aider aux calculs des rendements. Savoir à quelle date est plantée une vigne peut donner de bonnes indications sur la qualité des raisins. 

Entité Cépage :

Nom de la donnée

Format

Longueur

Type

Règle de calcul

E

C

Code cépage

Dénomination

Prix d’achat au kilo

Alphanumérique

Alphabétique...

Le dictionnaire des données complet

Nom de la donnée

Format

Longueur

Type

Règle de calcul

E

C

Code de la cave

Dénomination de la cave

Adresse de la cave

Code postal

Ville

Téléphone

Fax

Mail

Alphanumérique

Alphabétique

Alphanumérique

Alphanumérique

Alphabétique

Alphanumérique

Alphanumérique

Alphanumérique

15

30

40

5

40

15

15

30

X

X

X

X

X

X

X

X

 

 

Code point de vente

Nom de l’enseigne

Adresse

Code postal

Ville

Téléphone

Fax

Mail

Alphanumérique

Alphabétique

Alphanumérique

Alphanumérique

Alphabétique

Alphanumérique

Alphanumérique

Alphanumérique

15

30

40

5

40

15

15

30

X

X

X

X

X

X

X

X

 

 

Code employé

Nom

Prénom

Adresse

Code postal

Ville

Téléphone fixe

Téléphone mobile

Mail

Embauché le

Type de contrat

Taux horaire brut

Alphanumérique

Alphabétique

Alphabétique

Alphanumérique

Alphanumérique

Alphabétique

Alphanumérique

Alphanumérique

Alphanumérique

Date

Alphabétique

Numérique

15

30

30

40

5

40

15

15

30

10

30

 

X

X

X

X

X

X

X

X

X

X

X

X

 

 

Code qualification

Désignation

Alphanumérique

Alphabétique

15

30

X

X

 

 

Code viticulteur

Nom

Prénom

Adresse

Code postal

Ville

Téléphone

Fax

Mail

Alphanumérique

Alphabétique

Alphabétique

Alphanumérique

Alphanumérique

Alphabétique

Alphanumérique

Alphanumérique

Alphanumérique

15

30

30

40

5

40

15

15

30

X

X

X

X

X

X

X

X

X

 

 

Code parcelle

Localisation

Hectare

Plantée le

Alphanumérique

Alphabétique

Numérique

Date

15

30

 

10

X

X

X

X

 

 

Code cépage

Dénomination

Prix d’achat au kilo

Alphanumérique

Alphabétique

Numérique

15

30

X

X

 

 

Code produit

Nom commercial

Millésime

Prix de vente

Alphanumérique

Alphabétique

Numérique

Numérique

15

30

X

X

X

X

 

 

Code de conditionnement

Désignation

Prix unitaire d’achat

Alphanumérique

Alphabétique

Numérique

15

30

X

X

X

 

 

Propriétés isolées

Somme

Kilogramme

Date

Quantité produite

Quantité vendue

Heure

 

Numérique

Numérique

Date

Numérique

Numérique

Heure

 

30

 

10

 

 

4

 

X

X

X

X

X

X

 

 

Les dépendances fonctionnelles

Le dictionnaire des données étant terminé, nous allons créer l’ensemble des dépendances fonctionnelles.

Lorsque le dictionnaire est complet, la détermination des dépendances est un jeu d’enfant.

Lorsque l’on connaît un code ou un identifiant, on connaît de façon sûre et unique une et une seule propriété.

1. Dépendances fonctionnelles élémentaires et directes

Lorsque nous connaissons le code du viticulteur, nous pouvons connaître de façon sûre et unique son nom, son prénom, son adresse, etc.

Nous allons le symboliser de cette façon :

Code viticulteur ->(Nom, Prénom, Adresse, Code postal, Ville, Téléphone, Fax, Mail)

Voici l’ensemble des dépendances fonctionnelles :

Code parcelle ->(Localisation, Hectare, Plantée le)

Code cépage ->(Dénomination, Prix d’achat au kilo)

Code employé ->(Nom, Prénom, Adresse, Code postal, Ville, Téléphone fixe, Téléphone mobile, Mail, Embauché le, Type de contrat, Taux horaire brut)

Code qualification ->(Désignation)

Code de la cave ->(Dénomination de la cave, Adresse de la cave, Code postal, Ville, Téléphone, Fax, Mail)

Code point de vente ->(Nom de l’enseigne, Adresse, Code postal...

Création du modèle conceptuel des données avec WinDesign

WinDesign, de la société CECIMA, est un environnement modulaire articulé autour d’un référentiel partagé pour la modélisation des systèmes d’information. La version 11 comprend trois modules autonomes et communicants, permettant de concevoir, de modéliser et de spécifier chaque angle de vue des systèmes d’information :

  • Le module Database : destiné aux analystes et aux administrateurs de bases de données, il permet de concevoir, de générer, de modifier, de (re)documenter les bases de données.

  • Le module Object : destiné aux chefs de projet et aux développeurs, il permet de spécifier les points de vue statique et dynamique, d’une application ou d’un système au travers des diagrammes et des langages préconisés par UML.

  • Le module Business Process : destiné aux utilisateurs métier pour la cartographie métier et aux services informatiques pour la cartographie fonctionnelle, applicative et infrastructure, il permet de représenter tous les angles de vue des systèmes d’information et d’analyser tout impact local ou transverse, à tous les niveaux.

1. Conception du modèle conceptuel des données

 Ouvrez WinDesign et cliquez sur Nouveau dans le menu Fichier. Une fenêtre s’affiche et vous demande de sélectionner un module.

 Choisissez le module DataBase.

images/14RI01.png

 Ensuite, sélectionnez comme type de diagramme Modèle Conceptuel des Données.

 Comme nom de diagramme Terrassou et choisissez Diagramme vide.

Votre espace de travail est prêt.

Vous allez travailler avec seulement cette barre d’outils :

images/14RI02.png
L’icône images/14RI03.png permet de créer des entités, l’icône images/14RI04.png permet de créer des relations et l’icône images/14RI05.png permet de créer des liens entre deux objets.

 Commencez par créer l’entité Viticulteur. Cliquez sur l’icône images/14RI03.png permettant de générer une entité et positionnez-vous en haut et à gauche de votre espace de travail. Renseignez le nom de l’entité.

L’entité est créée et elle est vide.

images/14RI06.png

 Vous allez maintenant y insérer les propriétés. Pour cela, faites un clic droit sur l’entité, et dans le sous-menu, choisissez Détail.

Voici la fenêtre permettant de saisir les propriétés :

images/14RI07.png

 Saisissez l’identifiant Code viticulteur, cochez la case Identifiant, laissez Alphanumérique pour le Type par défaut, et passez la Longueur à 15. Cliquez sur le bouton Créer pour finaliser la création de cette propriété.

Une fois finie, l’entité ressemble à ceci :

images/14C5.PNG

 Créez de la même façon l’entité Parcelle.

images/14C6.PNG

 Créez la relation entre les deux entités. En ce sens, cliquez sur l’icône images/14RI04.png et positionnez-vous entre les deux entités. Nommez la relation Possède.

images/14C7.PNG

 Vous allez à présent générer les liens, puis vous indiquerez les cardinalités de la relation.

 Cliquez sur l’icône images/14RI05.png et liez Parcelle à Possède, puis Viticulteur à Possède

images/14RI09.png

Concernant ces liens, vous pouvez affirmer qu’un viticulteur possède une ou plusieurs parcelles et qu’une parcelle n’appartient qu’à un et un seul viticulteur.

 Faites un double clic sur le lien entre Viticulteur et Possède :

 Dans la fenêtre qui apparaît, choisissez 1,n dans la zone Cardinalités et cliquez sur images/iccroix.png pour fermer la fenêtre.

images/14RI08.png

 Pour le lien entre Parcelle et Possède, créez une cardinalité 1,1. Voilà le résultat :

images/14RI10.png

Il ne vous reste plus qu’à modéliser l’ensemble des dépendances fonctionnelles. Le modèle conceptuel des données final ressemble à ceci :

images/14C11.PNG

2. Conception du modèle logique des données

Une fois le MCD réalisé, WinDesign va être très efficace pour réaliser le modèle logique des données.

 Cliquez sur l’option de menu Modèle, puis sur le sous-menu Générer modèle logique. Acceptez les choix par défaut et cliquez sur le bouton OK.

images/14RI11.png

WinDesign génère automatiquement le MLD. Cependant, la mise en forme est un peu brouillonne, il faut l’harmoniser manuellement. Voici le résultat :

images/14C13.PNG

Vous allez maintenant générer le script SQL permettant de porter le modèle sur un SGBD.

 Cliquez sur l’option de menu Base de données, puis sur le sous-menu...