corrigé exos uml classes - Fichier PDF

8 downloads 101 Views 83KB Size Report
13 janv. 2012 ... ENITA de Bordeaux - corrigé exos uml classes.doc - 12/09/2005 17:09:00. Exercices MERISE. Page 1. ECOLE NATIONALE DES INGENIEURS ...
ECOLE NATIONALE DES INGENIEURS DES TRAVAUX AGRICOLES 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 1

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

ID comptable Nom comptable

Entité

Type

Comptable Comptable

No artificiel

A5 A30

Date naissance

Comptable

D

No tél

Comptable

A15

Id commune

Commune

I

Nom commune

Commune

A30

No artificiel

Agence Agence

A5 A40

Agence

A30

No artificiel

Exploitation Exploitation

A5 A25

Exploitation

N

Id agence Nom agence Directeur Id exploitation Nom exploitation SAU

Identifi ant O

O O

O

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

1..1

1..1

LOCALISER DANS SITUER SUR

0..* AGENCE

0..*

Id agence : String Nom agence : String Directeur : String

EXPLOITATION Id exploitation : String Nom exploitation : String SAU : double

1..1

1..*

TRAVAILLER GERER 1..* 1..1

COMPTABLE ID comptable Nom comptable Date naissance No tél

: : : :

String String Date String

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

Exercices MERISE

Page 2

Modèle physique des données COMMUNE Id commune INTEGER Nom commune NOTE

FK_AGENCE_LOCALISER_COMMUNE FK_EXPLOITA_SITUERSUR_COMMUNE AGENCE Id agence Id commune Nom agence Directeur

EXPLOITATION Id exploitation Id commune ID comptable Nom exploitation SAU

NOTE INTEGER NOTE NOTE NUMERIC

NOTE INTEGER NOTE NOTE

FK_COMPTABL_TRAVAILLE_AGENCE FK_EXPLOITA_GERER_COMPTABL COMPTABLE ID comptable Id agence Nom comptable Date naissance No tél

NOTE NOTE NOTE DATE NOTE

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 Id commune Nom commune Distance agence Nombre d'habitants N°identification Nom Prenom Date de naissance

Commentaire No artificiel

Distance moyenne d’une ville par rapport à l’agence

No artificiel

Entité Commune Commune Commune

I A45 N

Identifi ant Oui Non Non

Commune Individu Individu Individu Individu

N I A35 A30 D

Non Oui Non Non Non

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

Type

Exercices MERISE

Page 3

Nom

Commentaire

N°téléphone N° logement No Rue Superficie Loyer Id quartier Libellé quartier Type logement

No artificiel

No artificiel

Classifie le logement en fonction du nb de pièces (ex : T1, T2)

Charges forfaitaires

Montant forfaitaire appliqué en fonction du type (ex : 200F pour un studio).

Entité

Type

Individu Logement Logement Logement Logement Logement Quartier Quartier Type logement

A12 I A5 A60 N N I A35 A25

Identifi ant Non Oui Non Non Non Non Oui Non Oui

Type logement

N

Non

Diagramme de classes Logement

1..1

Occuper

No logement no rue superficie

0..*

: : : :

int String String double

Correspondre

0..*

1..1

Individu No individu Nom Prenom Date naissance tel

: : : : :

int String String Date String

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

Modèle physique des données Logement No logement No quartier Code type no rue superficie

Individu No individu No logement Nom Prenom Date naissance tel

INTEGER INTEGER NOTE NOTE NOTE NUMERIC

INT EGER INT EGER NOT E NOT E DATE NOT E

T ype logment Code type NOTE Libellé type NOTE

Quartier No quartier INT EGER No commune INT EGER Libellé quartier NOTE

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

Commune No commune Nom commune Distance agence Nb habitants

INTEGER NOT E NUMERIC NUMERIC

Exercices MERISE

Page 4

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

Droit Droit

A5 A30

Identifi ant Oui 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 Date début

Période Période

I D

Oui Non

Date fin

Période

D

Non

Valeur Droit

Posséder (A)

D

Non

Id droit Libellé droit

Entité / association

No artificiel Représente un quota. Ex : quota laitier, droit de plantation.

No artificiel

Type

Solution : PERIODE Id période : int Date debut : Date Date fin : Date DROIT Id droit : String Libellé droit : String Unité : String

1..1

1..1

EST VALABLE POUR EXPLOITATION Id exploitation Nom exploitation Commune SAU

: : : :

String String String double

ATTRIBUER 1..1 1..* POSSEDER

1..*

VALEUR DROIT 0..*

Identifiant valeur : short Montant droit : double

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

Exercices MERISE

Page 5

Modèle physique des données Solution :

PERIODE Id période INTEGER Date debut DATE Date fin DATE DROIT Id droit NOTE Libellé droit NOTE Unité NOTE

EXPLOITATION Id exploitation Nom exploitation Commune SAU

NOTE NOTE NOTE NUMERIC

VALEUR DROIT Identifiant valeur Id période Id droit Id exploitation Montant droit

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

SMALLINT INTEGER NOTE NOTE NUMERIC



Exercices MERISE

Page 6

EXERCICE 4 GESTION DES RENDEMENTS DES PARCELLES D’UNE EXPLOITATION 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 Identifiant culture Date début Date fin Qté récoltée Date Code élément Libellé élément Id engrais Nom engrais No parcelle Surface Nom parcelle Coordonnées Code production Nom production Unité Valeur Qté épandue

Commentaire No artificiel

Ex : N, P ou K

No artificiel

A titre d’information : les coordonnées GPS

Ex : ha, Q , kg … Ex : proportion d’un élément dans un engrais

Entité / association Culture Culture Culture Culture Date Elément chimique Elément chimique Engrais Engrais Parcelle Parcelle Parcelle Parcelle

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

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

Production Production Unité Posséder (A)

SI A20 A20 N

Oui Non Oui Non

Epandre (A)

N

non

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

Type

Exercices MERISE

Page 7

Diagramme de classes

CULTURE Identifiant culture Date début Date fin Qté récoltée

: : : :

short Date Date double

1..*

0..* CONCERNER

PRODUIRE

UNITE

1..1

1..1 Production

1..1

No parcelle Surface Nom parcelle Coordonnées

GERER

Code production : short Nom production : String

Parcelle : : : :

UNité : String

0..*

1..1

short double String String

1..1

AVOIR 0..* Engrais

0..1

Id engrais : double Nom engrais : String

EPANDRE EPANDRE 0..*

Correspondre

0..1

1..*

0..*

EPANDRE

EPANDRE

1..*

no epandage : int Qté épandue : double

POSSEDER

0..*

0..1 POSSEDER Date

Valeur : double

Date : Date

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

0..* ELEMENT CHIMIQUES Code élément : String Libellé élément : String

Exercices MERISE

Page 8

Modèle physique des données CULTURE Identifiant culture Code production No parcelle Date début Date fin Qté récoltée

SMALLINT SMALLINT SMALLINT DAT E DAT E NUMERIC

UNITE UNité NOTE Production Code production SMALLINT UNité NOT E Nom production NOT E

Parcelle No parcelle Surface Nom parcelle Coordonnées

SMALLINT NUMERIC NOTE NOTE

Engrais Id engrais NUMERIC UNité NOTE Nom engrais NOTE EPANDRE no epandage No parcelle Id engrais Date Qté épandue

INTEGER SMALLINT NUMERIC DAT E NUMERIC



POSSEDER Date Date DATE

Code élément NOTE Id engrais NUMERIC Valeur NUMERIC

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

ELEMENT CHIMIQUES NOT E Code élément UNité NOT E Libellé élément NOT E

Exercices MERISE

Page 9

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 Id chasseur Pseudo Date naissance Id_chasse Date chasse Id espèce Nom espèce Poids moyen Code niveau Libellé niveau Nb de points

Commentaire No artificiel

No artificiel

No artificiel

Code artificiel Ex : facile, moyen, difficile

Entité / association

Type

Chasseur Chasseur Chasseur Chasse Chasse Espèce Espèce Espèce Niveau tir Niveau tir Tirer (A)

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

I A25 D I D I A20 N A5 A25 SI

Diagramme de classes CHASSE Id_chasse : int Date chasse : Date

CHASSEUR Réaliser

0..*

1..1

Id chasseur : int Pseudo : String Date naissance : Date

1..*

NIVEAU TIR

Tirer

Tirer Nb poissons : short

1..1

Code niveau : String Libellé niveau : String Nb de points : short

0..* Classifier ESPECE Id espèce : int Nom espèce : String Poids moyen : double

1..*

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

Exercices MERISE

Page 10

Modèle physique des données CHASSE INTEGER Id_chasse Id chasseur INTEGER Date chasse DAT E

CHASSEUR Id chasseur INTEGER Pseudo NOTE Date naissance DAT E

NIVEAU TIR Code niveau NOT E Libellé niveau NOT E Nb de points SMALLINT

T irer Id_chasse INT EGER Id espèce INT EGER Nb poissons SMALLINT ESPECE Id espèce Code niveau Nom espèce Poids moyen

INTEGER NOTE 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 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

Id catégorie Libellé catégorie Id champ course Nom du champ de course Nombre de places Identifiant cheval Nom cheval Date naissance Sexe Identifiant course Désignation course Identifiant épreuve Dotation Date épreuve Identifiant individu Nom individu Prénom individu Numéro de dossard

No artificiel

Place

Place obtenue à l’issue d’une épreuve

No artificiel

No artificiel

No artificiel

No artificiel

No artificiel

No commun au cheval et au jockey lors d’une épreuve

Entité / association Catégorie Catégorie Champ de course Champ de course

I A20 I A25

Identifi ant Oui Non Oui Non

Champ de course Cheval Cheval Cheval Cheval Course Course Epreuve Epreuve Epreuve Individu Individu Individu Participer (A)

N SI A30 D A1 A5 A25 SI N D N A25 A35 SI

Non Oui Non Non Non Oui Non Oui Non Non Oui Non Non Non

SI

Non

Participer (A)

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

Type

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..1

ACCUEILLIR

ACCUEILLIR

1..* 1..* CATEGORIE DE COURSES COURSE

Id catégorie : int Libellé catégorie : String

1..*

Identifiant course : String Désignation course : String

1..1

APPARTENIR 1..1 COMPORTER

EPREUVE

1..*

Identifiant épreuve : short Dotation : double Date épreuve : Date

INDIVIDU Identifiant individu : double Nom individu : String Prénom individu : String PARTICIPER 0..* 1..1

No participation : int Numéro de dossard : short Place : short

PARTICIPER 0..1

PARTICIPER

0..1 1..*

PARTICIPER

1..*

EST PROPRIETAIRE DE

EST PARENT DE 0..1

0..* est parent de

CHEVAL 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

Modèle physique des données CHAMP DE COURSE Id champ course INTEGER Nom du champ de course NOTE Nombre de places NUMERIC

ACCUEILLIR Id catégorie INTEGER Id champ course INTEGER

CATEGORIE DE COURSES

COURSE Identifiant course Id champ course Id catégorie Désignation course

Id catégorie INTEGER Libellé catégorie NOTE

NOTE INTEGER INTEGER NOTE

EPREUVE Identifiant épreuve Identifiant course Dotation Date épreuve

INDIVIDU Identifiant individu NUMERIC Nom individu NOTE Prénom individu NOTE

SMALLINT NOTE NUMERIC DATE

PARTICIPER No participation Identifiant épreuve Identifiant individu Identifiant cheval Numéro de dossard Place

INTEGER SMALLINT NUMERIC SMALLINT SMALLINT SMALLINT



EST PARENT DE Identifiant cheval SMALLINT CHE_Identifiant cheval SMALLINT

CHEVAL Identifiant cheval Identifiant individu Nom cheval Date naissance Sexe

SMALLINT NUMERIC 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 D’APPRENTIS MENUISIERS

Diagramme de classes ETRE TUTEUR DE 0..1 CONCOURS

INDIVIDU Code individu : String Nom : String Prénom : String

No concours Nom concours Lieu Date Dotation

0..*

: : : : :

double String String Date double

1..1 1..1 Obtenir

Concerner

1..*

0..*

PARTICIPATION Id participation : double Nb points obtenus : double Nom objet réalisé : String

Modèle physique des données ETRE T UT EUR DE 0..1 CONCOURS

INDIVIDU Code individu : String Nom : String Prénom : String

No concours Nom concours Lieu Date Dotation

0..*

: : : : :

double String String Date double

1..1 1..1 Obtenir

Concerner

0..*

1..* PARTICIPATION

Id participation : double Nb points obtenus : double Nom objet réalisé : 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 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

Code niveau Libellé niveau Bonus

Entité / association

Code artificiel Ex : facile, moyen, difficile Bonus relatif au niveau de difficulté

Nom obstacle Note mini N° participation Date Matricule Nom Prénom Note instructeur Temps

No artificiel

No de matricule du soldat

Note attribuée par l’instructeur au passage d’un obstacle Temps réalisé sur le passage d’un obstacle

Niveau difficulté Niveau difficulté Niveau difficulté

A5 A20 N

Identifi ant Oui Non Non

Obstacle Obstacle Participation Participation Soldat Soldat Soldat Passer (A)

A30 N N D A20 A30 A40 N

Oui Non Oui Non Oui Non Non Non

D

non

Passer (A)

Type

Diagramme de classes PARTICIPATION N° participation Date

: double : Date

1..* 0..* Passer

0..*

OBSTACLE Nom obstacle : String Note mini : double

0..* Avoir

Avoir

1..1 NIVEAU DIFFICULTE

1..1 SOLDAT Matricule : String Nom : String Prenom : String

Passer Note instructeur : double Temps : Date

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

Code niveau : String Libellé niveau : String Bonus : double

Exercices MERISE

Page 16

Modèle physique des données PARTICIPATION N° participation Matricule Date

NUMERIC NOT E DATE OBSTACLE Nom obstacle NOT E Code niveau NOT E Note mini NUMERIC

NIVEAU DIFFICULTE SOLDAT

NOTE Code niveau Libellé niveau NOTE Bonus NUMERIC

Passer

Matricule NOT E Nom NOT E Prenom NOT E

N° participation Nom obstacle Note instructeur Temps

NUMERIC NOTE NUMERIC DAT E

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 no acteur Nom No Rue Code postal Code ville Nom ville Id catégorie d'agent Catégorie d'agent Code tva Libellé code TVA No intervention Date Heure début Heure fin Id période Date début période Date fin période Id sous type Libellé sous type Id type travail Libellé type travail Coût horaire HT Taux TVA

Commentaire No artificiel

No artificiel

No artificiel Ex : comptable, informaticien

No artificiel

No artificiel

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

Entité

Type

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)

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

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

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

Exercices MERISE

Page 17

Diagramme de classes CODE T VA

Concerner

Code tva : String Libellé code T VA : String

T aux TVA : double

VILLE No ville : int Nom ville : String

1..1

1..* Concerner

Classifier

1..*

1..1

PERIODE Situer dans 1..* 0..*

1..*

TYPE T RAVAIL

: : : : :

Associer

Id type travail : String Libellé type travail : String

ACT EUR no acteur Nom No Rue Code postal

short String String String String

Id période : int Date début période : Date Date fin période : Date

0..*

Associer 0..1

0..1

Coût horaire HT : double Classifier 0..*

0..*

1..1

SOUS T YPE T RAVAIL

Effectuer pour client

Id sous type : String Libellé sous type : String

Appartenir 0..1

Effectuer par agent 1..1

0..*

CAT EGORIE AGENT Id catégorie d'agent : String Catégorie d'agent : String

Concerner 0..*

INT ERVENT IONS 0..*

No intervention Date Heure début Heure fin

: : : :

short Date Date Date

Modèle physique des données CODE TVA

Concerner

NOTE Code tva Libellé code TVA NOTE

Id période INTEGER Code tva NOTE Taux TVA NUMERIC

VILLE No ville INTEGER Nom ville NOTE

TYPE TRAVAIL Id type travail NOTE Code tva NOTE Libellé type travail NOTE

PERIODE Id période INTEGER Date début période DATE Date fin période DATE

ACTEUR no acteur SMALLINT Id catégorie d'agent NOTE No ville INTEGER Nom NOTE No NOTE Rue NOTE Code postal NOTE

Associer Id période INTEGER Id type travail NOTE Coût horaire HT NUMERIC

SOUS TYPE TRAVAIL CATEGORIE AGENT Id catégorie d'agent NOTE Catégorie d'agent NOTE

INTERVENTIONS No intervention Id sous type no acteur ACT_no acteur Date Heure début Heure fin

SMALLINT NOTE SMALLINT SMALLINT DATE DATE DATE



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

Id sous type NOTE Id type travail NOTE Libellé sous type NOTE

Exercices MERISE

Page 18