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

Algorithmes et structures de données Discussion :

Génerer un arbre représentant un diagramme de classe


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 73
    Points : 57
    Points
    57
    Par défaut Génerer un arbre représentant un diagramme de classe
    Bonjour,

    A partir d'un répertoire de fichiers source je dois génerer un arbre répresentant les relations entre ces fichiers selon le code qu'ils contiennent(une sorte de diagramme de classe en gros, une classe définie dans un fichier pouvant être appelée dans un autre).

    Est ce qu'il y a un algorithme connu qui fait ce genre de chose ?

    Sinon je pensais :
    1- récupérer la liste des fichiers de mon répertoire dans un tableau
    2- parser chaque fichier (determiner les classes et sous classes qui le compose)
    3- former mon arbre à partir des ces fichiers (mais là je ne vois pas trop comment pour l'instant)

  2. #2
    Membre confirmé
    Profil pro
    Directeur Scientifique
    Inscrit en
    Avril 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur Scientifique

    Informations forums :
    Inscription : Avril 2005
    Messages : 419
    Points : 554
    Points
    554
    Par défaut
    Il faudrait définir de manière plus claire la relation: il faut être capable de répondre à la question "Y a-t-il une relation de A vers B?" pour tout fichier A et B. Pour cela, d'après ce que je comprends, il est effectivement utile d'établir les listes des classes déclarées et des classes appelées dans chaque fichier.

    En revanche, il n'est pas du tout sûr que le graphe généré soit un arbre (peut-être est-ce vrai pour certains langages... et pour des programmeurs propres;-) )

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 73
    Points : 57
    Points
    57
    Par défaut
    Qu'est ce qui te fais dire que le graphe généré n'est pas forcémment un arbre ?

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Tu dois absolument le faire toi-même, ou tu dois juste avoir, à la fin, un graphe plus ou moins définitif ?

    Si c'est pour une question documentaire, tu peux envisager l'utilisation de Doxygen couplé à DOT.EXE (traceur de graphes orientés).
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 73
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par Mac LAK
    Tu dois absolument le faire toi-même, ou tu dois juste avoir, à la fin, un graphe plus ou moins définitif ?

    Si c'est pour une question documentaire, tu peux envisager l'utilisation de Doxygen couplé à DOT.EXE (traceur de graphes orientés).
    Tu peux l'utiliser pour n'importe quel langage ? (mon diagramme concerne le langage VHDL)

  6. #6
    Membre confirmé
    Profil pro
    Directeur Scientifique
    Inscrit en
    Avril 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur Scientifique

    Informations forums :
    Inscription : Avril 2005
    Messages : 419
    Points : 554
    Points
    554
    Par défaut
    Citation Envoyé par korrigan
    Qu'est ce qui te fais dire que le graphe généré n'est pas forcémment un arbre ?
    Par exemple si A, B et C sont dans 3 fichiers différents,
    C appelle à la fois A et B
    B appelle A, on a:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     B
    ^ \
    |  \
    |   \
    C---> A

  7. #7
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par korrigan
    Tu peux l'utiliser pour n'importe quel langage ? (mon diagramme concerne le langage VHDL)
    Presque : en fait, Doxygen ne sait utiliser réellement que le C et le C++, mais il y a des adaptations à d'autres langages (pour Java, par exemple, c'est plutôt simple).
    Pour le VHDL, tu cherches ADA (c'est le langage le plus proche syntaxiquement) ou Pascal. La documentation "réelle" sera certainement pleine d'erreurs, mais les graphes devraient pouvoir être générés correctement.

    Doxygen :
    http://www.doxygen.org/

    Utilitaires pour Doxygen :
    http://www.stack.nl/~dimitri/doxygen/helpers.html

    Autres outils de documentation automatique :
    http://www.stack.nl/~dimitri/doxygen/links.html
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. Diagramme de classe, représentation d'une interface
    Par Leniouns dans le forum BOUML
    Réponses: 2
    Dernier message: 05/01/2012, 08h36
  2. Réponses: 0
    Dernier message: 04/01/2012, 15h49
  3. [debutant] représentation vector dans diagramme de class
    Par onap dans le forum Diagrammes de Classes
    Réponses: 5
    Dernier message: 23/12/2004, 22h01
  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