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.
Example of a reverse-engineered solution
System icon to represent UML System 1. A system is an application or process that can be modeled.
Folder icon to represent the UML Model, Static Model. A model is an abstraction of a system.
Folder icon to represent the UML Top Package. A package is a grouping of model elements. Packages created by dragging the Package shape to the drawing page also appear in the Model Explorer.
Subsystem icon to represent the UML subsytem, BLL, a project within Visual Studio. Subsystems created by dragging the Subsystem shape to the drawing page also appear in the Model Explorer.
Folder icon to represent UML nested package, FM Stocks, a namespace within a project in Visual Studio.
Static structure icon to represent the model diagram, Static Structure1. Double-clicking this icon displays the drawing page for the corresponding model diagram.
Icon to represent the Class element, Account. Classes created by dragging the Class shape to the drawing page also appear in the Model Explorer.
Icon to represent the attribute, DefaultBalance. If you drag an attribute icon to the drawing page, a Class shape that contains this attribute is added to the page.
Icon to represent the operation, Add. If you drag an operation icon to the drawing page, a Class shape that contains this operation is added to the page.