Upload
mickelson-joseph-vil
View
322
Download
6
Embed Size (px)
Citation preview
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 1
ECOLE NATIONALE DES INGENIEURS DES TRAVAUX AGRICOLE S DE BORDEAUX
DEPARTEMENT ENTREPRISE ET SYSTEME UNITE DE FORMATION INFORMATIQUE
~o~O~o~
EXERCICES D’ELABORATION DE MODELES DE DONNEES
CORRIGES Septembre 2005
Jérôme STEFFE
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 2
EXERCICE 1
GESTION DES DOSSIERS COMPTABLES D’UN CENTRE DE GESTION
Choix de gestion : - On considère que la commune et la ville sont des homonymes - Le nom du directeur de l’agence n’est donné qu’à titre indicatif et aucun
renseignement complémentaire sur le directeur n’est nécessaire - On ne gère pas l’historique de la SAU sur l’exploitation - On ne gère que le commune du siège social de l’exploitation
Liste des informations retenues dans le modèle :
Nom Commentaire Entité Type Identifiant
ID comptable No artificiel Comptable A5 O Nom comptable Comptable A30
Date naissance Comptable D
No tél Comptable A15
Id commune Commune I O
Nom commune Commune A30
Id agence No artificiel Agence A5 O Nom agence Agence A40
Directeur Agence A30
Id exploitation No artificiel Exploitation A5 O Nom exploitation Exploitation A25
SAU Exploitation N
Diagramme de classes
GERER
1..*
1..1
TRAVAILLER
1..*
1..1
SITUER SUR
0..*
1..1LOCALISER DANS
0..*
1..1
EXPLOITATION
Id exploitationNom exploitationSAU
: String: String: double
COMPTABLE
ID comptableNom comptableDate naissanceNo tél
: String: String: Date: String
AGENCE
Id agenceNom agenceDirecteur
: String: String: String
COMMUNE
Id communeNom commune
: int: String
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 3
Modèle physique des données
FK_EXPLOITA_GERER_COMPTABL
FK_COMPTABL_TRAVAILLE_AGENCE
FK_EXPLOITA_SITUERSUR_COMMUNE
FK_AGENCE_LOCALISER_COMMUNE
EXPLOITATION
Id exploitationId communeID comptableNom exploitationSAU
NOTEINTEGERNOTENOTENUMERIC
<pk><fk2><fk1>
COMPTABLE
ID comptableId agenceNom comptableDate naissanceNo tél
NOTENOTENOTEDATENOTE
<pk><fk>
AGENCE
Id agenceId communeNom agenceDirecteur
NOTEINTEGERNOTENOTE
<pk><fk>
COMMUNE
Id communeNom commune
INTEGERNOTE
<pk>
EXERCICE 2
GESTION DES LOGEMENTS DANS UNE AGENCE IMMOBILIERE
Choix de gestion : - L’unité géographique retenue pour la gestion des logements est le quartier et on
considère que chaque commune possède au moins un quartier. - On ne s’intéresse qu’aux signataires du contrat uniquement et pas aux locataires - Les logements inoccupés font également partie de la gestion - L’historique des occupations des logements n’est pas utile
Liste des informations retenues dans le modèle :
Nom Commentaire Entité Type Identifiant
Id commune No artificiel Commune I Oui Nom commune Commune A45 Non Distance agence Distance moyenne d’une ville par
rapport à l’agence Commune N Non
Nombre d'habitants Commune N Non N°identification No artificiel Individu I Oui Nom Individu A35 Non Prenom Individu A30 Non Date de naissance Individu D Non
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 4
Nom Commentaire Entité Type Identifiant
N°téléphone Individu A12 Non N° logement No artificiel Logement I Oui No Logement A5 Non Rue Logement A60 Non Superficie Logement N Non Loyer Logement N Non Id quartier No artificiel Quartier I Oui Libellé quartier Quartier A35 Non Type logement Classifie le logement en fonction
du nb de pièces (ex : T1, T2) Type logement A25 Oui
Charges forfaitaires Montant forfaitaire appliqué en fonction du type (ex : 200F pour un studio).
Type logement N Non
Diagramme de classes
Occuper
0..*
1..1
Correspondre0..*
1..1
Situer
0..*
1..1
Appartenir
1..*
1..1
Individu
No individuNomPrenomDate naissancetel
: int: String: String: Date: String
Type logment
Code typeLibellé type
: String: String
Quartier
No quartierLibel lé quartier
: int: String
Logement
No logementnoruesuperficie
: int: String: String: double
Commune
No communeNom communeDistance agenceNb habitants
: int: String: double: double
Modèle physique des données
Individu
No individuNo logementNomPrenomDate naissancetel
INTEGERINTEGERNOTENOTEDATENOTE
<pk><fk> Type logment
Code typeLibellé type
NOTENOTE
<pk>
Quartier
No quartierNo communeLibellé quartier
INTEGERINTEGERNOTE
<pk><fk>
Logement
No logementNo quartierCode typenoruesuperficie
INTEGERINTEGERNOTENOTENOTENUMERIC
<pk><fk2><fk1>
Commune
No communeNom communeDistance agenceNb habitants
INTEGERNOTENUMERICNUMERIC
<pk>
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 5
EXERCICE 3
GESTION DES DROITS A PRODUIRE D’UNE EXPLOITATION
Choix de gestion :
- On ne gère pas l’historique de la SAU des exploitations - L’information commune n’est donnée qu’à titre indicatif.
Liste des informations retenues dans le modèle :
Nom Commentaire Entité / association
Type Identifiant
Id droit No artificiel Droit A5 Oui Libellé droit Représente un quota. Ex : quota
laitier, droit de plantation. Droit A30 Non
Unité Droit A20 Non
Id exploitation Exploitation A5 Oui
Nom exploitation Exploitation A30 Non
Commune Exploitation A30 Non
SAU Exploitation N Non
Id période No artificiel Période I Oui Date début Période D Non
Date fin Période D Non
Valeur Droit Posséder (A) D Non
Solution :
POSSEDER
0..*
1..1
ATTRIBUER
1..*
1..1EST VALABLE POUR
1..*
1..1
EXPLOITATION
Id exploitationNom exploitationCommuneSAU
: String: String: String: double
DROIT
Id droitLibellé droitUnité
: String: String: String
VALEUR DROIT
Identifiant valeurMontant droit
: short: double
PERIODE
Id périodeDate debutDate fin
: int: Date: Date
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 6
Modèle physique des données
Solution :
EXPLOITATION
Id exploitationNom exploitationCommuneSAU
NOTENOTENOTENUMERIC
<pk>
DROIT
Id droitLibellé droitUnité
NOTENOTENOTE
<pk>
VALEUR DROIT
Identifiant valeurId périodeId droitId exploitationMontant droit
SMALLINTINTEGERNOTENOTENUMERIC
<pk><fk3><fk2><fk1>
PERIODE
Id périodeDate debutDate fin
INTEGERDATEDATE
<pk>
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 7
EXERCICE 4
GESTION DES RENDEMENTS DES PARCELLES D’UNE EXPLOITA TION
Choix de gestion : - Les coordonnées géographiques ne sont fournies qu’à titre indicatif - On ne n’intéresse ici qu’aux parcelles culturales - On considère que le liste des éléments d’un engrais peut s’élargir à d’autres que les N,
P et K. - La jachère est considérée comme une production particulière
Liste des informations retenues dans le modèle :
Nom Commentaire Entité / association
Type Identifiant
Identifiant culture No artificiel Culture SI Oui Date début Culture D Non Date fin Culture D Non Qté récoltée Culture N Non Date Date D Oui Code élément Elément chimique A5 Oui Libellé élément Ex : N, P ou K Elément chimique A20 Non Id engrais Engrais N Oui Nom engrais Engrais A20 Non No parcelle No artificiel Parcelle SI Oui Surface Parcelle N Non Nom parcelle Parcelle A20 Non Coordonnées A titre d’information : les
coordonnées GPS Parcelle A20 Non
Code production Production SI Oui Nom production Production A20 Non Unité Ex : ha, Q , kg … Unité A20 Oui Valeur Ex : proportion d’un élément dans
un engrais Posséder (A) N Non
Qté épandue Epandre (A) N non
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 8
Diagramme de classes
PRODUIRE
1..*
1..1 GERER
0..*
1..1
AVOIR
0..*
1..1
POSSEDER
0..*
0..*
CONCERNER
0..*
1..1
Correspondre
0..*
1..1
EPANDRE 0..1
1..*
EPANDRE
0..1
0..*
EPANDRE
0..1
1..*
Parcelle
No parcelleSurfaceNom parcelleCoordonnées
: short: double: String: String
Production
Code productionNom production
: short: String
Engrais
Id engraisNom engrais
: double: String
CULTURE
Identifiant cultureDate débutDate finQté récoltée
: short: Date: Date: double
EPANDRE
no epandageQté épandue
: int: double
UNITE
UNité : String
ELEMENT CHIMIQUES
Code élémentLibellé élément
: String: String
POSSEDER
Valeur : doubleDate
Date : Date
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 9
Modèle physique des données
Parcelle
No parcelleSurfaceNom parcelleCoordonnées
SMALLINTNUMERICNOTENOTE
<pk>
Production
Code productionUNitéNom production
SMALLINTNOTENOTE
<pk><fk>
Engrais
Id engraisUNitéNom engrais
NUMERICNOTENOTE
<pk><fk>
CULTURE
Identifiant cultureCode productionNo parcelleDate débutDate finQté récoltée
SMALLINTSMALLINTSMALLINTDATEDATENUMERIC
<pk><fk2><fk1>
EPANDRE
no epandageNo parcelleId engraisDateQté épandue
INTEGERSMALLINTNUMERICDATENUMERIC
<pk><fk2><fk1><fk3>
UNITE
UNité NOTE <pk>
ELEMENT CHIMIQUES
Code élémentUNitéLibellé élément
NOTENOTENOTE
<pk><fk>
POSSEDER
Code élémentId engraisValeur
NOTENUMERICNUMERIC
<pk,fk1><pk,fk2>Date
Date DATE <pk>
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 10
EXERCICE 5
GESTION D’UN CLUB DE CHASSE SOUS-MARINE
Choix de gestion :
- Une chasse est toujours individuelle - Toutes les sorties réalisées le même jour sont comptabilisées dans une et une seule
chasse
Liste des informations retenues dans le modèle : Nom Commentaire Entité / association
Type Identifi
ant Id chasseur No artificiel Chasseur I Oui Pseudo Chasseur A25 Non Date naissance Chasseur D Non Id_chasse No artificiel Chasse I Oui Date chasse Chasse D non Id espèce No artificiel Espèce I Oui Nom espèce Espèce A20 Non Poids moyen Espèce N Non Code niveau Code artificiel Niveau tir A5 Oui Libellé niveau Ex : facile, moyen, difficile Niveau tir A25 Non Nb de points Tirer (A) SI Non
Diagramme de classes
Tirer
1..*
0..*Classifier
1..*
1..1
Réaliser0..* 1..1
CHASSEUR
Id chasseurPseudoDate naissance
: int: String: Date
ESPECE
Id espèceNom espècePoids moyen
: int: String: double
NIVEAU TIR
Code niveauLibellé niveauNb de points
: String: String: shortTirer
Nb poissons : short
CHASSE
Id_chasseDate chasse
: int: Date
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 11
Modèle physique des données
CHASSEUR
Id chasseurPseudoDate naissance
INTEGERNOTEDATE
<pk>
ESPECE
Id espèceCode niveauNom espècePoids moyen
INTEGERNOTENOTENUMERIC
<pk><fk>
NIVEAU TIR
Code niveauLibellé niveauNb de points
NOTENOTESMALLINT
<pk>
Tirer
Id_chasseId espèceNb poissons
INTEGERINTEGERSMALLINT
<pk,fk1><pk,fk2>
CHASSE
Id_chasseId chasseurDate chasse
INTEGERINTEGERDATE
<pk><fk>
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 12
EXERCICE 6
GESTION DES COURSES HIPPIQUES
Choix de gestion : - Un jockey peut être propriétaire - On ne gère pas l’historique du nombre de places dans un champ de course - On ne gère que les jockeys ayant participé à une course.
Liste des informations retenues dans le modèle :
Nom Commentaire Entité / association
Type Identifiant
Id catégorie No artificiel Catégorie I Oui Libellé catégorie Catégorie A20 Non Id champ course No artificiel Champ de course I Oui Nom du champ de course
Champ de course A25 Non
Nombre de places Champ de course N Non Identifiant cheval No artificiel Cheval SI Oui Nom cheval Cheval A30 Non Date naissance Cheval D Non Sexe Cheval A1 Non Identifiant course No artificiel Course A5 Oui Désignation course Course A25 Non Identifiant épreuve No artificiel Epreuve SI Oui Dotation Epreuve N Non Date épreuve Epreuve D Non Identifiant individu No artificiel Individu N Oui Nom individu Individu A25 Non Prénom individu Individu A35 Non Numéro de dossard No commun au cheval et au
jockey lors d’une épreuve Participer (A) SI Non
Place Place obtenue à l’issue d’une épreuve
Participer (A) SI Non
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 13
Diagramme de classes
ACCUEILLIR
1..*
1..*
COMPORTER1..*
1..1
ACCUEILLIR
1..*
1..1
EST PARENT DE
0..*est enfant de
0..*est parent de
EST PROPRIETAIRE DE
0..*
1..1
APPARTENIR1..*
1..1
PARTICIPER
0..11..*
PARTICIPER0..1
0..*
PARTICIPER
0..1
1..*
CHAMP DE COURSE
Id champ courseNom du champ de courseNombre de places
: int: String: double
CATEGORIE DE COURSES
Id catégorieLibellé catégorie
: int: String
COURSE
Identi fiant courseDésignation course
: String: String
EPREUVE
Identifiant épreuveDotationDate épreuve
: short: double: Date
CHEVAL
Identifiant chevalNom chevalDate naissanceSexe
: short: String: Date: String
INDIVIDU
Identifiant individuNom individuPrénom individu
: double: String: String
PARTICIPER
No participationNuméro de dossardPlace
: int: short: short
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 14
Modèle physique des données
CHAMP DE COURSE
Id champ courseNom du champ de courseNombre de places
INTEGERNOTENUMERIC
<pk>
CATEGORIE DE COURSES
Id catégorieLibellé catégorie
INTEGERNOTE
<pk>COURSE
Identifiant courseId champ courseId catégorieDésignation course
NOTEINTEGERINTEGERNOTE
<pk><fk1><fk2>
EPREUVE
Identifiant épreuveIdentifiant courseDotationDate épreuve
SMALLINTNOTENUMERICDATE
<pk><fk>
CHEVAL
Identifiant chevalIdentifiant individuNom chevalDate naissanceSexe
SMALLINTNUMERICNOTEDATENOTE
<pk><fk>
INDIVIDU
Identifiant individuNom individuPrénom individu
NUMERICNOTENOTE
<pk>
PARTICIPER
No participationIdentifiant épreuveIdentifiant individuIdentifiant chevalNuméro de dossardPlace
INTEGERSMALLINTNUMERICSMALLINTSMALLINTSMALLINT
<pk><fk1><fk2><fk3>
ACCUEILLIR
Id catégorieId champ course
INTEGERINTEGER
<pk,fk1><pk,fk2>
EST PARENT DE
Identifiant chevalCHE_Identifiant cheval
SMALLINTSMALLINT
<pk,fk1><pk,fk2>
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 15
EXERCICE 7
GESTION DES CONCOURS D’APPRENTIS MENUISIERS
Diagramme de classes
ETRE TUTEUR DE
0..*
0..1
Obtenir
0..*
1..1
Concerner
1..*
1..1
INDIVIDU
Code individuNomPrénom
: String: String: String
CONCOURS
No concoursNom concoursLieuDateDotation
: double: String: String: Date: double
PARTICIPATION
Id participationNb points obtenusNom objet réalisé
: double: double: String
Modèle physique des données
ETRE TUTEUR DE
0..*
0..1
Obtenir
0..*
1..1
Concerner
1..*
1..1
INDIVIDU
Code individuNomPrénom
: String: String: String
CONCOURS
No concoursNom concoursLieuDateDotation
: double: String: String: Date: double
PARTICIPATION
Id participationNb points obtenusNom objet réal isé
: double: double: String
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 16
EXERCICE 8
GESTION DU PARCOURS DU COMBATTANT
Choix de gestion : - Il n’y 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 modèle :
Nom Commentaire Entité / association
Type Identifiant
Code niveau Code artificiel Niveau difficulté A5 Oui Libellé niveau Ex : facile, moyen, difficile Niveau difficulté A20 Non Bonus Bonus relatif au niveau de
difficulté Niveau difficulté N Non
Nom obstacle Obstacle A30 Oui Note mini Obstacle N Non N° participation No artificiel Participation N Oui Date Participation D Non Matricule No de matricule du soldat Soldat A20 Oui Nom Soldat A30 Non Prénom Soldat A40 Non Note instructeur Note attribuée par l’instructeur au
passage d’un obstacle Passer (A) N Non
Temps Temps réalisé sur le passage d’un obstacle
Passer (A) D non
Diagramme de classes
Passer
1..*
0..*
Avoir
0..*
1..1Avoir
0..*
1..1
SOLDAT
MatriculeNomPrenom
: String: String: String
OBSTACLE
Nom obstacleNote mini
: String: double
NIVEAU DIFFICULTE
Code niveauLibel lé niveauBonus
: String: String: double
Passer
Note instructeurTemps
: double: Date
PARTICIPATION
N° participationDate
: double: Date
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 17
Modèle physique des données
SOLDAT
MatriculeNomPrenom
NOTENOTENOTE
<pk>
OBSTACLE
Nom obstacleCode niveauNote mini
NOTENOTENUMERIC
<pk><fk>
NIVEAU DIFFICULTE
Code niveauLibellé niveauBonus
NOTENOTENUMERIC
<pk>
Passer
N° participationNom obstacleNote instructeurTemps
NUMERICNOTENUMERICDATE
<pk,fk1><pk,fk2>
PARTICIPATION
N° participationMatriculeDate
NUMERICNOTEDATE
<pk><fk>
EXERCICE 9
GESTION DES TEMPS DE TRAVAUX
Choix de gestion : - On ne gère pas l’historique des types d’agent - Un agent ne peut être que d’un et d’un seul type - Un sous-type de travail n’appartient qu’à un seul type de travail - Si 2 agents travaillent ensemble, on individualisera leurs interventions.
Liste des informations retenues dans le modèle :
Nom Commentaire Entité Type Identifiant
no acteur No artificiel ACTEUR SI Oui Nom ACTEUR A50 Non No ACTEUR A5 Non Rue ACTEUR A50 Non Code postal ACTEUR A8 Non Code ville No artificiel VILLE A8 Oui Nom ville VILLE A8 Non Id catégorie d'agent No artificiel CATEGORIE AGENT A5 Oui Catégorie d'agent Ex : comptable, informaticien CATEGORIE AGENT A45 Non Code tva CODE TVA A5 Oui Libellé code TVA CODE TVA A45 Non No intervention No artificiel INTERVENTIONS SI Oui Date INTERVENTIONS D Non Heure début INTERVENTIONS T Non Heure fin INTERVENTIONS T Non Id période No artificiel PERIODE I Oui Date début période PERIODE D Non Date fin période PERIODE D Non Id sous type No artificiel SOUS TYPE TRAVAIL A5 Oui Libellé sous type Ex : suivi JA, autre SOUS TYPE TRAVAIL A35 Non Id type travail No artificiel SOUS TYPE TRAVAIL A5 Oui Libellé type travail Ex : comptabilité TYPE TRAVAIL A35 Non Coût horaire HT ASSOCIER (A) N Non Taux TVA CONCERNER (A) N Non
ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00 Exercices MERISE Page 18
Diagramme de classes
Appartenir
0..*
0..1
Classifier
0..*
0..1
Effectuer par agent
0..*
1..1
Concerner0..*
1..1
Effectuer pour cl ient
0..*
0..1
Classifier
1..*
1..1
Concerner
1..*
1..*
Associer
1..*
0..*
Situer dans
0..*
1..1
ACTEUR
no acteurNomNoRueCode postal
: short: String: String: String: String
INTERVENTIONS
No interventionDateHeure débutHeure fin
: short: Date: Date: Date
SOUS TYPE TRAVAIL
Id sous typeLibel lé sous type
: String: String
TYPE TRAVAIL
Id type travai lLibel lé type travai l
: String: String
CATEGORIE AGENT
Id catégorie d'agentCatégorie d'agent
: String: String
CODE TVA
Code tvaLibellé code TVA
: String: String
PERIODE
Id périodeDate début périodeDate fin période
: int: Date: Date
Concerner
Taux TVA : double
Associer
Coût horaire HT : double
VILLE
No vi lleNom vi l le
: int: String
Modèle physique des données
ACTEUR
no acteurId catégorie d'agentNo vil leNomNoRueCode postal
SMALLINTNOTEINTEGERNOTENOTENOTENOTE
<pk><fk1><fk2>
INTERVENTIONS
No interventionId sous typeno acteurACT_no acteurDateHeure débutHeure fin
SMALLINTNOTESMALLINTSMALLINTDATEDATEDATE
<pk><fk2><fk1><fk3>
SOUS TYPE TRAVAIL
Id sous typeId type travai lLibellé sous type
NOTENOTENOTE
<pk><fk>
TYPE TRAVAIL
Id type travailCode tvaLibel lé type travai l
NOTENOTENOTE
<pk><fk>
CATEGORIE AGENT
Id catégorie d'agentCatégorie d'agent
NOTENOTE
<pk>
CODE TVA
Code tvaLibellé code TVA
NOTENOTE
<pk>
PERIODE
Id périodeDate début périodeDate fin période
INTEGERDATEDATE
<pk>
Concerner
Id périodeCode tvaTaux TVA
INTEGERNOTENUMERIC
<pk,fk1><pk,fk2>
Associer
Id périodeId type travai lCoût horaire HT
INTEGERNOTENUMERIC
<pk,fk1><pk,fk2>
VILLE
No vi lleNom ville
INTEGERNOTE
<pk>