IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

organigramme d'une communauté d'agglomérations [MCD]


Sujet :

Schéma

  1. #1
    Membre régulier
    Homme Profil pro
    Apprenti Informatique
    Inscrit en
    Avril 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2009
    Messages : 83
    Points : 91
    Points
    91
    Par défaut organigramme d'une communauté d'agglomérations
    Bonjour, je voudrais vous soumettre mon MCD pour avoir vos remarques et vos conseils.

    Il représente la gestion de l'organigramme d'une communauté d'agglomération.
    Chaque service est dirigé par un employé.
    Les services peuvent être regroupés (ou rapprochés) sous la direction d'un superviseur (c'est pour ça que j'ai créé l'entité Groupe de service).

    Info : La propriété "dirige" de l'association "est_de" est de type booléen :
    * 1 si l'employé dirige le service
    * 0 sinon

    Merci de m'indiquer mes erreurs

  2. #2
    Membre actif Avatar de SmileSoft
    Inscrit en
    Mars 2008
    Messages
    436
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 436
    Points : 214
    Points
    214
    Par défaut
    salut,
    Citation Envoyé par cfried Voir le message
    Les services peuvent être regroupés (ou rapprochés) sous la direction d'un superviseur (c'est pour ça que j'ai créé l'entité Groupe de service).
    je devine qu'un groupe de service est supervisé par 1 et 1 seul employé, donc la cardinalité de l'association supervise du coté Groupe_Service doit être 1.1

    on ne peut pas avoir un service avec 0 employé, donc la cardinalité de l'association est_dans (coté service) doit changer en 1.n
    Un thésard a souvent un problème de motivation jusqu'au moment où il aura un problème de temps....

  3. #3
    Membre régulier
    Homme Profil pro
    Apprenti Informatique
    Inscrit en
    Avril 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2009
    Messages : 83
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par SmileSoft Voir le message

    je devine qu'un groupe de service est supervisé par 1 et 1 seul employé, donc la cardinalité de l'association supervise du coté Groupe_Service doit être 1.1
    il y a des cas dans lesquels il y a deux superviseurs, un pour la partie compta, un pour la partie informatique (je dis n'importe quoi hein). Je me suis mal exprimé en laissant penser qu'il ne pouvait y en avoir qu'un.

    Citation Envoyé par SmileSoft Voir le message

    on ne peut pas avoir un service avec 0 employé, donc la cardinalité de l'association est_dans (coté service) doit changer en 1.n
    C'est pas faux

    Sinon concernant la propriété "dirige" de l'association "est_dans" j'ai lu qu'on ne pouvait pas mettre de propriété à une association dont les cardinalités sont 1,1 - 0,n : Info/Intox ? ! Si OUI pourquoi ?

  4. #4
    Membre actif Avatar de SmileSoft
    Inscrit en
    Mars 2008
    Messages
    436
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 436
    Points : 214
    Points
    214
    Par défaut
    Citation Envoyé par cfried Voir le message

    Sinon concernant la propriété "dirige" de l'association "est_dans" j'ai lu qu'on ne pouvait pas mettre de propriété à une association dont les cardinalités sont 1,1 - 0,n : Info/Intox ?
    oui c'est vrai et cette propriété dois figurer comme attribut dans l'entité fils donc dans personnel.
    Citation Envoyé par cfried Voir le message

    ! Si OUI pourquoi ?
    la réponse dans la fac
    Un thésard a souvent un problème de motivation jusqu'au moment où il aura un problème de temps....

  5. #5
    Membre chevronné
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2007
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2007
    Messages : 797
    Points : 2 060
    Points
    2 060
    Par défaut
    Bonjour cfried,

    Ton MCD peut être amélioré de manière à le rendre plus sémantique et à faciliter la gestion de la base de données qui en sera issue.

    Citation Envoyé par cfried Voir le message
    Chaque service est dirigé par un employé.
    [...]
    Info : La propriété "dirige" de l'association "est_de" est de type booléen :
    * 1 si l'employé dirige le service
    * 0 sinon
    D'accord mais chaque employé ne dirige pas un service. Et la solution ne se trouve pas avec la propriété booléenne dirige dans l'association est_dans.

    En préambule, comme l'a souligné SmileSoft, la présence de cette propriété dans une association de ce type (c'est-à-dire 1,1 - 0,n) est une anomalie de conception. Lors de la dérivation du MCD en MLD, elle va "migrer" dans la table issue de l'entité côté cardinalité 1,1, donc dans la table issue de personnel. Autant l'inclure, dès le MCD, dans l'entité personnel.

    Quoi qu'il en soit, on pourrait s'en contenter car la propriété dirige, faisant partie de la l'entité personnel, permet de distinguer un personnel dirigeant d'un personnel qui ne l'est pas.

    Cette approche comporte un inconvénient : elle restreint l'évolutivité du modèle. En effet, imaginons que l'on souhaite, plus tard, ajouter des propriétés spécifiques aux dirigeants de services (date de prise en charge du service, niveau d'accréditation sécurité, etc.) Chaque personnel se trouvera alors affublé de ces informations, alors qu'elles ne concernent qu'une (petite) partie d'entre eux : les dirigeants de services ; avec la conséquence fâcheuse pour la base de données de recevoir la valeur Null pour chaque personnel non dirigeant.


    La solution plus sémantique et facilitant la gestion de la base de données consiste à spécialiser l'entité personnel en une "sous-entité", dirigeant par exemple. Ce qui donnerait ceci :

    [ dirigeant ]===>[ personnel ]

    qui se lit : un dirigeant est un personnel (mais l'inverse n'est pas vrai).

    Le mécanisme d'héritage permet à dirigeant d'avoir les mêmes propriétés que personnel.


    Cette partie du modèle devient :

    [ personnel ]--1,1----( est_dans )----1,n->[ service ]

    [ dirigeant ]--1,1----( dirige )----1,1--[ service ]


    Attention : il faudra choisir le sens d'orientation de l'association dirige afin de déterminer quelle table du MLD contient l'identifiant de l'autre table en clé étrangère.


    Citation Envoyé par cfried Voir le message
    Les services peuvent être regroupés (ou rapprochés) sous la direction d'un superviseur (c'est pour ça que j'ai créé l'entité Groupe de service).
    On pourra vérifier la pertinence d'une spécialisation en entité superviseur.


    JPhi33
    N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
    _______________________________________________________

    Les Règles du Club Developpez.com
    Vous avez votre réponse ? Merci de cliquer sur

  6. #6
    Membre régulier
    Homme Profil pro
    Apprenti Informatique
    Inscrit en
    Avril 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2009
    Messages : 83
    Points : 91
    Points
    91
    Par défaut
    Tout d'abord, merci à tous pour vos réponses !

    J'ai bien pris en compte la remarque concernant la propriété d'une association de cardinalité 1,1 - 0,n : j'ai modifié mon modèle en conséquence.

    Citation Envoyé par JPhi33 Voir le message

    La solution plus sémantique et facilitant la gestion de la base de données consiste à spécialiser l'entité personnel en une "sous-entité", dirigeant par exemple. Ce qui donnerait ceci :

    [ dirigeant ]===>[ personnel ]

    qui se lit : un dirigeant est un personnel (mais l'inverse n'est pas vrai).

    Le mécanisme d'héritage permet à dirigeant d'avoir les mêmes propriétés que personnel.

    Cette partie du modèle devient :

    [ personnel ]--1,1----( est_dans )----1,n->[ service ]

    [ dirigeant ]--1,1----( dirige )----1,1--[ service ]


    Attention : il faudra choisir le sens d'orientation de l'association dirige afin de déterminer quelle table du MLD contient l'identifiant de l'autre table en clé étrangère.
    J'ai effectué cette solution plus sémantique car la possibilité d'évolution de l'application est une des contraintes au cahier des charges. Corrigez moi si il y a encore des erreurs. Au niveau des cardinalités, il ne faut pas s'inquiéter pour le 1,n de l'association dirige du coté de l'entité service : il y a des cas de co-direction (pareil pour les co-supervisions).

    Citation Envoyé par JPhi33 Voir le message
    On pourra vérifier la pertinence d'une spécialisation en entité superviseur.
    Je me demandais si il était possible de passer cette notion de superviseur par l'entité fraichement créée de dirigeant mais je bloque au niveau des cardinalités sur cette solution ? !

    Merci chaudement pour vos éclairages avisés !

  7. #7
    Membre régulier
    Homme Profil pro
    Apprenti Informatique
    Inscrit en
    Avril 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2009
    Messages : 83
    Points : 91
    Points
    91
    Par défaut Modifications & Finalisation
    Bonjour, après m'être mis au travail de développement je me suis rendu compte que l'entité groupe_services m'était inutile et surtout qu'elle m'obligeait à mettre en place de nombreux traitements car elle était également récursive avec une auto-association.

    J'ai repris mon mcd, en créant juste une entité type.
    ATTENTION : j'ai une version d'essais de Win'Design : je n'ai donc pas eu le courage de recommencer mon MCD à chaque erreur ^^
    Celui-ci est celui qui s'en approche le plus, les erreurs que j'ai corrigé sont :
    • cardinalités de l'association père/fils depend_de : 0,n - 0,n au lieu de 0,1 - 0,n
    • 1,1 coté service pour l'association de_type au lieu de 0,n


    Si il y a des erreurs dans ma correction (et c'est possible !!), merci de me tenir au courant

    A+ et merci pour votre expertise :p

  8. #8
    Membre chevronné
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2007
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2007
    Messages : 797
    Points : 2 060
    Points
    2 060
    Par défaut
    Bonjour cfried,

    Citation Envoyé par cfried Voir le message
    les erreurs que j'ai corrigé sont :
    • cardinalités de l'association père/fils depend_de : 0,n - 0,n au lieu de 0,1 - 0,n
    On est donc dans le cas une organisation non hiérarchique : un service S peut dépendre de plusieurs services (a, b et c, par exemple) et plusieurs services (x, y et z, par exemple) peuvent dépendre de S. Avec, en outre, la possibilité qu'un ou plusieurs des services a, b, c dépendent d'un ou plusieurs des services x, y, z ou inversement.

    Habituellement, les organisations en services des entreprises sont plutôt pyramidales : 0 ou 1 père, 0 à n fils.
    C'est donc une organisation un peu atypique (mais pourquoi pas).


    Bon courage pour le développement !
    N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
    _______________________________________________________

    Les Règles du Club Developpez.com
    Vous avez votre réponse ? Merci de cliquer sur

  9. #9
    Membre régulier
    Homme Profil pro
    Apprenti Informatique
    Inscrit en
    Avril 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Apprenti Informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2009
    Messages : 83
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par JPhi33 Voir le message
    Bonjour cfried,


    On est donc dans le cas une organisation non hiérarchique : un service S peut dépendre de plusieurs services (a, b et c, par exemple) et plusieurs services (x, y et z, par exemple) peuvent dépendre de S. Avec, en outre, la possibilité qu'un ou plusieurs des services a, b, c dépendent d'un ou plusieurs des services x, y, z ou inversement.

    Habituellement, les organisations en services des entreprises sont plutôt pyramidales : 0 ou 1 père, 0 à n fils.
    C'est donc une organisation un peu atypique (mais pourquoi pas).


    Bon courage pour le développement !
    Oui on peut dire que c'est atypique, c'est une communauté de communes

    Merci pour ton aide en tout cas

    Je vous tiendrai au courant de mon application, là je vais un peu squatter le forum Dojo je pense :p ^^

    A+ pour d'autres modélisations, avec plaisir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Joomla!] Cms pour une communauté/portail ?
    Par charles6401 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 21/08/2008, 13h13
  2. [MCD] Modéliser l'organigramme d'une PME
    Par wade dans le forum Schéma
    Réponses: 3
    Dernier message: 12/02/2008, 08h45
  3. [Bénévoles] Création d'une communauté Linux
    Par jleonzi dans le forum Autres
    Réponses: 3
    Dernier message: 04/02/2008, 13h52
  4. [une communauté bénévole]
    Par jeremieca dans le forum Autres
    Réponses: 0
    Dernier message: 10/11/2007, 10h54
  5. [VB] Organigramme d'une procédure récursive.
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/11/2005, 10h53

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