1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 5
    Points : 2
    Points
    2

    Par défaut Gestion d'entreprise de jardinage

    Bonjour,

    Je viens vers vous pour avoir un avis et des suggestions concernant le MCD d'un projet.

    Voici l'énoncé :

    La société « Jardi-Facile » a décidé de développer son activité sur la Picardie. Pour cela, elle compte sur vous pour mettre en œuvre son système d'information.

    La société comporte deux départements. Le premier s'occupe de l'entretien des jardins des particuliers. Un particulier (nom, prénom, adresse, éventuellement des informations complémentaires comme la surface du jardin) loue les services de la société pour tondre la pelouse, tailler les haies ou rénover les parterres de fleurs. Ces travaux font l'objet ou d'un forfait ou d'un payement à l'acte. Dans les deux cas, des jardiniers (nom, prénom et spécialités comme tonte ou taille haies) sont affectés à la tâche ainsi qu'un chef jardinier pour superviser le tout. Pour ces travaux, il est parfois utile de réserver la camionnette de la société, la broyeuse ou le taille-haie. La disponibilité de ces instruments peut influer sur le délai d'intervention. Il serait judicieux de pouvoir vérifier que les instruments sont réservés par des jardiniers qui en sont spécialistes.

    Le second département regroupe les paysagistes. Le paysagiste intervient toujours dans le cadre d’un projet d’aménagement impliquant une transformation du paysage. Il peut être amené à créer par exemple, des espaces verts. Ils travaillent pour de grosses sociétés ou pour les municipalités. Il convient du projet avec le client, et s'occupe de trouver une équipe de jardiniers pour l'exécuter. Le projet peut être découpé en plusieurs tâches faisant intervenir des équipes différentes.
    Voici le MCD que j'ai réalisé :
    Nom : MCD_JF.jpg
Affichages : 41
Taille : 86,6 Ko

    Il me paraît vachement compliqué et je pense qu'on pourrait l'optimiser mais je vois pas trop comment sans perdre d'informations.

    Avez-vous des idées ?

    Merci d'avance !

    Maxime

  2. #2
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    15 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 15 182
    Points : 29 312
    Points
    29 312
    Billets dans le blog
    4

    Par défaut

    1) Une clé primaire sur une colonne VARCHAR, c'est une mauvaise idée !

    2) Pour éviter d'avoir la même ville avec des orthographes différentes, il vaut mieux externaliser les villes dans une autre entité.

    3) Le numéro de sécu n'est pas mentionné dans l'énoncé. Pourquoi l'avez-vous modélisé ?

    4) Un employé et un client particulier sont des personnes physiques. Un client pro est une personne morale.
    Vous pouvez donc faire de l'héritage en cascade pour éviter d'avoir les mêmes propriétés dans plusieurs entités.

    5) Je mettrais plutôt une contrainte d'exclusion entre les associations Appartient et Dirige.

    6) Pourquoi avoir créé une entité-type Date_Tache ?
    Ce sont des propriétés de la tâche.
    Éventuellement, vous pouvez associer une entité-type neutre Date si vous avez besoin de gérer un calendrier des interventions, un planning des employés... qui nécessite d'avoir toutes les dates possibles de travail dans la BDD.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2017
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    1) Une clé primaire sur une colonne VARCHAR, c'est une mauvaise idée !
    Sur les dates ? J'ai recréé un MCD que je poste ci_dessous pour voir les modifications effectuées.

    2) Pour éviter d'avoir la même ville avec des orthographes différentes, il vaut mieux externaliser les villes dans une autre entité.
    Bonne idée !

    3) Le numéro de sécu n'est pas mentionné dans l'énoncé. Pourquoi l'avez-vous modélisé ?
    Je l'ai modélisé pour pouvoir le mettre en clé primaire, il s'agit d'un numéro unique associé à chaque employé. A la rigueur je peux mettre Id_Employé en AUTOINCREMENT.

    4) Un employé et un client particulier sont des personnes physiques. Un client pro est une personne morale.
    Vous pouvez donc faire de l'héritage en cascade pour éviter d'avoir les mêmes propriétés dans plusieurs entités.
    Je ne vois pas du tout comment faire ... Si je comprends bien, vous me dites de créer une entité Pers_Phys et une entité Pers_Morale et sur Pers_Phys je fais un héritage avec Employé et Client_Part sur Pers_Phys et un héritage avec Client_Pro sur Pers_Morale ?

    5) Je mettrais plutôt une contrainte d'exclusion entre les associations Appartient et Dirige.
    Pourquoi ? Le chef jardinier dirige une équipe et appartient à cette équipe. Il faut qu'il appartienne à cette équipe pour pouvoir la diriger, non ?

    6) Pourquoi avoir créé une entité-type Date_Tache ?
    Ce sont des propriétés de la tâche.
    Éventuellement, vous pouvez associer une entité-type neutre Date si vous avez besoin de gérer un calendrier des interventions, un planning des employés... qui nécessite d'avoir toutes les dates possibles de travail dans la BDD.
    Je l'ai mis dans la relation Realise. Je dois pouvoir, par exemple, répondre à la question : "Quel est le jardinier qui a tondu la pelouse de M. Dupont ?". Je pense pouvoir y répondre avec ce nouveau MCD.

    Ensuite, une équipe n'est pas fixe. Est-ce qu'avec les attributs Date_Deb_Tache et Date_Fin_Tache je peux savoir quels jardiniers composaient cette équipe à un instant T ?

    Voici le MCD que j'ai corrigé (EDIT 29/11 - 15:53) :
    Nom : MCD.jpg
Affichages : 26
Taille : 160,2 Ko

    Merci beaucoup !

    EDIT (30/11 17:17) : J'ai un problème sur la relation entre jardinier - appartient - Equipe et jardinier - dirige - Equipe lorsque je transforme mon MCD en MLD via JMerise, il me dit qu'il y a plusieurs lien. Alors est-ce qu'il ne faudrait pas que je fasse une relation réflexive avec Jardinier <-> Dirige ?

    EDIT (17:26) : J'ai modifié cette fameuse relation, en mettant ceci :
    Nom : Capture.PNG
Affichages : 16
Taille : 7,5 Ko

Discussions similaires

  1. [MCD] Avis sur MCD de gestion de comptes bancaires
    Par ecarbill dans le forum Schéma
    Réponses: 9
    Dernier message: 27/07/2011, 12h25
  2. Avis sur une conception de projet
    Par sabri_icone dans le forum UML
    Réponses: 3
    Dernier message: 01/06/2009, 19h56
  3. Avis sur mcd de gestion de rdv
    Par alex68 dans le forum Schéma
    Réponses: 6
    Dernier message: 25/09/2007, 21h23
  4. [MCD] Avis sur MCD Site Musique
    Par poulping dans le forum Schéma
    Réponses: 3
    Dernier message: 25/04/2007, 02h52
  5. Quel est votre avis sur mon sujet de projet fin d'études ?
    Par makaphrodite dans le forum Dépannage et Assistance
    Réponses: 2
    Dernier message: 04/12/2006, 13h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo