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.
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.
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.
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.
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.
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.
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.
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.