Liste des figures
Chapitre 1
|
1.1
|
Encapsulation
|
5
|
1.2
|
Héritage
|
5
|
1.3
|
Polymorphisme
|
6
|
1.4
|
Classe et Objet
|
7
|
1.5
|
Description D'UML 2.0
|
10
|
1.6
|
Exemple de document XML
|
11
|
1.7
|
Diagramme de classes UML
|
12
|
1.8
|
Transcription au format XMI du diagramme de figure 1.6
|
12
|
|
Chapitre 2
|
|
2.1
|
Notation des paquetages
|
16
|
2.2
|
Notation des interfaces
|
16
|
2.3
|
Classes abstraites
|
16
|
2.4
|
Classes non abstraites
|
18
|
2.5
|
Modélisation d'une association
|
19
|
2.6
|
Association binaire
|
19
|
2.7
|
Association n'aire.
|
19
|
2.8
|
Navigabilité
|
20
|
2.9-a
|
Un diagramme représentant l'association entre
l'échiquier et la case qui le compose
|
21
|
2.9-b
|
Un diagramme équivalant utilisant l'association
qualifiée
|
21
|
2.10
|
Exemple de classe-association
|
22
|
2.11
|
Auto-association sur classe-association.
|
23
|
2.12
|
Relation d'agrégation
|
23
|
2.13
|
Relation De composition
|
24
|
Liste des figures
|
x
|
2 .14
|
Partie du règne animal décrit avec
l'héritage multiple
|
25
|
2.15
|
Relation de dépendance relation de dépendance
|
25
|
2.16
|
Implémentation des interfaces
|
26
|
2 .17
|
Commentaires dans le diagramme de classe UML
|
26
|
|
Chapitre 3
|
|
3.1
|
Génération de code avec le mapping direct
|
30
|
3.2
|
Génération de code avec Un modèle
Intermédiaire
|
31
|
|
Chapitre 4
|
|
4 .1
|
Page d'accueil de StarUML.
|
34
|
4.2
|
Processus de génération d'un fichier au format
.java à partir des modèles de classe
|
35
|
4.3
|
Etape 1 pour Exporter le fichier .jar
|
36
|
4.4
|
Etape 2 pour Exporter le fichier .jar
|
37
|
4.5
|
Etape 3 pour Exporter le fichier .jar
|
37
|
4.6
|
L'interface de Clickteam Install Creator Pro
|
38
|
4.7
|
Etapes d'installation de GenJava
|
39
|
4.8
|
Hiérarchie de Workspace
|
40
|
4.9
|
La page d'accueil de GenJava
|
41
|
4.10
|
Page de travaille de GenJava
|
41
|
4.11
|
Création de modèle de Classe
|
42
|
4.12
|
Sérialisation de modèle (Export vers XMI)
|
42
|
4.13
|
Ouvrir GenJava
|
43
|
4.14
|
Ouvrir le fichier XMI
|
43
|
4.15
|
Résultat de génération
|
44
|
Table des tables
Chapitre 2
|
2.1
|
Les modificateurs d'accès d'attributs
|
16
|
2.2
|
Les modificateurs d'accès des méthodes
|
16
|
2.3
|
Les multiplicités
|
19
|
|
Chapitre 4
|
|
4.1
|
Mapping UML vers Java
|
44
|
Introduction
Au cours des 35 dernières années, les
concepteurs de matériel informatique sont passés de machines de
la taille d'un hangar à des ordinateurs portables légers
basés sur de minuscules microprocesseurs. Au cours des mêmes
années, les développeurs des logiciels sont passés de
l'écriture de programmes en assembleur et en COBOL à
l'écriture de programmes encore plus grands en C et C++. On pourra
parler de progrès (bien que cela soit discutable), mais il est clair que
le monde du logiciel ne progresse pas aussi vite que celui du matériel.
Qu'ont donc les développeurs de matériel que les
développeurs de logiciels n'ont pas?
La réponse est donnée par les composants. Si les
ingénieurs en matériel électronique devaient partir d'un
tas de sable à chaque fois qu'ils conçoivent un nouveau
dispositif, si leur première étape devait toujours consister
à extraire le silicium pour fabriquer des circuits
intégrés, ils ne progresseraient pas bien vite. Or, un concepteur
de matériel construit toujours un système à partir de
composants préparés, chacun chargé d'une fonction
particulière et fournissant un ensemble de services à travers des
interfaces définies. La tâche des concepteurs de matériel
est considérablement simplifiée par le travail de leurs
prédécesseurs.
La réutilisation est aussi une voie vers la
création de meilleurs logiciels. Aujourd'hui encore, les
développeurs de logiciels en sont toujours à partir d'une
certaine forme de sable et à suivre les mêmes étapes que
les centaines de programmeurs qui les ont précédés. Le
résultat est souvent excellent, mais il pourrait être
amélioré. La création de nouvelles applications à
partir de composants existants, déjà testés, a toutes
chances de produire un code plus fiable. De plus, elle peut se
révéler nettement plus rapide et plus économique, ce qui
n'est pas moins important.
Le développement oriente objet de logiciel a
été largement accepte pour ses propriété de
flexibilité transition entre la phase de développement et la
possibilité de la réutilisation. Dans la plupart de l'approche
oriente objet, y compris UML (Unified Modeling Languages) [booch2001]. Des
différentes spécifications bases sur des multiples modèles
sont obtenues pour décrire les aspects différents d'un
système. Cependant, l'industrie du logiciel ne peut pas fournir encore
de solutions satisfaisantes pour un combler le vide entre langage de
modélisation et de programmation.
UML est actuellement le langage de modélisation le plu
rependu .UML peut être utilise dans tout genre de projet logiciel et il
est accepté par l'industrie comme le langage standard pour l'analyse et
la conception de logiciel.
Ce travail décrire une stratégie pour
génèrera le code(Java) à partir d'un modèle de
classe base sur modèle XMI exporte à l'aide de l'outil de
modélisation open source StarUML [StarUML].
XMI (XML Metadata Interchange) est un standard pour
l'échange d'informations de métadonnées UML basé
sur XML. [XMI 2003]
En suivant cette stratégie, nous avant
développé un outil qui génère automatiquement le
code source Java à partir d'un modèle de Classe.
Motivations et Objectifs
- Facilite le développement de logiciel à partir
d'une notation UML (modèle de Classe).
- Création automatique des classes, attributs,
méthodes, Interfaces ...etc....
- En plus, Ce type de projet n'a jamais abordé au niveau
de notre département.
Organisation du document
Cette mémoire est organisée en 4 chapitres, en
plus d'une introduction et d'une conclusion générale. Une
introduction au développement Oriente Objet est présentée
dans le chapitre 1 ou on y trouve aussi quelques notions sur
la méthode UML et la spécification XMI. Le chapitre
2 donne une vue générale sur le diagramme de classe et
ces composants, La génération automatique de code ainsi que
l'idée principale et l'approche utilisée sont décrie dans
le chapitre 3. Le chapitre 4 présente
l'architecture de l'outil proposée.
|