Rappelez-vous ce que signifie UML pour Unified Modeling Language. Ce n'est pas seulement pour modéliser les relations d'objet, ce que je crois être une idée fausse commune d'UML. Il peut également être utilisé pour les diagrammes d'état, les processus métier, les schémas de base de données, ... Voir: http://en.wikipedia.org/wiki/Unified_Modeling_Language.
J'ai récemment utilisé IBM Rational Software Architect pour convertir des diagrammes d'état en Perl. Mais pour Perl, nous devions écrire nos propres fichiers de traduction car Architect ne les incluait pas pour Perl.
Mais si vous parlez du code C, Architect dispose d'une fonctionnalité intégrée pour effectuer l'ingénierie inverse du code écrit dans un diagramme UML. J'ai utilisé cette fonctionnalité pour Java et cela fonctionne plutôt bien et crée un diagramme d'objets. Je ne l'ai pas utilisé pour C auparavant, donc je ne sais pas si cela le transformera en une séquence, une activité ou un diagramme d'état.
Vous pouvez télécharger la version d'essai de Software Architect et voir si cela fonctionne pour votre code.
La plupart des diagrammes UML peuvent être utilisés pour documenter le code procédural. –
En fait, dans la réalité, les gens n'utilisent généralement pas UML pour documenter les programmes OO en premier lieu. –
Dans le monde réel, la plupart des gens ne documentent pas les programmes, point final. Que ce soit une bonne chose ou non est discutable. –