Om mapping af Microsoft Visual C++ 7.0-kode til UML

Når der foretages reverse engineering, svarer følgende kodestrukturer i Visual C++ til UML-elementer:

Navneområde

Et navneområde i C++ bliver ved reverse engineering til en UML-pakke og indeholder:

  • Navn

  • Medlemmer

Bemærk: Variabler, som er defineret uden for en klasse, føjes til en klasse med stereotypen <<utility>> i navneområdet.

Klasse

En klasse i C++ bliver ved reverse engineering til en UML-pakkeklasse og indeholder:

  • Navn

  • Nedarvede klasser

  • Synlighed (offentlig, beskyttet eller privat)

  • ErAbstrakt

  • Medlemshandlinger

  • Medlemsvariabler

Bemærk: I C++ foretages der ikke reverse engineering af klassedefinitioner i funktioner.

Optæl

En optællingstype i C++ bliver ved reverse engineering til en UML-pakkeklassedatatype med <<enum>>-pakkeklassedatatypestereotyper og indeholder:

  • Navn

  • Synlighed (offentlig, beskyttet eller privat)

  • ErLeaf

  • Medlemmer

Struktur

En struktur i C++ bliver ved reverse engineering til en UML-klasse med <<struct>>-pakkeklassedatatypestereotyper og indeholder:

  • Navn

  • Synlighed (offentlig, beskyttet eller privat)

  • ErAbstrakt

  • ErLeaf

  • Basisklasser

  • Medlemmer

Foren

Foreningsmængder i C++ bliver ved reverse engineering til en UML-klasse med <<union>>-stereotypen og indeholder:

  • Navn

  • Synlighed (offentlig, beskyttet eller privat)

  • ErLeaf

  • Medlemmer

Medlemshandlinger

Medlemshandlinger i C++ bliver ved reverse engineering til UML-pakkeklassedatatypestereotyperhandling og indeholder:

  • Navn

  • Synlighed (offentlig, beskyttet eller privat)

  • Område (lokal, statisk eller delt)

  • ErPolymorf

  • ErAbstrakt

  • Handlingstype

Handlinger har etiketter efter type, f.eks. konstruktor, destruktor, operator eller procedure. Du kan få vist etikettyperne i UML-modellen på fanen Indstillinger for kodegenerering i dialogboksen Egenskaber for UML-handling.

  • Returtype

  • Parametre

Medlemsvariabler

Medlemsvariabler i C++ bliver ved reverse engineering til UML-pakkeklassedatatypestereotyperhandlingattribut og indeholder:

  • Navn

  • Type

  • Synlighed (offentlig, beskyttet eller privat)

  • Område (lokal, statisk eller delt)

  • Redigerbar (fastlåst eller redigerbar)

  • Startværdi

Metodeparametre

Metodeparametre i C++ bliver ved reverse engineering til UML-pakkeklassedatatypestereotyperhandlingattributparameter og indeholder:

  • Navn

  • Type

  • Retning (ind, ind-/udgående, ud eller retur)

  • Standardværdi

  • Multiplicitet

Multiplicitetsmodifikatorer føjes til parametertypens suffiks. Et eksempel:

void Func(int *p)

bliver ved reverse engineering til:

p: int*

Typedef

En typedefinition (typedef) i C++ bliver ved reverse engineering til en UML-klasse og indeholder:

  • Navn

  • Synlighed (offentlig, beskyttet eller privat)

  • Bindingsforhold til basistypen

Skabelondefinitioner

Skabelondefinitioner i C++ bliver ved reverse engineering til en pakkeklassedatatypestereotyperhandlingattributparameterparameteriseret klasse og indeholder:

  • Navn

  • Parametre

  • Medlemsvariabler

  • Medlemshandlinger

Andre C++-kodestrukturer, der kan foretages reverse engineering på

  • Funktionsangivelse: Inline

  • Cv-operator: På Const bliver der foretaget reverse engineering for medlemsvariabler og medlemsfunktioner

  • Id for konverteringsfunktion: operator conversion-type id

  • Id for operatorfunktion: operator operator

C++-kodestrukturer, der ikke understøttes i UML

Følgende C++-kodestrukturer knyttes ikke til UML-elementer ved reverse engineering fra Visual Studio.NET til et UML-modeldiagram i Microsoft Office Visio.

Klasser  Der foretages ikke reverse engineering på klassedefinitioner i funktioner.

Erklæringsangivelse  Der foretages ikke reverse engineering på Friend.

Lagerklasseangivelse  Der foretages ikke reverse engineering på Auto, Register, Extern, Mutable.

Funktionsangivelse  Der foretages ikke reverse engineering på Explicit.

Brugsdirektiv  Der foretages ikke reverse engineering på navneområde.

Asm-definition  Der foretages ikke reverse engineering på Asm.

Tilknytningsangivelse  Der foretages ikke reverse engineering på Extern.

Der foretages ikke reverse engineering på Cv-operatoren Volatile.

Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×