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

Autres Diagrammes Discussion :

Appels statiques ? [Séquence]


Sujet :

Autres Diagrammes

  1. #1
    Invité
    Invité(e)
    Par défaut Appels statiques ?
    tout le monde !!

    voilà, juste une question de pure technique UML : dans un diagramme de sequences, je veux representer un appel à une fonction statique. comment je fais ? vu que les "colonnes" representent des instances...

    est-ce que je fais une colonne qui ne represente aucune instance ? bien sur ça sera comprehensible (c'est l'essentiel) mais je voudrais etre sur de respecter la norme du formalisme UML... ou savoir si UML met un moyen plus explicite à disposition

  2. #2
    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
    Je ne vois pas où est le problème puisque la fonction est normalement déjà spécifiée comme statique dans le diagramme de classe.
    Franckintosh, penseur différent.

  3. #3
    Invité
    Invité(e)
    Par défaut
    ouais bien sur, mais en fait ça me fait bizarre d'appeler une fonction statique sur une instance. je voulais savoir si UML propose une notation speciale pour representer une classe et non pas un objet. mais bon s'il n'y en a pas, ce n'est pas grave, c'est tres comprehensible comme ç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
    Citation Envoyé par torvalds17
    ouais bien sur, mais en fait ça me fait bizarre d'appeler une fonction statique sur une instance.
    Et dans ton code ça te fait pas bizzare ?
    Franckintosh, penseur différent.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Franckintosh
    Citation Envoyé par torvalds17
    ouais bien sur, mais en fait ça me fait bizarre d'appeler une fonction statique sur une instance.
    Et dans ton code ça te fait pas bizzare ?
    ben justement, dans le code ma fonction statique ne sera pas appelée sur une instance, donc ça me fait bizarre de le representer comme ça... en fait ma question est : comment le representer ? et il y a 3 reponses possibles :
    • representer la classe comme une instance, et donc l'appel statique comme un appel de methode d'instance. ça n'est pas la realité, mais c'est comprehensible. c'est ce que je fais actuellement
    • peut-etre qu'il existe une symbolique specifique que je ne connais pas, qui permet de representer des appels statiques
    • on ne represente pas les appels de fonctions statiques dans le diagramme de sequences


    laquelle de ces solutions vous utilisez ?

  6. #6
    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
    Citation Envoyé par torvalds17
    • peut-etre qu'il existe une symbolique specifique que je ne connais pas, qui permet de representer des appels statiques
    • on ne represente pas les appels de fonctions statiques dans le diagramme de sequences
    Statique ou pas un appel de fonction reste un appel de fonction.

    justement, dans le code ma fonction statique ne sera pas appelée sur une instance
    ... Si on on pose la mauvaise question sur un problème on obtient forcément une mauvaise réponse pour le résoudre...
    Si ton problème ne se situe qu'à la représentation de l'appel de la fonction tu as ma réponse. Mais J'ai bien l'impression que tu as omis de préciser que ta classe aussi est statique, et que par conséquent ton problème n'est pas l'appel de fonction mais la représentation de la classe. Ai je une bonne impression ?
    Franckintosh, penseur différent.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Franckintosh
    Mais J'ai bien l'impression que tu as omis de préciser que ta classe aussi est statique, et que par conséquent ton problème n'est pas l'appel de fonction mais la représentation de la classe.
    gné ? une classe statique ? késako ?

    non non moi je te parle juste d'un appel à une methode statique, tout bete... si tu veux tout savoir c'est une methode qui retourne l'ensemble des instance de ma classe (une truc du genre getAll() qui retourne le contenu d'un tableau statique). m'enfin bon je vais continuer à le representer comme un appel de fonction tout a fait normal, car comme tu dis c'est toujours un appel de fonction...

    à toi

    je laisse le sujet en "non-résolu" pour le moment, au cas où quelqu'un aurait une autre idée...

  8. #8
    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
    Citation Envoyé par torvalds17
    gné ? une classe statique ? késako ?
    C'est le même principe que pour une fonction (mais je crois me rappeler que le terme exact est singleton).

    non non moi je te parle juste d'un appel à une methode statique, tout bete... si tu veux tout savoir c'est une methode qui retourne l'ensemble des instance de ma classe (une truc du genre getAll() qui retourne le contenu d'un tableau statique).
    Et tu l'appelles comment donc cette fonction sans passer par une instance de la classe ?
    Franckintosh, penseur différent.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Franckintosh
    Et tu l'appelles comment donc cette fonction sans passer par une instance de la classe ?
    ben, de la maniere la plus naturelle du monde, en PHP4 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomClasse::nomFontionStatique();

  10. #10
    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
    Ok je comprends mieux.
    Je ne peux que suggérer de ne pas donner de nom d'objet dans le diagramme de séquence.
    Franckintosh, penseur différent.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Franckintosh
    Je ne peux que suggérer de ne pas donner de nom d'objet dans le diagramme de séquence.
    ben ouais, c'est ce que je fais deja

    merci

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 79
    Points : 72
    Points
    72
    Par défaut
    En java, les classes heritent de la classe Class, donc même les methodes statiques sont issue d'une classe instanciée.

  13. #13
    Invité
    Invité(e)
    Par défaut
    dans un contexte Java, ta remarque est vachement interessante

    mais ici je suis en PHP, donc je crois qu'il faut simplement que je continue à representer ça comme une instance sans nom de la classe...

  14. #14
    Invité
    Invité(e)
    Par défaut
    juste pour dire que j'ai trouvé une solution un peu plus poussée à ce probleme : un appel est statique lorsqu'il se fait sur une "ligne de vie" où aucun objet n'a été instancié. explication graphique car c'est pas super clair :


    ici un appel de fonction statique :



    ici un appel de methode membre d'une instance :



    perso c'est ce qui me parait le plus comprehensible...

  15. #15
    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
    J'avoue ne pas avoir vu où se situe la subtilité dont tu parles.
    Franckintosh, penseur différent.

  16. #16
    Invité
    Invité(e)
    Par défaut
    ben dans la premiere image, la "ligne de vie" nommée ":Stat" represente la classe, elle n'est pas instanciée (aucun message de creation n'arrive sur elle). le message getAll() qui arrive sur elle est donc un appel de fonction statique, vu qu'aucun objet de Stat n'existe.

    alors que sur la seconde image, la classe Stat est instanciée par l'appel "CreateAction" qui appelle le constructeur de "Stat" pour créer l'objet "bugTypes". donc l'appel de fonction qui vient derriere se fait sur l'objet, c'est donc un appel ciblé...

    enfin ça c'est ma vision, je ne sais pas si c'est vraiment correct...

  17. #17
    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
    Citation Envoyé par torvalds17
    ben dans la premiere image, la "ligne de vie" nommée ":Stat" represente la classe, elle n'est pas instanciée (aucun message de creation n'arrive sur elle).
    Euh non ça veut juste dire que l'instanciation ne se fait pas dans la séquence représentée sur ce diagramme, l'instanciation a très bien pu se faire dans une autre séquence.
    Franckintosh, penseur différent.

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

Discussions similaires

  1. Fonctions appelées statiquement et dynamiquement
    Par ticroch dans le forum Langage
    Réponses: 2
    Dernier message: 28/09/2012, 22h42
  2. Appel statique de fonction
    Par thetux dans le forum C++
    Réponses: 13
    Dernier message: 11/08/2009, 13h03
  3. [Collaboration/Interaction] Représenter un appel statique
    Par newic500 dans le forum Autres Diagrammes
    Réponses: 9
    Dernier message: 11/12/2007, 14h26
  4. [POO] Appels statiques sur des classes
    Par daajack dans le forum Langage
    Réponses: 2
    Dernier message: 07/12/2007, 15h47
  5. [RegEx] Trouver les appels statique et dynamique d'une class
    Par jeff_! dans le forum Langage
    Réponses: 8
    Dernier message: 07/04/2006, 16h31

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