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

  1. #1
    Membre du Club
    Inscrit en
    juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 51
    Points : 47
    Points
    47

    Par défaut Optimiser le diagramme de classe

    Bonjour!

    j'ai ce diagramme de classe qui me semble embigu.
    Nom : Capture V1.PNG
Affichages : 137
Taille : 17,7 Ko

    j'aimerai optimiser ce diagramme pour qu'il y'ait plus de redondance. en fait dans ma logique, je voudrai savoir à tout moment que un Employé X utilise une application
    Y et a le Profil Z dans cette application.
    voici les règles de gestion:

    un employé peu utiliser 1...* application
    une application est utilisée par 1..* employe
    une application possède 1..* profil
    un profil est possédé par une seule application
    un employé peut avoir 1..* profil
    un profil peut être possédé par 1..* employé

    Merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2005
    Messages
    3 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : juin 2005
    Messages : 3 452
    Points : 6 512
    Points
    6 512

    Par défaut

    Bonjour,

    Je ne vois pas ce qui est ambiguë dans le diagramme qui me semble bien

    Seules remarques :
    • nom et prénom sur un caractère c'est un peu court, une string me parait plus approprié
    • les intitulés de type int c'est également bizarre, j'aurais également vu une string
    • la multiplicité 0..* devrait être 1..* d'après les règles de gestion, ceci dit je trouve bizarre que par exemple un profil soit impérativement utilisé par un utilisateur
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    15 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    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 854
    Points : 31 367
    Points
    31 367
    Billets dans le blog
    4

    Par défaut

    je voudrai savoir à tout moment que un Employé X utilise une application
    Y et a le Profil Z dans cette application.
    Le problème que vous soulevez est, si j'ai bien compris, qu'avec votre diagramme, rien n'interdit un employé qui n'a pas le profil requis pour une application d'utiliser cette application. C'est ça ?

    Comme le profil est dépendant de l'application il peut être identifié relativement à l'application : Profil(id_application, numero_profil, intitule). Dans la BDD, la table Profil aurait pour clé primaire le couple (id_application, numero_profil).

    Ensuite, si un employé ne peut avoir qu'un seul profil dans une application, il suffirait de savoir quel profil il est en train d'utiliser pour savoir quelle application il utilise. Le lien entre Employe et Application devient inutile.
    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 !

  4. #4
    Membre du Club
    Inscrit en
    juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 51
    Points : 47
    Points
    47

    Par défaut

    Citation Envoyé par bruno_pages Voir le message
    • la multiplicité 0..* devrait être 1..* d'après les règles de gestion, ceci dit je trouve bizarre que par exemple un profil soit impérativement utilisé par un utilisateur
    Merci pour ces remarques.
    par rapport fait que un profil soit impérativement utilisé par un utilisateur, mon chef me dit qu'il y' aura un profil spécial pour toute personne qui n'aura pas d'application a utiliser. alors la requête sera facile pour interroger la DB sur la liste d'application ainsi que les profils utilisés pour un employé donné.

  5. #5
    Membre du Club
    Inscrit en
    juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 51
    Points : 47
    Points
    47

    Par défaut

    Mercie pour ces remarques et propositions

    Citation Envoyé par CinePhil Voir le message
    Ensuite, si un employé ne peut avoir qu'un seul profil dans une application, il suffirait de savoir quel profil il est en train d'utiliser pour savoir quelle application il utilise. Le lien entre Employe et Application devient inutile.
    dans ce cas, quelles seront les cardinalités au niveau de la relation entre Employé et Profil?
    Merci d'avance

  6. #6
    Modérateur
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    15 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    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 854
    Points : 31 367
    Points
    31 367
    Billets dans le blog
    4

    Par défaut

    Citation Envoyé par ibram_im Voir le message
    Citation Envoyé par CinéPhil
    Ensuite, si un employé ne peut avoir qu'un seul profil dans une application, il suffirait de savoir quel profil il est en train d'utiliser pour savoir quelle application il utilise. Le lien entre Employe et Application devient inutile.
    Dans ce cas, quelles seront les cardinalités au niveau de la relation entre Employé et Profil?
    Les règles de gestion que j'ai supposées ici sont les suivantes :
    R1 : Un profil est lié à une seule application et une application comporte de un à plusieurs profils.
    R2 : Un profil peut être attribué à plusieurs employés et un employé se voit attribuer de un à plusieurs profils => conséquence : s'il a plusieurs profils, c'est qu'il est habilité à utiliser plusieurs applications.

    Diagramme de classes :
    Employe -*--------1..*- Profil -1..*--------1..1- Application

    Tables :
    Employe (emp_id, emp_nom, emp_prenom...)
    Application (app_id, app_nom...)
    Profil (prf_id_application, prf_numero, prf_libelle...)
    Employe_Profil (emp_id, prf_id_application, prf_numero...)

    Le profil est identifié relativement à l'application ; la clé étrangère référençant l'application fait partie de la clé primaire de la table Profil.
    Ainsi, si on veut savoir quelles applications à le droit d'utiliser l'employé, il suffit d'interroger la table associative Employe_Profil et la relation entre Employé et Application est implicite ; inutile de la représenter dans le DC et de l'implémenter supplémentairement 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 !

  7. #7
    Membre du Club
    Inscrit en
    juillet 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 51
    Points : 47
    Points
    47

    Par défaut

    CinePhil , merci pour la réponse rapide et les explication mon diagramme est bien optimisé

    Nom : Capture V3.PNG
Affichages : 66
Taille : 14,6 Ko

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

Discussions similaires

  1. Diagramme de classes
    Par giviz dans le forum Diagrammes de Classes
    Réponses: 5
    Dernier message: 21/12/2004, 22h10
  2. Diagramme de classes et BD
    Par manel007 dans le forum Diagrammes de Classes
    Réponses: 5
    Dernier message: 20/11/2004, 00h01
  3. [DC] Transformer un MLD en Diagramme de Classes
    Par lee Mythe dans le forum Diagrammes de Classes
    Réponses: 10
    Dernier message: 07/10/2004, 13h25
  4. Exporter diagramme de classe vers image
    Par Koko22 dans le forum Rational
    Réponses: 3
    Dernier message: 18/08/2004, 10h42
  5. Diagramme des classes pour l'interface visuel
    Par robv dans le forum Diagrammes de Classes
    Réponses: 2
    Dernier message: 25/06/2004, 10h50

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