Chapitre3
Génération de code
3.1 Introduction
La génération d'une application à partir
de son modèle par génération de code est un processus en
deux étapes. La première étape est une transformation du
modèle en langage de programmation de haut niveau(C, C++, java,
etc.).
La seconde étape consiste en la compilation de ce
programme en binaires exécutable qui font l'application par utilisation
d'un compilateur support du langage ciblé lors de la première
étape.
Les types de générateurs sont multiples, selon
les besoins, mais la fonctionnalité principale reste la même :
produire du code automatique, et soulager le développeur de certaines
lourdeurs de mise en place.
Le code obtenu peut être aussi bien du code source
prêt à être modifier ou compilé, du byte-code pour
une machine virtuelle, un exécutable...à partir du moment
où le code produit est correct, rien n'empêche d'ajouter une
étape où il sera compilé.
Un des types de générateur ceux qui prennent une
définition abstraite(en UML, par exemple) et construisent un code
complet, dans l'idéal exploitable directement.
3.2 Définition
Parmi les objectifs que la modélisation permet
d'atteindre, la précision la structure ou le comportement d'un system et
la fourniture d'un canevas qui guide la construction de ce dernier.
Même si UML n'est pas un langage de programmation
visuelle, ses modèles peuvent être directement traduire dans les
différents langages de programmation .Cela signifie qu'il est possible
de traduire un modèle UML dans un langage de programmation tel qui Java,
C++ ou Visual Basic, voire de l'exprimer à l'aide de tables dans des
bases de données relationnelles ou dans la mémoire
persistante d'une base de données orientée
objet. Avec UML, les éléments qu'il est préférable
d'exprimer graphiquement sont traduits dans le langage de programmation [Booch
2001].
Cette correspondance permet d'appliquer l'ingénierie vers
l'aval, c'est-à-dire la génération de code à partir
d'un modèle UML vers un langage de programmation.
3.3 Objectifs
La génération du code exécutable à
partir des modèles abstraits qui sont les diagrammes d'UML, a pour
principaux objectifs les points suivants :
- réduire le temps de développement, -
éviter les erreurs de programmation, - optimisation globale est
faite.
Idéalement le processus de génération du
code est automatique, peut être exécuté dans le processus
de développement et autant de fois qu'exigé.
3.4 Etapes de génération de code
3.4.1 Génération structurelle de code
Un modèle ou une partie du modèle est traduit
à des unités structurelles dans un langage de programmation tel
que classes, composants, paquets, etc.
|