Il y en a mais ils sont chers. Rational Rose était le plus connu avant d'être acheté par IBM.
La nature du langage C++ rend très difficile l'analyse statique. C'est pourquoi il y a si peu d'outils qui peuvent le faire. Depuis la montée en puissance du développement non-C++ utilisant des langages supportant la réflexion/introspection, ce type d'outillage a vraiment laissé derrière lui le C++. Cela ne veut pas dire qu'il n'y en a pas, mais ils sont plus difficiles à trouver et font généralement partie d'un paquet coûteux de type 4GL. Rational Rose était principalement un outil qui vous permettait de schématiser un système. Il permettait de suivre les composants et de produire éventuellement du code source dans différentes langues. Il pourrait également inverser le code source dans les diagrammes dans une certaine mesure. Le produit Rational Rose a été quasiment remplacé par Rational Requisite Pro, une grande partie de la fonctionnalité (centrée sur Java) étant repliée dans la plate-forme IBM WebSphere Application Development, désormais appelée RAD. Les outils Rational étaient bien connus pour être si complets qu'ils étaient vraiment ciblés pour les grands magasins de développement travaillant avec un personnel tout aussi important, commençant généralement par plus de 50 développeurs, pour un seul projet. En raison de la complexité du langage C++ (du point de vue de l'outillage) et de la popularité de langages tels que Java et C#, les fournisseurs ont vraiment mis l'accent sur C++. Je ne connais pas aussi bien Visual Studio, qui supporte encore le C++, mais je serais prêt à deviner que le support C++ UML est seulement dans les éditions professionnelles chères comme Pro ou Ultimate.
J'ai essayé beaucoup d'outils avant d'abandonner et j'ai créé http://www.zenuml.com. J'ai trouvé le code de rétro-ingénierie dans le diagramme de séquence n'est pas vraiment une bonne idée. Je sais que quelques outils le font bien mais le résultat n'est pas très lisible. Avec ZenUML, vous réfléchissez fort et visiblement. –