VS2015 Enterprise Reverse Engineer Code to UML

Andez picture Andez · Aug 14, 2015 · Viewed 12.9k times · Source

I'm looking at the various Architecture features of Visual Studio 2015 Enterprise edition. All looks good.

However, I have code that is all ready written and I would like to generate Class Diagrams from it. NOT the standard Add Class Diagram in a Project - but from the UML Class Diagrams. I have created a Modelling Project for this.

I cannot see a way to do this - is it possible? Can I reverse engineer existing code into nice diagrams?

Here is my solution view:

Solution View

Here is the Class Diagram Designer:

Class Diagram Designer

I can drag and drop projects from Solution Explorer into a Layered Diagram but nothing with classes. Here is one I made earlier:

Layered Diagram

I can drag and drop classes into Code Map from Solution Explorer. It would be nice to have all my modelling in one project. I really hate the old class diagramming where you add it to a single project.

This seemed to be a feature in previous Ultimate editions. However, the following Url does not have a link for 2015 (only up to 2013).

MSDN

UPDATE

I installed 2013 Ultimate we have a licence for and indeed all of this functionality is in this version. Why not 2015 Enterprise? Can we expect Microsoft is not going to support this no longer and is phasing it out? Or was it a case of there was no time for 2015 and it will be included in an update.

Answer

Bogdan Gavril MSFT picture Bogdan Gavril MSFT · Aug 21, 2015

TLDR; at this point Visual Studio 2015+ doesn't have plans to support reverse engineering to the UML class diagram, nor to the UML sequence diagram.

Visual Studio 2015 uses brand new compilers (project Roslyn) for C# and VB, and many features that interact with the code had to be reworked to support the new paradigm.

At the same time, our telemetry data shows that reverse engineering is not used that much. Conversations with customers show that many people are moving to faster release cycles, which means that diagrams go out of date too quickly to be useful.

As such we decided to invest in Class Diagrams (not the UML ones) and in Code Map. Both of these support reverse engineering. Code Map in particular has been worked on to eliminate many bugs and improve performance and scalability, and is the technology of choice for analyzing architecture. Here's an article that shows some scenarios that Code Map is good at.

That said, VS 2013 continues to support these scenarios and you can install it side by side. You can ask for features on UserVoice - there is already a request to bring back sequence diagram reverse engineering.

What were you planning to use Reverse Engineer for?