9
votes

I need to make a UML class diagram for a project. I used Sparx Enterprise Architect in the past to generate source code from a diagram so I'm using that.

The project is complete so all of the code is done and I don't really want to write all the classes/functions manually, so I was trying to generate the diagram from the source code but can't seem to find a way to do it. I searched online and on their website but nothing.

Any help appreciated.

3
What value do you think you are adding by doing this? I'd stick to a package diagram showing responsibilities in modules, and use something like doxygen for documenting the project as built.Pete Kirkham
I just did it because I had to (and no one told me beforehand). I always document projects with doxygen though.user228938
I am not sure that makes much sense; Doxygen can generated UML style class diagrams.Clifford

3 Answers

6
votes

It's called "reverse engineering" to import the code into the model. After it's in the model you can make diagrams.

10
votes

For Version 8 of EA Corporate Edition. Open or create a project. Create empty class diagram. Menu selection: Project -> Source Code Engineering -> Import Files Directory dialogue box opens for you to select files.

I have 'reverse engineered' many C++ projects, large and small. You WILL spend significant time on cleaning up. It will depend on the quality of the project, its structure and code.

Then you can generate a documentation report on it (Project->Documentation) which I have found very useful, the HTML report, to navigate the code.

1
votes

for that you should first use Reverse Engineering options but as some other users pointed out, this is not a strenght from EA. i tried in the past (version 7.3 I think) to do it with C, Python and Java Projects and the results were not always satisfactory.

I dont know which programming language is your code written in, but as for C, if you use preprocessor instructions, you will have lot of issues and incompatibilities in the result.