J'ai cherché du matériel décrivant comment générer des diagrammes de classes simples avec doxygen, mais je n'ai pas pu en trouver. Quelqu'un peut-il aider?
J'ai besoin de créer des diagrammes comme indiqué ci-dessous à partir d'un ensemble de fichiers C ++.
S'il existe de meilleurs outils pour y parvenir plus facilement, veuillez me le faire savoir.
Réponses:
Doxygen crée des diagrammes d'héritage mais je ne pense pas que cela créera une hiérarchie de classes entière. Il vous permet d'utiliser l'outil GraphViz. Si vous utilisez l'outil d'interface graphique Doxygen, vous trouverez les options appropriées dans
Step2: -> Wizard tab -> Diagrams
. Les options de relation DOT se trouvent sous l'onglet Expert.la source
Citation de ce post (il est écrit par l'auteur de doxygen lui-même):
la source
Hmm, cela semble être un peu une vieille question, mais depuis que je me suis amusé avec la configuration de Doxygen ces derniers jours, alors que ma tête est toujours pleine d'informations actuelles, essayons-y -
Je pense que les réponses précédentes l'ont presque:
L'option manquante est d'ajouter
COLLABORATION_GRAPH = YES
dans le Doxyfile. Je suppose que vous pouvez faire la chose équivalente quelque part dans l'interface graphique de doxywizard (je n'utilise pas doxywizard).Ainsi, comme exemple plus complet, les options typiques "Doxyfile" liées à la sortie UML que j'ai tendance à utiliser sont:
Ces paramètres généreront à la fois des diagrammes «héritage» (
CLASS_GRAPH=YES
) et «collaboration» (COLLABORATION_GRAPH=YES
).En fonction de votre cible pour le «déploiement» de la sortie doxygen, le réglage
DOT_IMAGE_FORMAT = svg
peut également être utile. Avec la sortie svg, les diagrammes sont "évolutifs" au lieu de la résolution fixe des formats bitmap tels que .png. Apparemment, si vous visualisez la sortie dans des navigateurs autres que IE, il y a aussiINTERACTIVE_SVG = YES
ce qui permettra "un zoom et un panoramique interactifs" des diagrammes svg générés. J'ai essayé cela il y a quelque temps, et la sortie svg était très attrayante visuellement, mais à l'époque, la prise en charge du navigateur pour svg était encore un peu incohérente, donc j'espère que la situation s'est améliorée récemment.Comme d'autres commentaires l'ont mentionné, certains de ces paramètres (
DOT_GRAPH_MAX_NODES
en particulier) ont des impacts potentiels sur les performances, donc YMMV.J'ai tendance à détester les réponses de style "RTFM", alors excuses pour cette phrase, mais dans ce cas, la documentation Doxygen est vraiment votre ami, alors consultez la documentation Doxygen sur les paramètres mentionnés ci-dessus - la dernière fois que j'ai regardé, vous pouvez trouver les détails sur http://www.doxygen.nl/manual/config.html .
la source
RECURSIVE
fichier en OUIEnterprise Architect construira un diagramme UML à partir du code source importé.
la source
Je pense que vous devrez éditer le fichier doxys et définir GENERATE_UML (quelque chose comme ça) sur true. Et vous devez avoir dot / graphviz installé.
la source
Les 2 réponses les plus élevées sont correctes. À partir d'aujourd'hui, la seule chose que je devais changer (par rapport aux paramètres par défaut) était d'activer la génération en utilisant dot au lieu du générateur intégré.
Quelques remarques importantes:
html/inherits.html
ou (à partir de la navigation sur le site) classes => class hierarchy => "Aller à la hiérarchie des classes textuelles".T
.foo
hérite deT
et que leT
paramètre de type de modèle a une valeur par défaut, cette valeur par défaut sera utilisée. S'il y a un typebar
qui hérite d'foo<U>
oùU
est différent de la valeur par défaut,bar
aura unfoo<U>
parent.foo<>
etbar<U>
n'aura pas de parent commun.variant
instanciation sera affichée pour héritervariant<Ts...>
.<...>
chaîne dans leur nom représentant les paramètres de type et non-type qui n'avaient pas de valeurs par défaut.la source