Vous êtes sur la page 1sur 5

Modelio : utilisation

1 Activation de la génération de code à partir d'un diagramme


Par défaut, un diagramme UML ne fournit pas la génération de code dans un langage.
Il faut au préalable vérifier que le module correspondant au langage voulu est actif pour votre
projet.
• Dans le menu « extension/activer ou désactiver un module », vérifier que le langage voulu
est présent

• si ce n'est pas le cas (comme ici), il faut l'installer. Dans le menu « extension/importer un
module »
• choisissez par exemple pour une génération C++/CLI le module de conception cxxDesigner
• vous pouvez alors vérifier que ce module est utilisable avec le menu
« extension/activer/désactiver un module »

2 Diagramme de classes et génération de classes


• Soit le diagramme de classes suivant.

• Placez-vous sur une des classes qui vous intéresse :


• dans la vue située en dessous du diagramme,
• modifiez le type de classe et choisissez par exemple C++

• observez alors que la classe maintenant dispose d'un artefact supplémentaire :

• toujours dans la vue du bas,

◦ sélectionnez « générer e code C++ si nécessaire


◦ ou avec le menu contextuel , « c++designer/générer le code C++ si nécessaire »
◦ maintenant, les autres outils sont disponibles :
◦ choisissez « éditer le fichier d'en tête »
◦ dans la vue principale, vous devez obtenir le fichier fenetre.hxx et contenant la
définition de la classe Fenetre.

3 Copie d'un diagramme vers le presse papier (ou un autre


document
• Placez votre diagramme dans l'éditeur actif.
• Vous disposez alors d'une barre d'outils spécialisée :

Outil de copie instantanée du diagramme

• à l'aide de l'outil « photo instantanée », copié le diagramme.


• Il ne reste plus qu'à le coller où vous le souhaitez

4 Génération du code associé aux associations


Le point de terminaison d'une association Association est situé à la flèche de l'association. Modelio
préfère l'utilisation de pointeur d'objets et évite de passer n'importe quel objet par valeur pour des
raisons de performances.

Pour cette extrémité d'association, l'information pertinente est la suivante:


• cardinalité
• ordonné
• unicité
La liste suivante montre le code généré selon la cardinalité pour une association de rôle assoc et
pointant sur une classe de nom MyClass :

0..1 MyClass* assoc;


1..1 MyClass* assoc;
0..* std::vector<MyClass*> assoc;
1..* std::vector<MyClass*> assoc;
n..m std::vector<MyClass*> assoc

Remarque

std :: vector est remplacé par:


• std :: hash_set lorsque l'option « unique » est validé pour l'extrémité de l'association
• std :: set lorsque les options orderred et uniques sont cochées pour l'extrémité de
l'association
Ces options sont disponibles dans l'onglet élément en bas au milieu de la vue si l'onglet n'est pas
apparent, il faut faire
dans le menu de modelio : vue/element

5 Génération d'une structure ou d'une union


Il est possible de définir un élément en tant que structure.
Par exemple, voici un diagramme pour indiquer qu'un rectangle comporte 4 sommets :

Génération C++
La modélisation UML avec modélio ne choisit pas entre les types class, struct et union. Il faut
donc au préalable choisir le type de génération.
• Sélectionnez la classe Point
◦ Dans la vue Element (en bas au milieu), choisissez l'onglet C++
◦ revenez à l'onglet Element puis parmi les outils proposés
▪ choisissez C++ class
▪ cochez la case is a struct (ou si nécessaire is an enum)

Vous pouvez alors générer le code C++ correspondant