Informationen zur Zuordnung zwischen Microsoft Visual C++ 7.0-Code und UML

Beim Reverse Engineering entsprechen die folgenden Visual C++-Codekonstrukte folgenden UML-Elementen:

Namespace

Ein Namespace in C++ entspricht beim Reverse Engineering einem UML-Paket und umfasst:

  • Name

  • Mitglieder

Hinweis : Variablen, die außerhalb einer Klasse definiert wurden, werden einer Klasse mit dem Stereotyp <<Hilfsklasse>> innerhalb des Namespaces hinzugefügt.

Klasse

Eine Klasse in C++ entspricht beim Reverse Engineering einer UML-PaketKlasse und umfasst:

  • Name

  • Vererbte Klassen

  • Sichtbarkeit (öffentlich, geschützt oder privat)

  • IsAbstract

  • Mitgliedsoperationen

  • Mitgliedsvariablen

Hinweis : Für C++-Klassendefinitionen innerhalb von Funktionen kann kein Reverse Engineering durchgeführt werden.

Aufzählung

Ein Aufzählungstyp in C++ entspricht beim Reverse Engineering einem UML-PaketKlasseDatentyp mit <<Aufzählung>>PaketKlasseDatentypStereotypen und umfasst:

  • Name

  • Sichtbarkeit (öffentlich, geschützt oder privat)

  • IsLeaf

  • Mitglieder

Struktur

Eine Struktur in C++ entspricht beim Reverse Engineering einer UML-Klasse mit <<Struktur>>PaketKlasseDatentypStereotypen und umfasst:

  • Name

  • Sichtbarkeit (öffentlich, geschützt oder privat)

  • IsAbstract

  • IsLeaf

  • Basisklassen

  • Mitglieder

Gesamtmenge bilden

Ein Union-Konstrukt in C++ entspricht beim Reverse Engineering einer UML-Klasse mit <<Gesamtmenge>>-Stereotyp und umfasst:

  • Name

  • Sichtbarkeit (öffentlich, geschützt oder privat)

  • IsLeaf

  • Mitglieder

Mitgliedsoperationen

Mitgliedsoperationen in C++ entsprechen beim Reverse Engineering UML-PaketKlasseDatentypStereotypenVorgang und umfassen:

  • Name

  • Sichtbarkeit (öffentlich, geschützt oder privat)

  • Bereich (lokal, statisch oder gemeinsam)

  • IsPolymorphic

  • IsAbstract

  • Operationsart

Operationen sind gemäß ihrem Typ markiert, z. B. Konstruktor, Destruktor, Operator oder Prozedur. Sie können diese Markierungen im UML-Modell anzeigen, indem Sie im Dialogfeld Eigenschaften für UML-Operation die Seite Codeerzeugungsoptionen verwenden.

  • Rückgabetyp

  • Parameter

Mitgliedsvariablen

Mitgliedsvariablen in C++ entsprechen beim Reverse Engineering UML-PaketKlasseDatentypStereotypenVorgangAttribut und umfassen:

  • Name

  • Typ

  • Sichtbarkeit (öffentlich, geschützt oder privat)

  • Bereich (lokal, statisch oder gemeinsam)

  • Veränderbar (unveränderlich oder veränderbar)

  • Anfangswert

Methodenparameter

C++-Methodenparameter entsprechen beim Reverse Engineering UML-PaketKlasseDatentypStereotypenVorgangAttributParameter und umfassen:

  • Name

  • Typ

  • Richtung (Eingabe, Ein-/Ausgabe, Ausgabe oder Rückgabe)

  • Standardwert

  • Multiplizität

Multiplizitätsänderungen werden dem Suffix des Parametertyps hinzugefügt. Beispiel:

void Func(int *p)

wird beim Reverse Engineering zu:

p: int*

Typedef-Konstrukt

Ein Typedef-Konstrukt in C++ entspricht beim Reverse Engineering einer UML-Klasse und umfasst:

  • Name

  • Sichtbarkeit (öffentlich, geschützt oder privat)

  • An den Basistyp gebundene Beziehung

Vorlagendefinitionen

C++-Vorlagendefinitionen entsprechen beim Reverse Engineering UML-PaketKlasseDatentypStereotypenVorgangAttributParameterParametrisierte Klasse und umfassen:

  • Name

  • Parameter

  • Mitgliedsvariablen

  • Mitgliedsoperationen

Andere C++-Codekonstrukte, für die ein Reverse Engineering durchgeführt werden kann

  • Funktionsbestimmung: Inline

  • Cv-Qualifizierung: Const-Reverse Engineering für Mitgliedsvariablen und Mitgliedsfunktionen

  • Konvertierungsfunktions-ID: Operator conversion-type id

  • Operatorfunktions-ID: Operator operator

C++-Codekonstrukte, die in UML nicht unterstützt werden

Die folgenden C++-Codekonstrukte können beim Reverse Engineering zwischen Visual Studio.NET und einem Microsoft Office Visio-UML-Modelldiagramm nicht zugeordnet werden.

Klassen  Für Klassendefinitionen innerhalb von Funktionen kann kein Reverse Engineering durchgeführt werden.

Deklarationsbestimmung  Für Friend-Konstrukte kann kein Reverse Engineering durchgeführt werden.

Speicherklassenbestimmung  Für Konstrukte vom Typ Auto, Register, Extern und Mutable kann kein Reverse Engineering durchgeführt werden.

Funktionsbestimmung  Für Explicit-Konstrukte kann kein Reverse Engineering durchgeführt werden.

Using-Direktive  Für Using-Namespace kann kein Reverse Engineering durchgeführt werden.

Asm-Definition  Für Asm-Konstrukte kann kein Reverse Engineering durchgeführt werden.

Verknüpfungsbestimmung  Für Extern-Konstrukte kann kein Reverse Engineering durchgeführt werden.

Cv-Qualifizierung  Für Volatile-Konstrukte kann kein Reverse Engineering durchgeführt werden.

Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×