If you develop projects in Microsoft Visual C++, Microsoft Visual Basic, or Microsoft Visual C#, Visual Studio .NET offers an integrated software modeling solution using Microsoft Office Visio. From within Visual Studio, you can reverse engineer your source code into the Unified Modeling Language (UML); your project's class definitions are used to generate a UML diagram in the Visio environment.
For example, you may have inherited a legacy solution (solution: The file folder that contains templates for particular drawing types. For example, the Project Schedule solution folder contains the Calendar, Gantt Chart, PERT Chart, and Timeline, templates that you use to create those drawing types.) that was developed using Visual Basic or Visual C++. To better understand the structure of the solution, you can open it in Visual Studio .NET and then automatically extract its structures for viewing as elements in a UML static structure (static structure diagram: A diagram that shows the static structure of a model; that is, the elements that exist (such as classes and types), the internal structure of the elements, and their relationships to one another.) diagram. Or, you may have written a new project (project: In Microsoft Visual Basic for Applications (VBA), the code that you write that is saved with a Visio file. You can create only one project for a Visio document, but that project can consist of any number of modules.) in Visual C# (or Visual Basic or Visual C++) and want to view its classes as graphical objects. Using the class definitions in your project, reverse engineering allows you to view the design model for your new project.
Reverse engineer a project or an entire solution
You can reverse engineer an entire solution or a selected project within a solution. The selections you make in the Visual Studio Solution Explorer determine what is reverse engineered to the Visio UML.
Note Be sure to build the solution in Visual Studio before reverse engineering to help resolve cross-project references.
Initiating reverse engineering in Visual Studio
Launching existing Visio files from within Visual Studio