Вы находитесь на странице: 1из 18

ECOLE NATIONALE DES INGENIEURS DES TRAVAUX AGRICOLES DE BORDEAUX DEPARTEMENT ENTREPRISE ET SYSTEME UNITE DE FORMATION INFORMATIQUE ~o~O~o~

EXERCICES DELABORATION DE MODELES DE DONNEES


CORRIGES
Septembre 2005

Jrme STEFFE

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 1

EXERCICE 1
GESTION DES DOSSIERS COMPTABLES DUN CENTRE DE GESTION Choix de gestion : - On considre que la commune et la ville sont des homonymes - Le nom du directeur de lagence nest donn qu titre indicatif et aucun renseignement complmentaire sur le directeur nest ncessaire - On ne gre pas lhistorique de la SAU sur lexploitation - On ne gre que le commune du sige social de lexploitation Liste des informations retenues dans le modle :
Nom ID comptable Nom comptable Date naissance No tl Id commune Nom commune Id agence Nom agence Directeur Id exploitation Nom exploitation SAU
No artificiel No artificiel

Commentaire
No artificiel

Entit Comptable Comptable Comptable Comptable Commune Commune Agence Agence Agence Exploitation Exploitation Exploitation

Type A5 A30 D A15 I A30 A5 A40 A30 A5 A25 N

Identifi ant O

O O

Diagramme de classes
COMMUNE Id commune : int Nom commune : String

1..1 SITUER SUR 0..* EXPLOITATION Id exploitation : String Nom exploitation : String SAU : double

1..1 LOCALISER DANS 0..* AGENCE Id agence : String Nom agence : String Directeur : String

1..1

1..* GERER

TRAVAILLER

1..* 1..1 COMPTABLE ID comptable Nom comptable Date naissance No tl : : : : String String Date String

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 2

Modle physique des donnes


COMMUNE Id commune INTEGER <pk> Nom commune NOTE

FK_AGENCE_LOCALISER_COMMUNE FK_EXPLOITA_SITUERSUR_COMMUNE AGENCE EXPLOITATION Id exploitation Id commune ID comptable Nom exploitation SAU NOTE <pk> INTEGER <fk2> NOTE <fk1> NOTE NUMERIC Id agence Id commune Nom agence Directeur NOTE <pk> INTEGER <fk> NOTE NOTE

FK_COMPTABL_TRAVAILLE_AGENCE FK_EXPLOITA_GERER_COMPTABL COMPTABLE ID comptable Id agence Nom comptable Date naissance No tl NOTE <pk> NOTE <fk> NOTE DATE NOTE

EXERCICE 2
GESTION DES LOGEMENTS DANS UNE AGENCE IMMOBILIERE Choix de gestion : - Lunit gographique retenue pour la gestion des logements est le quartier et on considre que chaque commune possde au moins un quartier. - On ne sintresse quaux signataires du contrat uniquement et pas aux locataires - Les logements inoccups font galement partie de la gestion - Lhistorique des occupations des logements nest pas utile Liste des informations retenues dans le modle :
Nom Id commune Nom commune Distance agence Nombre d'habitants N identification Nom Prenom Date de naissance Commentaire
No artificiel

Entit Commune Commune Commune Commune Individu Individu Individu Individu

Type I A45 N N I A35 A30 D

Distance moyenne dune ville par rapport lagence

Identifi ant Oui Non Non Non Oui Non Non Non

No artificiel

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 3

Nom N tlphone N logement No Rue Superficie Loyer Id quartier Libell quartier Type logement Charges forfaitaires

Commentaire

Entit Individu Logement Logement Logement Logement Logement Quartier Quartier Type logement Type logement

Type A12 I A5 A60 N N I A35 A25 N

No artificiel

No artificiel

Classifie le logement en fonction du nb de pices (ex : T1, T2) Montant forfaitaire appliqu en fonction du type (ex : 200F pour un studio).

Identifi ant Non Oui Non Non Non Non Oui Non Oui Non

Diagramme de classes
Occuper 1..1 Logement No logement no rue superficie : : : : int String String double 0..* Correspondre

0..* Individu No individu Nom Prenom Date naissance tel : : : : : int String String Date String

1..1 0..* Type logment Code type : String Libell type : String

Situer

1..1 Quartier No quartier : int Libell quartier : String

Commune 1..* Appartenir 1..1 No commune Nom commune Distance agence Nb habitants : : : : int String double double

Modle physique des donnes


Logement No logement No quartier Code type no rue superficie INTEGER <pk> INTEGER <fk2> NOTE <fk1> NOTE NOTE NUMERIC

Individu No individu No logement Nom Prenom Date naissance tel INT EGER <pk> INT EGER <fk> NOT E NOT E DATE NOT E

T ype logment Code type NOTE <pk> Libell type NOTE

Quartier No quartier INT EGER <pk> No commune INT EGER <fk> Libell quartier NOTE Commune No commune Nom commune Distance agence Nb habitants INTEGER <pk> NOT E NUMERIC NUMERIC

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 4

EXERCICE 3
GESTION DES DROITS A PRODUIRE DUNE EXPLOITATION

Choix de gestion : - On ne gre pas lhistorique de la SAU des exploitations - Linformation commune nest donne qu titre indicatif. Liste des informations retenues dans le modle :
Nom Id droit Libell droit Unit Id exploitation Nom exploitation Commune SAU Id priode Date dbut Date fin Valeur Droit
No artificiel

Commentaire
No artificiel Reprsente un quota. Ex : quota laitier, droit de plantation.

Entit / association Droit Droit Droit Exploitation Exploitation Exploitation Exploitation Priode Priode Priode Possder (A)

Type A5 A30 A20 A5 A30 A30 N I D D D

Identifi ant Oui Non Non Oui Non Non Non Oui Non Non Non

Solution :
PERIODE Id priode : int Date debut : Date Date fin : Date DROIT 1..1 Id droit : String Libell droit : String Unit : String

EST VALABLE POUR EXPLOITATION Id exploitation Nom exploitation Commune SAU : : : : String String String double

1..1

ATTRIBUER 1..1 1..* POSSEDER 0..* VALEUR DROIT Identifiant valeur : short Montant droit : double 1..*

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 5

Modle physique des donnes


Solution :

PERIODE Id priode INTEGER <pk> Date debut DATE Date fin DATE DROIT Id droit NOTE <pk> Libell droit NOTE Unit NOTE

EXPLOITATION Id exploitation Nom exploitation Commune SAU NOTE <pk> NOTE NOTE NUMERIC

VALEUR DROIT Identifiant valeur Id priode Id droit Id exploitation Montant droit SMALLINT INTEGER NOTE NOTE NUMERIC <pk> <fk3> <fk2> <fk1>

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 6

EXERCICE 4
GESTION DES RENDEMENTS DES PARCELLES DUNE EXPLOITATION Choix de gestion : - Les coordonnes gographiques ne sont fournies qu titre indicatif - On ne nintresse ici quaux parcelles culturales - On considre que le liste des lments dun engrais peut slargir dautres que les N, P et K. - La jachre est considre comme une production particulire Liste des informations retenues dans le modle :
Nom Identifiant culture Date dbut Date fin Qt rcolte Date Code lment Libell lment Id engrais Nom engrais No parcelle Surface Nom parcelle Coordonnes Code production Nom production Unit Valeur Qt pandue Commentaire
No artificiel

Entit / association Culture Culture Culture Culture Date Elment chimique Elment chimique Engrais Engrais Parcelle Parcelle Parcelle Parcelle Production Production Unit Possder (A) Epandre (A)

Type SI D D N D A5 A20 N A20 SI N A20 A20 SI A20 A20 N N

Ex : N, P ou K

No artificiel

A titre dinformation : les coordonnes GPS

Identifi ant Oui Non Non Non Oui Oui Non Oui Non Oui Non Non Non Oui Non Oui Non non

Ex : ha, Q , kg Ex : proportion dun lment dans un engrais

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 7

Diagramme de classes

CULTURE Identifiant culture Date dbut Date fin Qt rcolte : : : : short Date Date double

0..* CONCERNER 1..1 Production Code production : short Nom production : String 0..* GERER 1..1 AVOIR 0..* 1..1 UNITE 1..1 UNit : String

1..* PRODUIRE 1..1 Parcelle No parcelle Surface Nom parcelle Coordonnes : : : : short double String String

0..1 EPANDRE EPANDRE 0..* EPANDRE no epandage : int Qt pandue : double 1..* 0..1

Engrais Id engrais : double Nom engrais : String

Correspondre

0..*

EPANDRE

1..*

POSSEDER

0..1 POSSEDER Date Date : Date Valeur : double

0..* 0..* ELEMENT CHIMIQUES Code lment : String Libell lment : String

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 8

Modle physique des donnes


CULTURE Identifiant culture Code production No parcelle Date dbut Date fin Qt rcolte SMALLINT <pk> SMALLINT <fk2> SMALLINT <fk1> DAT E DAT E NUMERIC

UNITE UNit NOTE <pk> Production Parcelle No parcelle Surface Nom parcelle Coordonnes SMALLINT <pk> NUMERIC NOTE NOTE Code production SMALLINT <pk> UNit NOT E <fk> Nom production NOT E

Engrais Id engrais NUMERIC <pk> UNit NOTE <fk> Nom engrais NOTE EPANDRE no epandage No parcelle Id engrais Date Qt pandue INTEGER SMALLINT NUMERIC DAT E NUMERIC <pk> <fk2> <fk1> <fk3>

POSSEDER Date Date DATE <pk> Code lment NOTE <pk,fk1> Id engrais NUMERIC <pk,fk2> Valeur NUMERIC ELEMENT CHIMIQUES NOT E <pk> Code lment UNit NOT E <fk> Libell lment NOT E

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 9

EXERCICE 5
GESTION DUN CLUB DE CHASSE SOUS-MARINE Choix de gestion : - Une chasse est toujours individuelle - Toutes les sorties ralises le mme jour sont comptabilises dans une et une seule chasse Liste des informations retenues dans le modle :
Nom Id chasseur Pseudo Date naissance Id_chasse Date chasse Id espce Nom espce Poids moyen Code niveau Libell niveau Nb de points Commentaire
No artificiel

Entit / association Chasseur Chasseur Chasseur Chasse Chasse Espce Espce Espce Niveau tir Niveau tir Tirer (A)

Type I A25 D I D I A20 N A5 A25 SI

No artificiel

No artificiel

Code artificiel Ex : facile, moyen, difficile

Identifi ant Oui Non Non Oui non Oui Non Non Oui Non Non

Diagramme de classes
CHASSE Id_chasse : int Date chasse : Date CHASSEUR 0..* Raliser 1..1 Id chasseur : int Pseudo : String Date naissance : Date

1..*

Tirer

NIVEAU TIR Code niveau : String Libell niveau : String Nb de points : short

Tirer Nb poissons : short 0..* Classifier ESPECE Id espce : int Nom espce : String Poids moyen : double 1..*

1..1

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 10

Modle physique des donnes


CHASSE INTEGER <pk> Id_chasse Id chasseur INTEGER <fk> Date chasse DAT E CHASSEUR Id chasseur INTEGER <pk> Pseudo NOTE Date naissance DAT E

NIVEAU TIR Code niveau NOT E <pk> Libell niveau NOT E Nb de points SMALLINT

T irer Id_chasse INT EGER <pk,fk1> Id espce INT EGER <pk,fk2> Nb poissons SMALLINT ESPECE Id espce Code niveau Nom espce Poids moyen INTEGER <pk> NOTE <fk> NOTE NUMERIC

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 11

EXERCICE 6
GESTION DES COURSES HIPPIQUES Choix de gestion : - Un jockey peut tre propritaire - On ne gre pas lhistorique du nombre de places dans un champ de course - On ne gre que les jockeys ayant particip une course. Liste des informations retenues dans le modle :
Nom Id catgorie Libell catgorie Id champ course Nom du champ de course Nombre de places Identifiant cheval Nom cheval Date naissance Sexe Identifiant course Dsignation course Identifiant preuve Dotation Date preuve Identifiant individu Nom individu Prnom individu Numro de dossard Place Commentaire
No artificiel

Entit / association Catgorie Catgorie Champ de course Champ de course Champ de course Cheval Cheval Cheval Cheval Course Course Epreuve Epreuve Epreuve Individu Individu Individu Participer (A) Participer (A)

Type I A20 I A25 N SI A30 D A1 A5 A25 SI N D N A25 A35 SI SI

No artificiel

Identifi ant Oui Non Oui Non Non Oui Non Non Non Oui Non Oui Non Non Oui Non Non Non Non

No artificiel

No artificiel

No artificiel

No artificiel

No commun au cheval et au jockey lors dune preuve Place obtenue lissue dune preuve

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 12

Diagramme de classes
CHAMP DE COURSE Id champ course : int Nom du champ de course : String Nombre de places : double

1..1 ACCUEILLIR 1..*

1..* ACCUEILLIR 1..* CATEGORIE DE COURSES

COURSE Identifiant course : String Dsignation course : String

1..* APPARTENIR 1..1 COMPORTER 1..* 1..1

Id catgorie : int Libell catgorie : String

EPREUVE Identifiant preuve : short Dotation : double Date preuve : Date

INDIVIDU Identifiant individu : double Nom individu : String Prnom individu : String PARTICIPER 0..* 1..1 PARTICIPER 0..1 No participation : int Numro de dossard : short Place : short

0..1 1..* PARTICIPER

PARTICIPER EST PROPRIETAIRE DE

1..* EST PARENT DE 0..1 CHEVAL 0..* est parent de

0..*

Identifiant cheval Nom cheval Date naissance Sexe

: : : :

short String Date String

0..* est enfant de

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 13

Modle physique des donnes


CHAMP DE COURSE Id champ course INTEGER <pk> Nom du champ de course NOTE Nombre de places NUMERIC

ACCUEILLIR Id catgorie INTEGER <pk,fk1> Id champ course INTEGER <pk,fk2>

COURSE Identifiant course Id champ course Id catgorie Dsignation course NOTE <pk> INTEGER <fk1> INTEGER <fk2> NOTE

CATEGORIE DE COURSES Id catgorie INTEGER <pk> Libell catgorie NOTE

EPREUVE Identifiant preuve Identifiant course Dotation Date preuve PARTICIPER No participation Identifiant preuve Identifiant individu Identifiant cheval Numro de dossard Place INTEGER SMALLINT NUMERIC SMALLINT SMALLINT SMALLINT <pk> <fk1> <fk2> <fk3> SMALLINT <pk> NOTE <fk> NUMERIC DATE

INDIVIDU Identifiant individu NUMERIC <pk> Nom individu NOTE Prnom individu NOTE

EST PARENT DE Identifiant cheval SMALLINT <pk,fk1> CHE_Identifiant cheval SMALLINT <pk,fk2>

CHEVAL Identifiant cheval Identifiant individu Nom cheval Date naissance Sexe SMALLINT <pk> NUMERIC <fk> NOTE DATE NOTE

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 14

EXERCICE 7
GESTION DES CONCOURS DAPPRENTIS MENUISIERS

Diagramme de classes
ETRE TUTEUR DE 0..1 INDIVIDU Code individu : String Nom : String Prnom : String 0..* CONCOURS No concours Nom concours Lieu Date Dotation : : : : : double String String Date double

1..1 1..1 Obtenir

Concerner

0..*

1..* PARTICIPATION

Id participation : double Nb points obtenus : double Nom objet ralis : String

Modle physique des donnes


ETRE T UT EUR DE 0..1 INDIVIDU Code individu : String Nom : String Prnom : String 0..* CONCOURS No concours Nom concours Lieu Date Dotation : : : : : double String String Date double

1..1 1..1 Obtenir

Concerner

0..*

1..* PARTICIPATION

Id participation : double Nb points obtenus : double Nom objet ralis : String

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 15

EXERCICE 8
GESTION DU PARCOURS DU COMBATTANT Choix de gestion : - Il ny a pas de transition entre les obstacles. Le temps total pour le parcours est donc la somme des temps obtenus sur chacun des obstacles. Liste des informations retenues dans le modle :
Nom Code niveau Libell niveau Bonus Nom obstacle Note mini N participation Date Matricule Nom Prnom Note instructeur Temps Commentaire
Code artificiel Ex : facile, moyen, difficile Bonus relatif au niveau de difficult

Entit / association Niveau difficult Niveau difficult Niveau difficult Obstacle Obstacle Participation Participation Soldat Soldat Soldat Passer (A) Passer (A)

Type A5 A20 N A30 N N D A20 A30 A40 N D

Identifi ant Oui Non Non Oui Non Oui Non Oui Non Non Non non

No artificiel

No de matricule du soldat

Note attribue par linstructeur au passage dun obstacle Temps ralis sur le passage dun obstacle

Diagramme de classes
PARTICIPATION N participation Date : double : Date 1..* 0..* 0..* Passer OBSTACLE Nom obstacle : String Note mini : double 0..* Avoir 1..1 1..1 SOLDAT Matricule : String Nom : String Prenom : String Passer Note instructeur : double Temps : Date NIVEAU DIFFICULTE Code niveau : String Libell niveau : String Bonus : double

Avoir

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 16

Modle physique des donnes


PARTICIPATION N participation Matricule Date NUMERIC <pk> NOT E <fk> DATE OBSTACLE <pk> Nom obstacle NOT E Code niveau NOT E <fk> Note mini NUMERIC

NIVEAU DIFFICULTE SOLDAT Matricule NOT E <pk> Nom NOT E Prenom NOT E NOTE <pk> Code niveau Libell niveau NOTE Bonus NUMERIC

Passer N participation Nom obstacle Note instructeur Temps NUMERIC <pk,fk1> NOTE <pk,fk2> NUMERIC DAT E

EXERCICE 9
GESTION DES TEMPS DE TRAVAUX Choix de gestion : - On ne gre pas lhistorique des types dagent - Un agent ne peut tre que dun et dun seul type - Un sous-type de travail nappartient qu un seul type de travail - Si 2 agents travaillent ensemble, on individualisera leurs interventions. Liste des informations retenues dans le modle :
Nom no acteur Nom No Rue Code postal Code ville Nom ville Id catgorie d'agent Catgorie d'agent Code tva Libell code TVA No intervention Date Heure dbut Heure fin Id priode Date dbut priode Date fin priode Id sous type Libell sous type Id type travail Libell type travail Cot horaire HT Taux TVA Commentaire
No artificiel

Entit ACTEUR ACTEUR ACTEUR ACTEUR ACTEUR VILLE VILLE CATEGORIE AGENT CATEGORIE AGENT CODE TVA CODE TVA INTERVENTIONS INTERVENTIONS INTERVENTIONS INTERVENTIONS PERIODE PERIODE PERIODE SOUS TYPE TRAVAIL SOUS TYPE TRAVAIL SOUS TYPE TRAVAIL TYPE TRAVAIL ASSOCIER (A) CONCERNER (A)

Type SI A50 A5 A50 A8 A8 A8 A5 A45 A5 A45 SI D T T I D D A5 A35 A5 A35 N N

No artificiel

No artificiel Ex : comptable, informaticien

No artificiel

No artificiel

No artificiel Ex : suivi JA, autre No artificiel Ex : comptabilit

Identifi ant Oui Non Non Non Non Oui Non Oui Non Oui Non Oui Non Non Non Oui Non Non Oui Non Oui Non Non Non

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 17

Diagramme de classes
CODE T VA Code tva : String Libell code T VA : String VILLE No ville : int Nom ville : String 1..1 1..* Concerner Classifier 1..1 Situer dans 1..* 0..* ACT EUR no acteur Nom No Rue Code postal : : : : : short String String String String TYPE T RAVAIL Id type travail : String Libell type travail : String 0..* Associer 1..* 1..* PERIODE Id priode : int Date dbut priode : Date Date fin priode : Date Concerner T aux TVA : double

Associer 0..1 0..1 Classifier 0..* Cot horaire HT : double

0..* Appartenir 0..1 CAT EGORIE AGENT Id catgorie d'agent : String Catgorie d'agent : String

1..1 Effectuer pour client

SOUS T YPE T RAVAIL Id sous type : String Libell sous type : String

Effectuer par agent 0..* INT ERVENT IONS 0..* No intervention Date Heure dbut Heure fin : : : : short Date Date Date 0..* 1..1 Concerner

Modle physique des donnes


CODE TVA NOTE <pk> Code tva Libell code TVA NOTE VILLE No ville INTEGER <pk> Nom ville NOTE Concerner Id priode INTEGER <pk,fk1> Code tva NOTE <pk,fk2> Taux TVA NUMERIC

TYPE TRAVAIL Id type travail NOTE <pk> Code tva NOTE <fk> Libell type travail NOTE ACTEUR no acteur SMALLINT <pk> Id catgorie d'agent NOTE <fk1> No ville INTEGER <fk2> Nom NOTE No NOTE Rue NOTE Code postal NOTE PERIODE Id priode INTEGER <pk> Date dbut priode DATE Date fin priode DATE

Associer Id priode INTEGER <pk,fk1> Id type travail NOTE <pk,fk2> Cot horaire HT NUMERIC

SOUS TYPE TRAVAIL CATEGORIE AGENT Id catgorie d'agent NOTE <pk> Catgorie d'agent NOTE INTERVENTIONS No intervention Id sous type no acteur ACT_no acteur Date Heure dbut Heure fin SMALLINT NOTE SMALLINT SMALLINT DATE DATE DATE <pk> <fk2> <fk1> <fk3> Id sous type NOTE <pk> Id type travail NOTE <fk> Libell sous type NOTE

ENITA de Bordeaux - corrig exos uml classes.doc - 12/09/2005 17:09:00

Exercices MERISE

Page 18