Génération de code Java à partir d`un diagramme de classes

Génération de code Java
à partir d'un diagramme de
classes UML
Cedric Dumoulin
http://www.lifl.fr/~dumoulin/enseign/pje/
Objectifs
package mypackage;
import java.util.Date;
/**
*
*/
public class Person {
/** Name property */
protected String name;
/** birthday property */
protected Date birthday;
/** Address property */
protected Address address;
/**
*
* @return int
*/
public int getAge() {
return 0;
}
}
package mypackage;
/**
*
*/
public class Address {
/** The town property */
protected String town;
/** The town property */
protected String street;
/** The town property */
protected String zipcode;
}
Modéliser les classes
dans des diagrammes
de classes UML
Générer le code Java
(squelette des
classes) à partir du
modèle UML
Principe de l’application
Utilise une approche Ingénierie Dirigé par les Modèles
(IDM)
Les diagrammes de classes sont définit dans Papyrus
(modeleur UML)
Passe par un modèle Java intermédiaire
définit en EMF : permet de générer les classes Java pour
manipuler le modèle + import/export xml
Génère le texte à l’aide de template Acceleo
modèle UML
.UML
modèle Java
.mjava
code Java
Person.java
code Java
Address.java
transfo génération
QVTo Acceleo
Déroulement du projet
1ere partie
Apprentissage d’EMF construire un métamodèle,
générer les classes de manipulation, manipuler des
modèles, customiser le code générer
2éme partie
Générer du texte à partir d’un modèle à l’aide de
template avec Acceleo
3éme partie
Transformer des modèles Transformer un modèle de
classes UML en notre modèle Java
4éme partie
Intégrer l’application dans Papyrus Eclipse
Technologies
Java
Eclipse
Environnement de développement
EMF
pour manipuler les modèles
Papyrus
Editeur UML 2 Pour concevoir le métamodèle
(grammaire décrivant le modèle)
www.eclipse.org/papyrus
QVTo
Pour transformer des modèles; syntaxe proche de Java
Acceleo
Template de génération de code
SVN
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !