Gerando UML a partir de código C ++? [fechadas]

113

Existe uma ferramenta que pode analisar arquivos C ++ em um projeto e gerar UML a partir dele?

gak
fonte

Respostas:

74

Aqui estão algumas opções:

Guia passo a passo para reverter código de engenharia em diagramas UML com Microsoft Visio 2000 - http://msdn.microsoft.com/en-us/library/aa140255(office.10).aspx

BoUML - http://bouml.fr/features.html

StarUML - http://staruml.sourceforge.net/en/

Engenharia reversa do diagrama de classes UML do código C ++ na presença de contêineres fracamente tipados (2001) - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.9064

Umbrello UML Modeller - http://uml.sourceforge.net/

Uma lista de outras ferramentas para consultar - http://plg.uwaterloo.ca/~migod/uml.html

jwpfox
fonte
Aceitei a resposta mais completa.
gak de
1
BoUML ( bouml.fr ) está disponível para Linux, Windows e Mac.
Ruibarbo
2
Veja perguntas semelhantes aqui e aqui e aqui .
Keshava GN
8
BoUML não é grátis!
deepdive
2
StarUML falhou muito em produzir qualquer coisa útil.
bitmask
53

Se são apenas diagramas que você deseja, o doxygen faz um bom trabalho.

usuário 48956
fonte
2
Acabei de obter hierarquia de classes completa em um projeto LOC de + 300K com o Doxygen, realmente faz um trabalho muito bem!
HFSDev
15

Acredito que o Enterprise Architect pode fazer isso.

cschol
fonte
2
Certamente que sim, e faz bem. Eu uso há anos e, para mim, é de longe a melhor ferramenta de preço / desempenho (entre as que usei). Eu tentei StarUML e Together também - o primeiro tem potencial, mas ainda está incompleto. O segundo é dolorosamente lento.
Fabio Ceconello
Porém, não experimentei o Rational Rose, pois está bem acima da minha faixa de preço aceitável.
Fabio Ceconello
15

Desenvolvi uma ferramenta chamada Doxygraph que pode analisar o XML gerado pelo Doxygen e transformá-lo em um diagrama de classe UML interativo que você pode visualizar em um navegador da web ou importar para qualquer software que possa ler arquivos "dot" do Graphviz.

Oktalist
fonte
2
Muito bom aplicativo! Tirando o fato de que depende de um monte de libs que eu não tinha (baixado depois do cpan), tudo funciona perfeitamente. Obrigado!
Rubens,
7

Acho que a Wikipedia pode ser uma grande fonte de informações sobre essas ferramentas, especialmente para tabelas de comparação. Existe uma página sobre ferramentas UML . Veja em particular a coluna de idiomas com engenharia reversa .

Ruibarbo
fonte
5

O UML Studio faz isso muito bem em minha experiência e será executado no "modo freeware" para projetos pequenos.

Patrick Johnmeyer
fonte
Você pode executá-lo no modo gratuito (restrito) no Wine.
SChepurin
3

Parece que o Umbrello produz o melhor código UML a partir de C ++ (sugira o uso da versão mais recente> = 2.22) em comparação com o autodia de linha de comando para Dia e outras ferramentas.

StarUML não produziu bons diagramas para mim: importação estranha, não utilizável, não funciona para muitas pessoas: https://github.com/staruml/Cpp/issues

Aleksey Kontsevich
fonte
2

Quem quer UML merece Rational Rose :)

obecalpo
fonte
2
bom programa, mas muito caro!
ak3nat0n
O link desta resposta está desatualizado. O link atual é www-01.ibm.com/software/rational/products/swarchitect/cpp
Dan Nissenbaum
O link original e o dos comentários estão desatualizados. Não sei onde encontrar a versão atual.
Bruno Alexandre Rosa
impossível encontrar a página do produto.
nurp de
2

Usei o Rational Rose e o Rational Rhapsody para grandes projetos de engenharia reversa. Eu preferiria o Rational Rhapsody para obter os arquivos de classe UML para C ++!

Shan
fonte
1

StarUML faz exatamente isso e é grátis. Infelizmente, não foi atualizado por um tempo. Houve alguns projetos derivados (já que os administradores do projeto não permitiriam que fosse assumido), mas eles também morreram.

graham.reeds
fonte
1
StarUML não produziu bons diagramas para mim estranha importação. @Rhubbarb, também funciona em Linux e Mac.
Aleksey Kontsevich
O último lançamento agora é agosto de 2018, portanto, foi retomado
Bart é