Visual Studio .NET 2003 supports reverse engineering, which enables you to generate the UML static model from the .NET application code. System analysts can use the generated UML model to analyze the existing application.
When you reverse engineer the .NET code, Visio opens automatically and generates classes for the application in the Model Explorer view of Visio. Reverse engineering automatically maps the classes, namespaces, and methods in the .NET code to the UML static model. You then specify the relationships between the classes and references to other classes in the UML static model because the model itself does not create relationships.
Reverse engineering is helpful in situations when you want to update an existing application. For example, an enterprise uses a Web application that automates order processing. The enterprise decides to update the application by adding a new module that tracks order related queries from customers. To add a new module, you need to recreate the model diagram that displays the interactions of the new modules with the existing modules. Instead of drawing the model diagram from scratch, the system designer can use reverse engineering to create the model diagram of the existing application and show the interactions of the new modules with existing modules.