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 :

[DC]Modéliser une action conditionnelle ?


Sujet :

Diagrammes de Classes

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 47
    Points
    47
    Par défaut [DC]Modéliser une action conditionnelle ?
    Bonjour à tous,

    Comment modéliser (diagramme de classe) le fait qu'un patient doive se rendre chez un médecin 1x/an si il a moins de 40 ans ou 2x/an si il a plus de 40 ans (ou ... autres cas possibles), et qu'il reçoive lors de chaque visite une attestation signalant si il est en bonne ou mauvaise santé :

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Tu ne peut pas modéliser de telles informations sur un diagramme de classe (par définition). Un diagramme d'activité serait je pense plus approprié.

    PS : si UML propose plusieurs diagramme, ce n'est pas pour rien

    Bonne continuation.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Bonsoir,

    1 spécialisation patient (-/+ de 40 ans) n'étant pas vraiment judicieuse, je mettrait 1 stéréotype <<Check>> avec la définition de ta règle sur ta classe... En attendant de trouver mieux.

    A +

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 167
    Points : 220
    Points
    220
    Par défaut
    Diagramme de classe -> représentation de la statique du système.
    "Action" = dynamique donc il faut utiliser un diagramme représentant la dynamique du système pour modéliser ton "action conditionnelle".
    Franckintosh, penseur différent.

  5. #5
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Bonjour,

    Pas d'accord. Ce n'est pas 1 action conditionnelle, c'est la représentation d'1 règle métier qui stipule que si champ age > 40 alors champ visite doit être 2 et si champs age =< 40 alors champs visite = 1. C'est 1 règle d'intégrité de la base de la base de donnée. Pas 1 ttmt.

  6. #6
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Oui on peut le voir aussi comme une règle métier. Dans ce cas moi je propose d'exprimer cette condition avec de l'OCL. Ou même sans rentrer dans les détails, de mettre visite comme attribut dérivé (c-a-d calculable) noté : /visite : int.

    De toute façon il n'y a pas UNE solution. Tout dépend de la somme d'informations que l'on veut proposer.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  7. #7
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Re,

    En fait je m'aperçoit que j'ai été 1 peu catégorique ds ma réponse. Il n'y a pas assez d'éléments ds la question.
    Il faudrait savoir savoir si le champs nb de visites est mis à jour à la suite d'1 visite, ou si c'est la valeur du champ nbre de visites qui déclenche l'action visite médicale.
    De tte façons on peut bien représenter la contrainte sur la valeur ds le diagramme des classes (et c'est ce que je voulais dire ds mes posts) mais elle doit effectivement avoir 1 pendant ds 1 diagramme dynamique (séquence ou activité).
    Comme tu le dis justement il n'y a pas UNE solution, le but étant d'arriver à en modéliser 1 que tout le monde comprend de la même manière et qui corresponde à la réalité de ce qu'on veut faire.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 47
    Points
    47
    Par défaut
    Je concède que ma question n'est peut être pas des plus claires.

    Ce que j'aimerais savoir, ce sont les relations que je pourrais avoir entre les entités Patient, Médecin et Attestation, en sachant que la délivrance de l'attestation dépend du fait que le patient se soit rendu chez le médecin ou non.

    Pour ce qui est du 40 ans ou moins, je vois une contrainte OCL comme proposé par Hephaistos007.

    Merci.

  9. #9
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Moi, je suis de l'avis de TheLeadingEdge. C'est une règle métier.

    Le problème n'est pas vraiment comment la représenter en UML mais, comme c'est une règle métier, que vas-tu mettre en ouvre au sein de ton application pour assurer que cette règle sera vérifiée.
    Probablement que tu vas mettre en oeuvre un procesus de vérification tous les ans, voir mettre un processus d'alerte qui, vers la fin de l'année listera les patients qui risquent de ne pas respecter cette règle.
    D'autre part, si d'un point de vue métier on ne t'a pas dit quoi faire vraiment avec cette règle, tu ne sauras pas quoi mettre en oeuvre dans ton appli.

    Bref, une fois que tu as défini la classe ou le package qui va prendre en charge cette règle métier, tu n'as plus qu'à la référencer au niveau de la classe ou du package. Là, tout dépend de l'outillage dont tu disposes. Pour faire simple tu peux mettre la référence de la règle dans la "documentation" de la classe ou de package.

    Pour ce qui est de l'expression même de la règle, ceci est du ressort de la gestion des exigences, non de la modélisation. Une expression de cette règle dans un "dossier des exigences" (SRS dans le jargon du RUP) est une bonne solution.

  10. #10
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Dans l'absolue, tu peux même décrire ta contrainte en langage naturel dans une note de commentaire associée à ta classe !

    Ta question soulève en fait un problème de fond. Comptes-tu utiliser ton diagramme de classe de manière :
    1) contemplative
    2) générative

    La solution n°2 consiste à procéder à un traitement informatisé du diagramme (génération de code, vérification de contraintes, ...). Il est bien évident que dans cette optique, une note de commentaire est totalement inexploitable alors qu'une expression OCL est tout à fait adaptée.


    Si tu réponds à cette question, tu as presque la solution.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/07/2004, 10h51
  2. [JSP] [STRUTS] Switch dans une action
    Par babylone7 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 28/07/2004, 15h21
  3. Réponses: 4
    Dernier message: 27/04/2004, 14h45
  4. [STRUTS][DOWNLOAD] download d'un fichier via une action
    Par FreshVic dans le forum Struts 1
    Réponses: 3
    Dernier message: 16/04/2004, 16h38
  5. [débutant]Faire appel à une action d'une ActionList
    Par petitours dans le forum C++Builder
    Réponses: 6
    Dernier message: 12/03/2004, 22h53

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