Guide d'utilisation de l'outil: Génération d'éléments à partir d'un modèle utilisant Rational Rose
Ce guide d'utilisation de l'outil décrit la capacité de Rational Rose à générer des éléments source à partir d'un modèle Rose, permettant aux implémenteurs de créer et de mettre à jour le code source basé sur la conception documentée dans Rose.
Outil: Rational Rose
Relations
Description principale

Présentation

Grâce à ses extensions de langage, Rational Rose permet aux développeurs de générer du code directement à partir d'un modèle de conception. Au fur et à mesure que la conception évolue, les implémenteurs peuvent appliquer un code aller-retour dans un processus itératif de génération de code à partir d'un modèle, en mettant à jour le code source et en procédant par ingénierie inverse pour affecter les changements au modèle de conception.  

Les extensions suivantes de Rational Rose offrent des fonctions de génération de code :

Visual C++

Rational Rose Visual C++ vous permet de générer du code source Visual C++ à partir de classes et de composants dans votre modèle Rose. Ses fonctions comprennent :

  • Ingénierie aller-retour du code et des modèles Visual C++
  • Génération complète de blocs de construction de langage Visual C++, comme les relations, les définitions de type, les énumérations, les cartes message/objet/COM, les constructeurs et les destructeurs 
  • Prise en charge à base de boîte de dialogue pour la modélisation et la génération de code pour les éléments Visual C++.
  • Vérification de la syntaxe
  • Mode d'auto-synchronisation pour la mise à jour automatique du code ou du modèle lorsque l'un des deux est modifié 
  • Capacité à étendre et personnaliser la génération de code via les bibliothèques d'interface COM, ATL et MFC
  • Intégration à Visual Studio de Microsoft, y compris les fichiers IDL
  • Prise en charge de classes de canevas Visual C++ et de patterns de code spécifiés par l'utilisateur

 Visual Basic

Etroitement intégré à l'environnement Microsoft Visual Basic 6.0, l'extension de prise en charge du langage Visual Basic de Rational Rose vous permet de générer du code source Visual Basic à partir des composants et des classes et de visualiser du code existant en UML dans votre modèle Rose. Les outils extensibles et personnalisables à base de boîte de dialogue vous guident en douceur à travers le processus de génération de code à partir d'un modèle Rose et de mise à jour du code source lorsque le modèle est modifié.

Les fonctions comprennent :

  • Création et spécification de nouvelles classes Visual Basic dans le modèle Rose à l'aide de l'assistant de classe
  • Création de membres dans la classe et spécification des détails d'implémentation à propos de la classe et de ses membres dans l'outil Assistant du modèle
  • Aperçu du code à générer pour chaque membre de chaque classe
  • Déploiement de classes vers les composants à l'aide de l'outil d'affectation de composant
  • Génération complète de blocs de construction courants de langage Visual Basic, comme les constantes, les instructions Declare et Event, les déclarations Enum et Type, les procédures Get, Let et Set et les classes de collection définies par l'utilisateur à partir de composants de votre modèle dans des projets source correspondants à l'aide de l'outil de mise à jour du code
  • Mode de synchronisation de mise à jour des éléments du projet de code source lorsque les éléments du modèle sont supprimés 
  • Capacité à personnaliser et étendre la génération de code à l'aide de modèles de code Visual Studio et VBScript
  • Capacité à automatiser et étendre l'ingénierie aller-retour et les canevas en utilisant VSRTE SDK

ANSI C++

Rose ANSI C+ est l'extension C++ de Rational Rose. Elle fournit :

  • Prise en charge de l'évolution du modèle de l'analyse à la conception
  • Prise en charge du langage C++ sans restriction à un compilateur C++ d'un fournisseur unique
  • Génération de code source C++ à partir d'un modèle
  • Ingénierie aller-retour synchronisant les modèles et le code C++ généré sur des itérations multiples
  • Les changements apportés au code sont affectés au modèle lors de l'ingénierie inverse
  • La conception, la modélisation et la visualisation de tous les blocs de construction C++ incluant les classes, canevas, espaces de noms, héritages et fonctions de membres de classe
  • Prise en charge d'infrastructures préfabriquées
  • Génération de code contrôlé par l'utilisateur via les patterns des constructeurs, destructeurs et membres de classe par défaut
  • Mécanisme de feuille de style permettant un formatage personnalisé du code généré

Rose J (Java) 

Rational Rose J vous permet de générer du code source Java à partir de classes et de composants dans votre modèle Rose. Ses fonctions comprennent : 

  • Génération complète de blocs de constructions Java courants, comme les importations, les extensions, les relations d'émissions et d'implémentations, les constructeurs et les initialiseurs
  • Vérification de la syntaxe
  • Génération de balise Javadoc
  • Prise en charge à base de boîte de dialogue pour la modélisation et la génération de code pour les Enterprise JavaBeans et Servlets, y compris les fichiers d'archive JAR et WAR pour le déploiement des éléments Java 2 Enterprise Edition (J2EE)
  • Mode d'auto-synchronisation pour la mise à jour automatique du code lorsqu'un modèle est modifié
  • Capacité à étendre et personnaliser la génération de code à travers l'interface Java XFE
  • Intégration à VisualAge for Java d'IBM
  • Prise en charge d'un éditeur intégré pour parcourir le code source Java et l'éditer
  • Infrastructures préfabriquées Java pour l'ajout de classes d'API Java à un modèle

CORBA 

Rational Rose CORBA vous permet de générer du code IDL compatible avec CORBA à partir de classes et de composants de votre modèle Rose. Ses fonctions comprennent :

  • Génération complète de blocs de construction IDL CORBA, comme const, enum, struct, union, typedef, exception, value, fixed et interface, comme défini dans la spécification CORBA 2.3
  • Génération de types natifs, identiques aux types fondamentaux de CORBA, permettant aux utilisateurs de spécifier des types de programmation dépendant du langage afin d'être utilisés par des adaptateurs d'objet
  • Vérification de la syntaxe
  • Prise en charge d'un éditeur intégré pour parcourir le code source IDL et l'éditer
  • Capacité d'ingénierie aller-retour permettant de synchroniser les modèles et le code source IDL généré sur des itérations multiples

XML DTD 

L'extension Rational Rose XML DTD offre une visualisation, une modélisation et des outils pour les documents XML utilisant des définitions de type de document (DTD). A partir d'un modèle DTD XML, vous pouvez utiliser la fonctionnalité de rétro-conception pour créer de nouveaux DTD XML.

En modélisant votre DTD XML, vous pouvez visualiser la structure du document afin de voir les définitions d'élément à modifier ou à supprimer. Dans la mesure où vous ne travaillez probablement pas de manière isolée, vous pouvez partager votre modèle DTD XML avec des membres de votre équipe de développement afin de vérifier que vous avez enregistré les exigences du document XML. 

Le vérificateur de syntaxe de Rational Rose XML DTD trouve les erreurs du modèle DTD XML vous permettant d'apporter des corrections avant d'implémenter le DTD.

Pour prendre en charge le mappage XML vers UML, Rational Rose étend le langage UML avec des stéréotypes pour des éléments XML, des listes d'attributs d'élément, des entités et des notations. Des stéréotypes ou des valeurs marquées représentent des symboles d'opérateur XML, des listes de séquence, des listes de choix et la multiplicité d'attributs d'élément.