About Microsoft Visual C++ 6.0 language mapping

The UML Model Diagram template in Microsoft Office Visio reverse engineers any code information that is stored in the project Browse Information file. It supports the following C++ language constructs for reverse engineering Visual C++:

  • Classes include class inheritance (represented by UML generalizations), member functions, and member variables.

  • User-defined types are created as classes with member variable names.

  • Enumerated types are created as classes (type names only).

  • Member functions include visibility (public, protected, or private), scope (local, static, or shared), polymorphism, and parameters.

  • Member variables include visibility (public, protected, or private) and scope (local, static, or shared).

  • Method parameters include type and name (with some exceptions).

It's not always possible to generate the correct parameter names for a given method because of the way the Browse Information file API obtains parameter names. In such cases the integration generates default names (p0, p1, and so on).

Multiplicity modifiers are prefixed to the name of the parameter.

Notes: 

  • Parameter names and types are generated for methods.

  • Parameters aren't read for utility functions (those functions that are not part of a class).

  • Parameter names can only be retrieved if the method declaration exists outside the class definition due to a limitation in the browse file API. When parameter names can't be determined, the UML Model Diagram template automatically generates the names (for example p0, p1, and so on).

  • Method return types aren't generated because this information isn't stored in the browse file.

  • N-to-1 associations aren't recognized in this release (but attribute type information isn't generated because this information isn't stored in the browse file).

  • Class member variables are created as UML attributes (but attribute type information isn't generated because this information isn't stored in the browse file).

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!

×