Transformation C++

La transformation C++ convertit les éléments de modèle UML en code C++.

Que peut-on convertir en C++ ?

La transformation C++ peut convertir les éléments de modèle UML suivants en code C++.
  • Modèle
  • Package
  • Classe
  • Enumération
  • Composant
  • Artefact
Vous pouvez utiliser des composants et des artefacts pour organiser les éléments de votre modèle que vous souhaitez convertir en code C++. La sélection d'un artefact ou d'un composant génère une transformation C++ qui convertit les packages et classes concernés en code C++ lorsque l'une des relations suivantes existe :
  • Un artefact entretient une relation de manifestation avec des composants et ces composants ont une relation d'utilisation avec des packages et des classes
  • Un artefact entretient une relation de manifestation avec des packages ou des classes
  • Un composant entretient une relation d'utilisation avec des packages et des classes

Conversion d'éléments de modèles en code C++

Le tableau suivant montre comment la transformation C++ convertit les éléments de modèle UML suivants en code C++.

Elément de modèle UML C++
Package Dossier
Classe Classe (fichiers .h et.cpp)
Relation de généralisation Héritage de classe
Relation d'association Attribut classe
Propriété Attribut classe
Enumération Enum (fichier .h)
Opération Opération
Paramètre Argument d'opération
Relation d'utilisation Inclusion
Paramètre de canevas Paramètre pour classe paramétrée
Relation de liaison de canevas Classe instanciée (fichier .h)

Génération d'opérations C++ standard

Les opérations standard sont des constructeurs, des constructeurs de copie, des destructeurs et des opérateurs d'affectation. Vous pouvez préciser quelles opérations standard la transformation C++ génère. Vous pouvez également ajouter un stéréotype, qui représente l'une des opérations standard, à l'opération d'une classe dans votre modèle. La transformation C++ applique la visibilité de l'opération UML aux opérations standard générées, mais elle ignore le nom et les paramètres de l'opération UML. La transformation C++ génère des opérations standard pour les unions que vous avez explicitement ajoutées à un modèle UML.

Diagrammes de visualisation C++

Vous pouvez générer des diagrammes de visualisation UML au même moment que le code C++ à partir de votre modèle UML. Utilisez les diagrammes de visualisation UML pour afficher une représentation graphique de votre code C++, que vous pouvez éditer au niveau graphique ou code. La transformation C++ crée un diagramme de visualisation UML pour chaque package UML. Le diagramme de visualisation UML contient les classes, structures, unions et énumérations non imbriquées que la transformation C++ génère pour le package UML.
Remarque : La génération automatique de diagrammes de visualisation UML augmente le temps nécessaire pour générer du code C++ et la consommation de mémoire.

Où sont générés les fichiers de code C++ ?

La transformation C++ génère des fichiers de code C++ uniquement dans des projets C++ et des dossiers de projet C++.

Noms secondaires des fichiers générés

Vous pouvez utiliser la fonction de mappage pour indiquer des noms secondaires pour les fichiers que la transformation génère sans modifier le modèle source. Vous pouvez définir des noms de fichier absolus et relatifs. Les noms de fichier absolus doivent désigner un projet existant. La transformation crée des nouveaux répertoires parents. La transformation remplace les extensions de fichier par des extensions de fichier C++ standard comme .h ou .cpp.

La transformation base les noms des diagrammes de visualisation UML sur le nom du package qui les contient. Les artefacts de mappage n'affectent pas directement le nommage des diagrammes de visualisation UML.

La transformation C++ interdit les caractères suivants dans les noms de répertoire et de fichier de mappage :
  • Astérisque (*)
  • Point d'interrogation (?)
  • Guillemets (")
  • Symbole inférieur à (<)
  • Symbole supérieur à (>)
  • Barre verticale ( | )
Remarque : Les caractères interdits sont remplacés par un underscore (_) au cours de la transformation.
Tâches associées
Génération de code C++ à partir d'un modèle
Application du profil de transformation C++
Référence associée
Transformations installées
Conditions d'utilisation | Retours d'informations
(C) Copyright IBM Corporation 2004, 2005. All Rights Reserved.