C ++ reverse engineering code using "Enterprise Architect"

This is again a kind of “how to do it right” question. Sorry if someone is annoyed.

I need to understand about 150 TLOCs of a C / C ++ mix. I imported the code into the UML-Tool "Enterprise Architect" and got a messy graph. Many Structs and Enums had anonymous names due to these C-ish constructs:typedef struct/enum {...} MyType;

In the second run, I converted it to a C ++: form struct/enum MyType{...};, but got a bunch of unrelated structures. Unfortunately, Enterprise Architect does not allow typedefs. for example, no relationship was found between A, B, and C:

struct A;
struct B;
typedef A *PtrA;
typedef List<B> BList;
struct C{ PtrA pA; BList lB; };

Thanks to all the naming rules, I was able to replace all typedefs with the original type as follows:

struct C{ A pA; B lB; };

"Enterprise Architect" . - . , "-" EA . :

  • EA ?
  • UML- ( ) ?

!

+4
1

Enterprise Architect, , , doxygen. , . GraphViz "UML-style", , .

+2

Source: https://habr.com/ru/post/1781230/


All Articles