SlideShare uma empresa Scribd logo
1 de 46
1
1
GÉNÉRATION AUTOMATIQUE DU
CODE JAVA
Ministère de l'enseignement supérieur et de la recherche scientifique
Préparé par :
MOHAMED OULD YESLEM
HERAGMI KAMEL EDDINE
Centre universitaire de Souk-AhrasCentre universitaire de Souk-Ahras
Dirigé par :
Dr ABDELKRIM AMIRA
Soutenance en vue de l’obtention du diplôme de LICENCE EN INFORMATIQUE
1. Introduction
2. Modélisation orientée Objet
3. Types de relation
− Héritage
− Association
− Agrégation
− Composition
− Implémentation
− Dépendance
− Classe-association
4. Document XMI
5. Approche de Génération du code
6. Implémentation des relations en java
7. Développement de l’outil(GenJava)
Plan de travail
2
Déploiement
Système réel
RéalisationConceptionAnalyse
Introduction
Modèle
d’Analyse
Modèle de
Conception
Modèle de
Réalisation
Modèle de
Déploiement
UML (Unified Modeling Language)
3
4
Introduction
Problématique
Objectif
La conception qui faite par UML doit être implémenter avec
un langage de programmation pour réaliser un système réel ,
cette implémentation peut être automatiser ,a l’aide d’un
modèle intermédiaire (XMI).
Model.UML Fichier.XMI Code source
1. réduire le temps de développement,
2. éviter les erreurs de programmation,
3. Facilite le développement de logiciel
Autres méthodes Booch’91 OMT-1 OOSE Partenaires
Booch’93 OMT-2
Méthode unifiée 0.8
UML 0.9
UML 1.0
Octobre 1995
Janvier 1997
Juin 1999
UML 2.0
Historique d’UML
5
UML1.3
Les 13 diagrammes UML
6
Modélisation orientée Objet
Résumé
• UML est une notation, pas une méthode.
• UML est un langage de modélisation objet.
• UML convient pour toutes les méthodes objet.
• UML est dans le domaine public.
Programmation Orientée Objet
modéliser informatiquement des éléments d'une partie du monde réel en
un ensemble d'entités informatiques (objets)
Intérêt d'une méthode orientée objet
• définir le problème à haut niveau sans rentrer dans les spécificités du
langage
• définir un problème de façon graphique
• utiliser les services offertes par l’objet sans rentrer dans le détail de
programmation (Encapsulation)
• Réutilisation du code
7
Notion d’Objet
Une abstraction du monde réel c.-à-d.. des données informatiques
regroupant des caractéristiques du monde réel
Exemple
une personne, une voiture, une maison, ...
Caractérisation d’un objet
Identité
Attributs
Méthodes
FIAT-UNO-17 : Voiture
233434 : Numéro de série
1500 kg : Poids
8864 YF 17 : Immatriculation
133 000 : kilométrage
Démarrer ()
Arrêter()
Rouler()
Modélisation orientée objet(3)
8
Notion de Classe
• Structure d'un objet, c.-à-d. une déclaration de l'ensemble des entités
qui composeront l’objet
• Un objet est donc "issu" d'une classe, c'est le produit qui sort d'un
moule
Notation
un objet est une instanciation (occurrence) d'une classe
Modélisation orientée objet(4)
Nom _de_la_classe
# Atribut1: type
-Attribute2: type
+Methode1()
-Methode2()
…
9
FIAT-UNO-17
233434 : Numéro de série
1500 kg : Poids
8864 YF 17 : Immatriculation
33 000 : kilométrage
Renault-Clio-17
5323454 : Numéro de série
1500 kg : Poids
64 YFT 17 : Immatriculation
23 000 : kilométrage
Modélisation orientée objet(5)
Voit ur e
+ Numero_de_serie: int
+ Poids: double
+ Immatriculation: String
+ Kilometrage: double
+ Demarrer()
+ Arreter()
+ Rouler()
10
3434 : Numéro de série
1700 kg : Poids
8634 YGG 75 : Immatriculation
15 000 : kilométrage
Peugeot-206-75
Visibilité des attributs
définissent les droits d'accès aux données (pour la classe elle-même,
d'une classe héritière, ou bien d'une classe quelconque)
Publique (+)
les classes peuvent accéder aux données et
méthodes d'une classe définie avec le niveau
de visibilité public
Protégée (#): l'accès aux données est
réservé aux fonctions des classes héritières
Privée (-): l'accès aux données est limité
aux méthodes de la classe elle-même
Nom _ de_ la_ classe
# Atribut1: type
-Attribute2: type
+ Methode1()
-Methode2()
…
11
Modélisation orientée objet (6)
Principe
classe dérivée contient les attributs et les méthodes de sa superclasse
Spécialisation Généralisation
étendre les propriétés
d'une classe, sous
forme de sous-classes
factoriser les propriétés
groupe de classes sous
forme de super-classe
Chaque personne de l’université est identifiée par son nom, prénom
Les étudiants ont plus un noEtudiant
Les enseignants ont un numéro de téléphone interne
Types de relation : Héritage
12
13
Navigabilité
 Par défaut une association est navigable dans les deux sens
Chaque instance de voiture a un lien vers le propriétaire
Chaque instance de Personne a un ensemble de lien vers les voitures
 Restriction de la navigabilité
Le service de contravention
est associé à une ou plusieurs
voiture(s)
La voiture ne connaît pas service
de contravention
Navigable
Types de relation : Association
14
Multiplicités
1 : la classe est en relation avec un et un seul objet de l’autre classe
1..* : la classe est en relation avec au moins un objet de l’autre classe
0..* : la classe est en relation avec 0 ou n objets de l’autre classe
0..1 : la classe est en relation avec au plus un objet de l’autre classe
Une voiture est achetée par une
et une seule personne
Une personne peut acheter
0 ou n voitures
Types de relation : Association
15
Type de relations
 A « contient » des instances de B,
Propriétés de l’agrégation
 La suppression de A n’implique pas la suppression de B
 L'élément agrégé peut être partagé
Exemples :
 L’enseignant est un composant
d’une (ou plusieurs) équipe de
recherche d’un seul département
 La disparition d’une équipe de
recherche n’entraine pas la
disparition d’un enseignant
BA
Agrégat
Types de relation : Agrégation
16
 La suppression de A entraine la suppression de B
Exemple:
« Une présentation PowerPoint est composé de transparents »
La suppression de la présentation entraine la disparition des transparents
qui la compose
Types de relation : Composition
Types de relation : Implémentation
17
 Une interface est la spécification externe (en terme d’opérations)
d’une classe.
 Une interface peut donc contenir des opérations.
 Une classe réalise une interface si elle est capable d’exécuter
toutes les opérations de l’interface.
 Une classe peut implémente plusieurs interfaces
Notation
I nt erface
Types de relation : Dépendance
18
 La notion de dépendance est plus floue que les précédentes. Il est
difficile de faire une nomenclature complète des possibles relations
de dépendance.
Notation:
ClassUn ClassException
Types de relation : Classe-association
19
Une classe-association possède les caractéristiques des
associations et des classes : elle se connecte à deux ou
plusieurs classes et possède également des attributs et des
opérations.
Notation:
Diagramme de classes
20
Exemple complet
21
XML
Ne tient pas compte de la mise en forme, mais seulement du
contenu.
Un système de balises permet de décrire les éléments de structure
du document, ainsi que les relations entre ces éléments
Chaque balise peut disposer d'un ou plusieurs attributs
Document XMI
<EtatCivile>
<Nom>Heraguemi</Nom>
<Prenom>Kamel eddine </Prenom>
<Naicence>
<Date>
<Jour>30</Jour>
<Moi>05</Moi>
<Annee>1989</Annee>
</Date>
</Naicence>
</EtatCivile>
22
XMI (XML Métadata Interchange)
Exprimer les concepts de la modélisation objet.
possible d'encoder un modèle UML dans un fichier au format XML
Document XMI (suite)
23
1. Etapes de génération de code
 Génération structurelle de code
 Génération comportementale du code
 Génération de la spécification
2. Approche
Il existe 2 approches principaux:
 mapping direct des modèles UML vers un langage de programmation
 Génération de code avec un modèle intermédiaire
Approche de génération du code
24
Modèle UML Modèle
JAVA
Modèle C#
Description de
la Platform C#
Description de la
Platform JAVA
Transformation
Transformation
Approche de génération du code (suite)
Figure 3. 2- Génération de code avec Un modèle Intermédiaire.
Transformation
Transformation
Modèle UML Modèle
JAVA
Modèle
Intermédiaire
Description de la
Platform JAVA
Génération de code avec Un modèle Intermédiaire
Génération de code avec le mapping direct
Implémentation des relations en Java
25
26
Implémentation des relations en Java (2)
27
Implémentation des relations en Java (3)
28
Développement de l’outil (GenJava)
 Environnement de développement
 Environnement matériel
• « HP » avec un processeur Intel(R) Core(TM)2 Duo CPU T5870@ 2.00GHz 2.00 GHz d'une
Ram de 2 G et d'un disque dur de 250 Go
• « Acer » avec un processeur Intel Pentium dual-core processor de vitesse 800 MHz, doté
d'une Ram de 2 G et d'un disque dur de 160 Go.
 Environnement logiciel
 
• Environnement de développement : Eclipse Galileo 3.5.
• Outil de conception : StarUML 5.0.2.
29
Développement de l’outil (GenJava)(suite)
 Vue dynamique de GenJava
Etat Initiale
Création de
Workspace
Etat 3Etat 2
Charger XMI
Nettoyage
Traitement
Design Model.xml
Classe.java
Etat Finale
Charger StarUML
Exportation
Model. uml
File.xml
30
Nettoyage
Design Model.xml
Ce fait a l’aide de deux classes responsable sur ce traitement sont la classe
principal.java et la classe parser.java , la première recherche l’emplacement
de design model et la deuxième pour faire l’extraction de design model
Etape de nettoyage
Design Model.xml : Contient seulement tous les concepts qui concerne le
diagramme de classe
 Vue statique de GenJava
La structure interne de GenJava et Compose en 3 paquetages :
1. Classe_Interface_Pack.
2. Relation.
3. Interface.
31
Etape de Traitement
Cl_int_Pack
SwingInterface
Relation
USE
USEUSE
Diagramme de paquetage de GenJava
Le paquetage « Relation » Contient les Classes qui
représentent les déférentes relations représenter par
Diagramme de classe , Comme l’héritage
,l’implémentation …
Le paquetage « CL_Int_Pack » Contient les Classes qui
représentent les déférents concepts représenter par
Diagramme de classe , Comme Les classes ,les
Interfaces …,
Le paquetage « Interface » Contient les Classes qui
construire l’interface de GenJava
32
Extraire les concepts qui
concerne
les méthodes
« UML:Operation»
Extraire les concepts qui
concerne
les parametre des
méthodes
« UML:Parametre»
Extraire les concepts
qui concerne
les attributs
« UML:Attribut»
Extraire tout les
concepts qui concernant
les classes exceptions
« UML:ClassException»Extraire tout les concepts
qui concerne
les classes association
« UML:AssociationClass »
Extraire tout
les concepts qui
concerne
les classes
« UML:Class »
Extraire tous les
concepts qui
concerne
les interfaces
« UML:Interface »
Crée les fichiers qui
concerne
chaque concept
Scanner le fichier XML
pour obtenue un fichier
Design model.xml. et
Extraire les package
« UML:Package»
Extraire les valeurs de
chaque concepts a partir de
Design Model. xml
Extraire les types
des attributs et des
méthodes
«UML: DataType »
Etape de Traitement (2)
33
Relation
Gener alisat ion
Dependance
Associat ion
+ 1
1..*
1 2
Associat ionend
I m plem ent at ion
Mult iplicit e
Extraire les concepts qui
concerne
les relations associations
« UML:Association »
Extraire les concepts qui
concerne
Les sous relation associationEnd
« UML:AssociationEnd »
Extraire les
concepts qui
concerne
les implémentations
« UML:Realization »
Extraire les concepts
qui concerne
les dépendance s
« UML:Dependency »
Extraire les concepts qui
concerne
les généralisations
« UML:Generalization »
Extraire les
concepts qui
concerne
les multiplicités
« UML:Multiplicity 
»
Etape de Traitement (3)
Fonctionnement de GenJava
34
Icone GenJava
Changer le Workspace
Chemin de
Workspace
validation de projet
Nom projet
La page d’accueil de GenJava
Fonctionnement de GenJava (2)
35
Interface de travaille
On clic sur le Botton
(StarUML)  pour ouvrir
StarUml et crier le
diagramme de classe
Fonctionnement de GenJava(3)
36
Exemple
Fonctionnement de GenJava (4)
37
Ouvrir le fichier XMI
On clic sur le Botton
(Open XMI) pour Ouvrir le fichier XMI
Précédamant crier
Fonctionnement de GenJava (5)
38
Fichier XMI
On clic sur le Botton
(Generation) pour générer les codes Java
propre
Fonctionnement de GenJava (6)
39
Résultat de la class1 (code Java propre)
Fonctionnement de GenJava (7)
40
Résultat de la class2 (code Java propre)
Fonctionnement de GenJava (8)
41
Résultat de la class3 (code Java propre)
Fonctionnement de GenJava (9)
42
Résultat de la class4 (code Java propre)
Fonctionnement de GenJava (10)
43
Résultat de l’interface (code Java propre)
Fonctionnement de GenJava (11)
44
Résultat de l’exception1 (code Java propre)
Fonctionnement de GenJava (13)
45
Résultat de l’exception2 (code Java propre)
46

Mais conteúdo relacionado

Mais procurados

Rapport de stage d'été
Rapport de stage d'étéRapport de stage d'été
Rapport de stage d'étéJinenAbdelhak
 
Rapport data-mining
Rapport data-miningRapport data-mining
Rapport data-miningSawsen Larbi
 
Modèle en v
 Modèle en v Modèle en v
Modèle en vbouye2209
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesJean-Marc Dupont
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
Cours Unix Emsi 2023 2024.pdf
Cours Unix Emsi 2023 2024.pdfCours Unix Emsi 2023 2024.pdf
Cours Unix Emsi 2023 2024.pdfADNANEELBOUAAMRI
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Symphorien Niyonzima
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence Yassine Badri
 
INFORMATIQUE DES GESTION : MERISE
INFORMATIQUE DES GESTION : MERISE INFORMATIQUE DES GESTION : MERISE
INFORMATIQUE DES GESTION : MERISE HINDOUSSATI
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"étudesMohamed Boubaya
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique MehdiOuqas
 
Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Ines Ben Kahla
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueYosra ADDALI
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATSiwar GUEMRI
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRouâa Ben Hammouda
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe rimeh moussi
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagioschristedy keihouad
 
Rapport du projet fin d'etudes
Rapport du projet fin d'etudesRapport du projet fin d'etudes
Rapport du projet fin d'etudesTahani RIAHI
 

Mais procurados (20)

Rapport de stage d'été
Rapport de stage d'étéRapport de stage d'été
Rapport de stage d'été
 
Rapport data-mining
Rapport data-miningRapport data-mining
Rapport data-mining
 
Modèle en v
 Modèle en v Modèle en v
Modèle en v
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de données
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Cours Unix Emsi 2023 2024.pdf
Cours Unix Emsi 2023 2024.pdfCours Unix Emsi 2023 2024.pdf
Cours Unix Emsi 2023 2024.pdf
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
Power Bi, le tour complet 2017
Power Bi, le tour complet 2017 Power Bi, le tour complet 2017
Power Bi, le tour complet 2017
 
INFORMATIQUE DES GESTION : MERISE
INFORMATIQUE DES GESTION : MERISE INFORMATIQUE DES GESTION : MERISE
INFORMATIQUE DES GESTION : MERISE
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"études
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique
 
Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data Analytique
 
Pfe 2015
Pfe 2015Pfe 2015
Pfe 2015
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagios
 
Rapport du projet fin d'etudes
Rapport du projet fin d'etudesRapport du projet fin d'etudes
Rapport du projet fin d'etudes
 

Destaque

Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationStéphane Traumat
 
Presentation : Réseau de capteurs sans fil
Presentation : Réseau de capteurs sans fil Presentation : Réseau de capteurs sans fil
Presentation : Réseau de capteurs sans fil Nader Abdallah
 
Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !Olivier Le Goaër
 
GWT, quoi de neuf? Présentation au GDG/GTUG Montréal - 26 juin 2013
GWT, quoi de neuf?  Présentation au GDG/GTUG Montréal - 26 juin 2013GWT, quoi de neuf?  Présentation au GDG/GTUG Montréal - 26 juin 2013
GWT, quoi de neuf? Présentation au GDG/GTUG Montréal - 26 juin 2013Claude Coulombe
 
Wireless sensor network
Wireless sensor networkWireless sensor network
Wireless sensor networkAnis Bedhiafi
 
programme du master sid enset mohemmadia
programme du master sid enset mohemmadiaprogramme du master sid enset mohemmadia
programme du master sid enset mohemmadiaAnouar Attn
 
Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)G²FOSS ENIT
 
Réseau de capteurs sans fils wsn
Réseau de capteurs sans fils wsnRéseau de capteurs sans fils wsn
Réseau de capteurs sans fils wsnAchref Ben helel
 
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...Papa Cheikh Cisse
 

Destaque (16)

Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub Foundation
 
Presentation : Réseau de capteurs sans fil
Presentation : Réseau de capteurs sans fil Presentation : Réseau de capteurs sans fil
Presentation : Réseau de capteurs sans fil
 
Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 
GWT, quoi de neuf? Présentation au GDG/GTUG Montréal - 26 juin 2013
GWT, quoi de neuf?  Présentation au GDG/GTUG Montréal - 26 juin 2013GWT, quoi de neuf?  Présentation au GDG/GTUG Montréal - 26 juin 2013
GWT, quoi de neuf? Présentation au GDG/GTUG Montréal - 26 juin 2013
 
Wireless sensor network
Wireless sensor networkWireless sensor network
Wireless sensor network
 
programme du master sid enset mohemmadia
programme du master sid enset mohemmadiaprogramme du master sid enset mohemmadia
programme du master sid enset mohemmadia
 
Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)
 
Réseau de capteurs sans fils wsn
Réseau de capteurs sans fils wsnRéseau de capteurs sans fils wsn
Réseau de capteurs sans fils wsn
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 

Semelhante a Generateur de code java (GenJAVA)

Patrons de creation
Patrons de creationPatrons de creation
Patrons de creationomri med
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db firstZineb ELGARRAI
 
Introduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMAIntroduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMALoic Yon
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriMansouri Khalifa
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zinebZineb ELGARRAI
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfacesAziz Darouichi
 
Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27megaplanet20
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++coursuniv
 
Design patterns - Exemples en Java
Design patterns - Exemples en JavaDesign patterns - Exemples en Java
Design patterns - Exemples en JavaOussama BEN KHIROUN
 
U M L Analyse Et Conception Objet
U M L Analyse Et Conception ObjetU M L Analyse Et Conception Objet
U M L Analyse Et Conception ObjetAmine Chkr
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyENSET, Université Hassan II Casablanca
 
Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011yassine kchiri
 

Semelhante a Generateur de code java (GenJAVA) (20)

POO
POOPOO
POO
 
Patrons de creation
Patrons de creationPatrons de creation
Patrons de creation
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db first
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Introduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMAIntroduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMA
 
Modélisation avec UML
Modélisation avec UMLModélisation avec UML
Modélisation avec UML
 
Qualité de code et bonnes pratiques
Qualité de code et bonnes pratiquesQualité de code et bonnes pratiques
Qualité de code et bonnes pratiques
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
POO-Cours.pdf
POO-Cours.pdfPOO-Cours.pdf
POO-Cours.pdf
 
Java
JavaJava
Java
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zineb
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
 
Design patterns - Exemples en Java
Design patterns - Exemples en JavaDesign patterns - Exemples en Java
Design patterns - Exemples en Java
 
U M L Analyse Et Conception Objet
U M L Analyse Et Conception ObjetU M L Analyse Et Conception Objet
U M L Analyse Et Conception Objet
 
Uml
UmlUml
Uml
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 
AJAX JSON with jQuery
AJAX JSON with jQueryAJAX JSON with jQuery
AJAX JSON with jQuery
 
Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011
 

Mais de Kamel Eddine Heragmi

Mais de Kamel Eddine Heragmi (6)

Objecteering
ObjecteeringObjecteering
Objecteering
 
Polymorphisme
PolymorphismePolymorphisme
Polymorphisme
 
Abstract factory+adapter
Abstract factory+adapterAbstract factory+adapter
Abstract factory+adapter
 
diagramme de cas d'utilisation
diagramme de cas d'utilisationdiagramme de cas d'utilisation
diagramme de cas d'utilisation
 
Timing diagram
Timing diagramTiming diagram
Timing diagram
 
7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation
 

Último

666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 

Último (16)

666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 

Generateur de code java (GenJAVA)

  • 1. 1 1 GÉNÉRATION AUTOMATIQUE DU CODE JAVA Ministère de l'enseignement supérieur et de la recherche scientifique Préparé par : MOHAMED OULD YESLEM HERAGMI KAMEL EDDINE Centre universitaire de Souk-AhrasCentre universitaire de Souk-Ahras Dirigé par : Dr ABDELKRIM AMIRA Soutenance en vue de l’obtention du diplôme de LICENCE EN INFORMATIQUE
  • 2. 1. Introduction 2. Modélisation orientée Objet 3. Types de relation − Héritage − Association − Agrégation − Composition − Implémentation − Dépendance − Classe-association 4. Document XMI 5. Approche de Génération du code 6. Implémentation des relations en java 7. Développement de l’outil(GenJava) Plan de travail 2
  • 4. 4 Introduction Problématique Objectif La conception qui faite par UML doit être implémenter avec un langage de programmation pour réaliser un système réel , cette implémentation peut être automatiser ,a l’aide d’un modèle intermédiaire (XMI). Model.UML Fichier.XMI Code source 1. réduire le temps de développement, 2. éviter les erreurs de programmation, 3. Facilite le développement de logiciel
  • 5. Autres méthodes Booch’91 OMT-1 OOSE Partenaires Booch’93 OMT-2 Méthode unifiée 0.8 UML 0.9 UML 1.0 Octobre 1995 Janvier 1997 Juin 1999 UML 2.0 Historique d’UML 5 UML1.3
  • 7. Modélisation orientée Objet Résumé • UML est une notation, pas une méthode. • UML est un langage de modélisation objet. • UML convient pour toutes les méthodes objet. • UML est dans le domaine public. Programmation Orientée Objet modéliser informatiquement des éléments d'une partie du monde réel en un ensemble d'entités informatiques (objets) Intérêt d'une méthode orientée objet • définir le problème à haut niveau sans rentrer dans les spécificités du langage • définir un problème de façon graphique • utiliser les services offertes par l’objet sans rentrer dans le détail de programmation (Encapsulation) • Réutilisation du code 7
  • 8. Notion d’Objet Une abstraction du monde réel c.-à-d.. des données informatiques regroupant des caractéristiques du monde réel Exemple une personne, une voiture, une maison, ... Caractérisation d’un objet Identité Attributs Méthodes FIAT-UNO-17 : Voiture 233434 : Numéro de série 1500 kg : Poids 8864 YF 17 : Immatriculation 133 000 : kilométrage Démarrer () Arrêter() Rouler() Modélisation orientée objet(3) 8
  • 9. Notion de Classe • Structure d'un objet, c.-à-d. une déclaration de l'ensemble des entités qui composeront l’objet • Un objet est donc "issu" d'une classe, c'est le produit qui sort d'un moule Notation un objet est une instanciation (occurrence) d'une classe Modélisation orientée objet(4) Nom _de_la_classe # Atribut1: type -Attribute2: type +Methode1() -Methode2() … 9
  • 10. FIAT-UNO-17 233434 : Numéro de série 1500 kg : Poids 8864 YF 17 : Immatriculation 33 000 : kilométrage Renault-Clio-17 5323454 : Numéro de série 1500 kg : Poids 64 YFT 17 : Immatriculation 23 000 : kilométrage Modélisation orientée objet(5) Voit ur e + Numero_de_serie: int + Poids: double + Immatriculation: String + Kilometrage: double + Demarrer() + Arreter() + Rouler() 10 3434 : Numéro de série 1700 kg : Poids 8634 YGG 75 : Immatriculation 15 000 : kilométrage Peugeot-206-75
  • 11. Visibilité des attributs définissent les droits d'accès aux données (pour la classe elle-même, d'une classe héritière, ou bien d'une classe quelconque) Publique (+) les classes peuvent accéder aux données et méthodes d'une classe définie avec le niveau de visibilité public Protégée (#): l'accès aux données est réservé aux fonctions des classes héritières Privée (-): l'accès aux données est limité aux méthodes de la classe elle-même Nom _ de_ la_ classe # Atribut1: type -Attribute2: type + Methode1() -Methode2() … 11 Modélisation orientée objet (6)
  • 12. Principe classe dérivée contient les attributs et les méthodes de sa superclasse Spécialisation Généralisation étendre les propriétés d'une classe, sous forme de sous-classes factoriser les propriétés groupe de classes sous forme de super-classe Chaque personne de l’université est identifiée par son nom, prénom Les étudiants ont plus un noEtudiant Les enseignants ont un numéro de téléphone interne Types de relation : Héritage 12
  • 13. 13 Navigabilité  Par défaut une association est navigable dans les deux sens Chaque instance de voiture a un lien vers le propriétaire Chaque instance de Personne a un ensemble de lien vers les voitures  Restriction de la navigabilité Le service de contravention est associé à une ou plusieurs voiture(s) La voiture ne connaît pas service de contravention Navigable Types de relation : Association
  • 14. 14 Multiplicités 1 : la classe est en relation avec un et un seul objet de l’autre classe 1..* : la classe est en relation avec au moins un objet de l’autre classe 0..* : la classe est en relation avec 0 ou n objets de l’autre classe 0..1 : la classe est en relation avec au plus un objet de l’autre classe Une voiture est achetée par une et une seule personne Une personne peut acheter 0 ou n voitures Types de relation : Association
  • 15. 15 Type de relations  A « contient » des instances de B, Propriétés de l’agrégation  La suppression de A n’implique pas la suppression de B  L'élément agrégé peut être partagé Exemples :  L’enseignant est un composant d’une (ou plusieurs) équipe de recherche d’un seul département  La disparition d’une équipe de recherche n’entraine pas la disparition d’un enseignant BA Agrégat Types de relation : Agrégation
  • 16. 16  La suppression de A entraine la suppression de B Exemple: « Une présentation PowerPoint est composé de transparents » La suppression de la présentation entraine la disparition des transparents qui la compose Types de relation : Composition
  • 17. Types de relation : Implémentation 17  Une interface est la spécification externe (en terme d’opérations) d’une classe.  Une interface peut donc contenir des opérations.  Une classe réalise une interface si elle est capable d’exécuter toutes les opérations de l’interface.  Une classe peut implémente plusieurs interfaces Notation I nt erface
  • 18. Types de relation : Dépendance 18  La notion de dépendance est plus floue que les précédentes. Il est difficile de faire une nomenclature complète des possibles relations de dépendance. Notation: ClassUn ClassException
  • 19. Types de relation : Classe-association 19 Une classe-association possède les caractéristiques des associations et des classes : elle se connecte à deux ou plusieurs classes et possède également des attributs et des opérations. Notation:
  • 21. 21 XML Ne tient pas compte de la mise en forme, mais seulement du contenu. Un système de balises permet de décrire les éléments de structure du document, ainsi que les relations entre ces éléments Chaque balise peut disposer d'un ou plusieurs attributs Document XMI <EtatCivile> <Nom>Heraguemi</Nom> <Prenom>Kamel eddine </Prenom> <Naicence> <Date> <Jour>30</Jour> <Moi>05</Moi> <Annee>1989</Annee> </Date> </Naicence> </EtatCivile>
  • 22. 22 XMI (XML Métadata Interchange) Exprimer les concepts de la modélisation objet. possible d'encoder un modèle UML dans un fichier au format XML Document XMI (suite)
  • 23. 23 1. Etapes de génération de code  Génération structurelle de code  Génération comportementale du code  Génération de la spécification 2. Approche Il existe 2 approches principaux:  mapping direct des modèles UML vers un langage de programmation  Génération de code avec un modèle intermédiaire Approche de génération du code
  • 24. 24 Modèle UML Modèle JAVA Modèle C# Description de la Platform C# Description de la Platform JAVA Transformation Transformation Approche de génération du code (suite) Figure 3. 2- Génération de code avec Un modèle Intermédiaire. Transformation Transformation Modèle UML Modèle JAVA Modèle Intermédiaire Description de la Platform JAVA Génération de code avec Un modèle Intermédiaire Génération de code avec le mapping direct
  • 28. 28 Développement de l’outil (GenJava)  Environnement de développement  Environnement matériel • « HP » avec un processeur Intel(R) Core(TM)2 Duo CPU T5870@ 2.00GHz 2.00 GHz d'une Ram de 2 G et d'un disque dur de 250 Go • « Acer » avec un processeur Intel Pentium dual-core processor de vitesse 800 MHz, doté d'une Ram de 2 G et d'un disque dur de 160 Go.  Environnement logiciel   • Environnement de développement : Eclipse Galileo 3.5. • Outil de conception : StarUML 5.0.2.
  • 29. 29 Développement de l’outil (GenJava)(suite)  Vue dynamique de GenJava Etat Initiale Création de Workspace Etat 3Etat 2 Charger XMI Nettoyage Traitement Design Model.xml Classe.java Etat Finale Charger StarUML Exportation Model. uml File.xml
  • 30. 30 Nettoyage Design Model.xml Ce fait a l’aide de deux classes responsable sur ce traitement sont la classe principal.java et la classe parser.java , la première recherche l’emplacement de design model et la deuxième pour faire l’extraction de design model Etape de nettoyage Design Model.xml : Contient seulement tous les concepts qui concerne le diagramme de classe
  • 31.  Vue statique de GenJava La structure interne de GenJava et Compose en 3 paquetages : 1. Classe_Interface_Pack. 2. Relation. 3. Interface. 31 Etape de Traitement Cl_int_Pack SwingInterface Relation USE USEUSE Diagramme de paquetage de GenJava Le paquetage « Relation » Contient les Classes qui représentent les déférentes relations représenter par Diagramme de classe , Comme l’héritage ,l’implémentation … Le paquetage « CL_Int_Pack » Contient les Classes qui représentent les déférents concepts représenter par Diagramme de classe , Comme Les classes ,les Interfaces …, Le paquetage « Interface » Contient les Classes qui construire l’interface de GenJava
  • 32. 32 Extraire les concepts qui concerne les méthodes « UML:Operation» Extraire les concepts qui concerne les parametre des méthodes « UML:Parametre» Extraire les concepts qui concerne les attributs « UML:Attribut» Extraire tout les concepts qui concernant les classes exceptions « UML:ClassException»Extraire tout les concepts qui concerne les classes association « UML:AssociationClass » Extraire tout les concepts qui concerne les classes « UML:Class » Extraire tous les concepts qui concerne les interfaces « UML:Interface » Crée les fichiers qui concerne chaque concept Scanner le fichier XML pour obtenue un fichier Design model.xml. et Extraire les package « UML:Package» Extraire les valeurs de chaque concepts a partir de Design Model. xml Extraire les types des attributs et des méthodes «UML: DataType » Etape de Traitement (2)
  • 33. 33 Relation Gener alisat ion Dependance Associat ion + 1 1..* 1 2 Associat ionend I m plem ent at ion Mult iplicit e Extraire les concepts qui concerne les relations associations « UML:Association » Extraire les concepts qui concerne Les sous relation associationEnd « UML:AssociationEnd » Extraire les concepts qui concerne les implémentations « UML:Realization » Extraire les concepts qui concerne les dépendance s « UML:Dependency » Extraire les concepts qui concerne les généralisations « UML:Generalization » Extraire les concepts qui concerne les multiplicités « UML:Multiplicity  » Etape de Traitement (3)
  • 34. Fonctionnement de GenJava 34 Icone GenJava Changer le Workspace Chemin de Workspace validation de projet Nom projet La page d’accueil de GenJava
  • 35. Fonctionnement de GenJava (2) 35 Interface de travaille On clic sur le Botton (StarUML)  pour ouvrir StarUml et crier le diagramme de classe
  • 37. Fonctionnement de GenJava (4) 37 Ouvrir le fichier XMI On clic sur le Botton (Open XMI) pour Ouvrir le fichier XMI Précédamant crier
  • 38. Fonctionnement de GenJava (5) 38 Fichier XMI On clic sur le Botton (Generation) pour générer les codes Java propre
  • 39. Fonctionnement de GenJava (6) 39 Résultat de la class1 (code Java propre)
  • 40. Fonctionnement de GenJava (7) 40 Résultat de la class2 (code Java propre)
  • 41. Fonctionnement de GenJava (8) 41 Résultat de la class3 (code Java propre)
  • 42. Fonctionnement de GenJava (9) 42 Résultat de la class4 (code Java propre)
  • 43. Fonctionnement de GenJava (10) 43 Résultat de l’interface (code Java propre)
  • 44. Fonctionnement de GenJava (11) 44 Résultat de l’exception1 (code Java propre)
  • 45. Fonctionnement de GenJava (13) 45 Résultat de l’exception2 (code Java propre)
  • 46. 46