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

Diagrammes de Classes Discussion :

Optimiser le diagramme de classe


Sujet :

Diagrammes de Classes

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 125
    Points : 104
    Points
    104
    Par défaut Optimiser le diagramme de classe
    Bonjour!

    j'ai ce diagramme de classe qui me semble embigu.
    Nom : Capture V1.PNG
Affichages : 3519
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
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    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
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    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 régulier
    Inscrit en
    Juillet 2009
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 125
    Points : 104
    Points
    104
    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 régulier
    Inscrit en
    Juillet 2009
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 125
    Points : 104
    Points
    104
    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
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    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 régulier
    Inscrit en
    Juillet 2009
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 125
    Points : 104
    Points
    104
    Par défaut
    CinePhil , merci pour la réponse rapide et les explication mon diagramme est bien optimisé

    Nom : Capture V3.PNG
Affichages : 967
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