Reverse engineered code in the Model Explorer tree view

In Microsoft Office Visio, reverse-engineered code constructs appear at various levels in the tree view of the UML Model Explorer. At the top is the UML System level, which contains subsequent levels for models, subsystems, packages, and classes that have been reverse engineered. All of the elements represented by these icons and folders can be renamed.

In addition, a default set of packages is included that contains for C#, C++, IDL, and Visual Basic data types. You cannot rename these default folders.

UML system

"A blue, red and green triangular icon at the very top of the Model Explorer, representing the UML System"

The UML system is a container for the UML models that you develop. In the tree view, the system is represented by a unique icon and given the default name UML System.


Green folder icon with text: Static Model

Under the UML system icon is the UML model level, represented by a green folder icon. A solution in Visual Studio is reverse engineered at the model level as Static Model.

You can add and delete a model to a UML system, but there must be at least one model in a UML system.

Top package

Yellow folder icon with text: Top Package

Namespaces in Visual Studio are reverse engineered as packages. The global namespace becomes the global package, named Top Package by default.

The top package is represented by the yellow folder icon that is used for all package folders in the tree view.


Red folder representing a UML Subsystem folder named BLL.

Projects in Visual Studio are reversed engineered as UML subsystems. Nested projects are reverse engineered as nested subsystems. A subsystem can contain an entire model within a system.

A reverse engineered subsystem is named for the project it represents and shown in the tree view by a red folder icon. For example, BLL is the name of the project reverse engineered in the FMStocks7 sample.

You can add a subsystem to a UML model using the Subsystem shape from the UML Static Structure diagram stencil.

UML Subsystem shape icon

Nested packages

"2 yellow folder icons, with BLL nested under FMStocks7"

You can have multiple levels of nested packages in a UML model. Each nested package is represented by a yellow folder icon in the tree view, with the name of the package it represents. For example, the folder icon for the package BLL is nested under the folder icon for the package FMStocks7.

You can add a package to a UML model using the Package shape from the UML Static Structure stencil.

UML Package shape icon


"White square icon in Model Explorer, representing the class Account"

User-defined classes in the source code are reverse engineered as classes containing attributes, operations, and properties. Reverse-engineered classes are represented in the UML tree view by icons named for the class definitions. Classes appear in the tree view according to where they have been defined.

You can add a class to a UML model using the Class shape from the UML Static Structure stencil.

UML Class shape icon

Note: Classes for which references can't be resolved are reverse engineered as classes under a package named External Classes. This situation occurs if a solution or project is not built before reverse engineering.

Share Facebook Facebook Twitter Twitter Email Email

Was this information helpful?

Great! Any other feedback?

How can we improve it?

Thank you for your feedback!