Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

VS2015 Enterprise Reverse Engineer Code to UML

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.

like image 437
Andez Avatar asked Aug 14 '15 10:08

Andez


People also ask

What is reverse engineering in UML?

Reverse engineering is the process to reverse engineer UML model from Java source. With reverse engineering, you can visualize your program or system with class diagram. Before reverse engineering, you must open the UML project from the Java project.

How do I reverse engineer in Visual Studio?

In Visual Studio, on the Project menu, point to Visio UML, and then click Reverse Engineer. In the Select Visio UML File dialog box, specify options for naming and saving the Microsoft Office Visio drawing.


Video Answer


1 Answers

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?

like image 83
Bogdan Gavril MSFT Avatar answered Sep 26 '22 03:09

Bogdan Gavril MSFT