Modélisation UML pour C++ avec UModel

C++ est l'un des langages de programmation les plus puissants et les plus efficaces disponibles, et il est le choix privilégié pour le calcul haute performance, les applications serveur et les architectures complexes qui nécessitent les constructions de langage les plus performantes. Le langage de modélisation unifié (UML) est la norme pour concevoir, visualiser et documenter les modèles de systèmes logiciels implémentés en C++ et dans d'autres langages de programmation.

Altova UModel rivalise avec les outils de modélisation UML les plus avancés et offre un support complet pour l'ingénierie du code dans la modélisation UML pour C++. UModel comprend : la génération de code C++ à partir de diagrammes UML, l'ingénierie inverse du code C++ pour générer des modèles UML, et une ingénierie bidirectionnelle permettant de mettre à jour les révisions, que ce soit dans le code C++ ou dans les modèles UML.

La transformation de modèles permet également aux développeurs de convertir un modèle UML existant, conçu pour Java, C# ou Visual Basic, afin de le rendre compatible avec C++.

Les développeurs peuvent commencer à utiliser UML pour C++ dans UModel de plusieurs manières :

  • Créez un nouveau projet UModel et choisissez C++ comme langage de programmation cible
  • Importer le code d'un projet C++ existant pour créer un nouveau modèle UML
  • Convertir un diagramme UML existant en code C++
  • Ouvrez un exemple de projet C++ fourni avec UModel

UModel comprend un exemple de projet de banque en ligne, implémenté en Java ou en C#, qui sert de modèle de processus métier, et même une version SysML. Nous avons adapté la version C# pour qu'elle cible C++ et nous avons enregistré le résultat sous forme d'un nouveau projet.

Le projet bancaire comprend une hiérarchie de classes pour différents types de comptes bancaires, comme on peut le constater sur ce diagramme de classes issu du projet transformé :

Un développeur pourrait être chargé d'étendre l'application bancaire pour qu'elle prenne en charge un compte de courtage. Nous pouvons facilement ajouter la nouvelle classe directement au diagramme existant, comme illustré ci-dessous. (Certaines classes existantes sont repliées simplement pour gagner de la place.)

Dans les diagrammes de classes ci-dessus, les icônes UModel indiquent graphiquement les caractéristiques de visibilité des propriétés et des opérations, qui peuvent être protégées, publiques ou privées. Si vous préférez, vous pouvez également utiliser les caractères traditionnels de UML : #, +, etc.

La seule tâche qui nous reste est d'attribuer un nom de fichier de code dans la fenêtre des propriétés pour la nouvelle classe "BrokerageAccount" :

La génération de code est initiée depuis le menu principal du projet, ce qui ouvre une fenêtre de dialogue permettant de définir quelques préférences.

UModel peut générer du code C++ à partir de diagrammes UML, compatible avec les versions C++ 98, C++ 11 ou C++ 14, et peut créer un projet pour les versions de Visual Studio 6.0 à Visual Studio 2017. La fenêtre "Message" indiquera si la génération de code a réussi. Voici un extrait du code source C++ pour notre nouvelle classe :

Le fichier d'aide de UModel contient des instructions détaillées pour configurer votre propre projet UML en C++. De plus, si vous souhaitez directement vous lancer dans un exemple plus complexe, un modèle UML pour une machine à états de chauffage/climatisation réelle, implémentée en C++, est également inclus.

UModel est un outil UML abordable qui combine une interface visuelle riche avec des fonctionnalités de pointe, notamment la modélisation de bases de données et de fichiers XML, l'échange de modèles XMI, la prise en charge de la modélisation des processus métier, la génération de documentation, le support du travail en équipe, et bien plus encore, offrant ainsi aux équipes de développement un outil puissant pour relever les défis des projets actuels.

Téléchargez une version d'essai gratuite pour démarrer votre propre projet UML pour C++ !