G n ration de code java
This presentation is the property of its rightful owner.
Sponsored Links
1 / 32

Génération de code JAVA PowerPoint PPT Presentation


  • 95 Views
  • Uploaded on
  • Presentation posted in: General

Module Application de Synthèse UML/JAVA. Génération de code JAVA. à partir d’un modèle UML sous PowerAMC V. Deslandres, IUTA Lyon. Introduction. Génération totale ou restreinte La génération de code, ça n’est pas immédiat : processus en 3 étapes

Download Presentation

Génération de code JAVA

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


G n ration de code java

Module Application de Synthèse UML/JAVA

Génération de code JAVA

à partir d’un modèle UML

sous PowerAMC

V. Deslandres, IUTA Lyon


Introduction

Introduction

  • Génération totale ou restreinte

  • La génération de code, ça n’est pas immédiat : processus en 3 étapes

    • Compléter le modèle d’analyse (nous, on se limite au diagramme de classes)

      • modèle de conception

    • Vérifier le modèle

    • Générer le code


G n ration partielle de code

Génération partielle de code

  • Il est possible de restreindre la portée de la génération au contenu d'un package particulier

  • C’est très utile lorsque les différents packages sont affectés à différents développeurs.

  • Chacun d'entre eux peut alors générer son package indépendamment des autres.

  • La génération depuis un package permet de produire un modèle indépendant.


Processus de g n ration de code

Processus de génération de code

3 étapes :

Étape 1: Ajouter au MOO d’analyse les détails d’implémentation nécessaires pour obtenir un MOO dit « de conception » :

  • Identifiants

  • Types des données, visibilité

  • Supprimer les relations entre les classes et les transformer en attributs

  • Migrer un rôle navigable en tant qu'attribut dans une classe

  • Définir les objets persistants

  • Classes « techniques » (calendrier, classes abstraites, design pattern…)

  • Etc…


Tape 2 v rification du mod le

Étape 2: Vérification du modèle

  • La procédure de génération de fichiers source .java, d'objets PowerBuilder, ou de fichiers XML commence toujours par une vérification de la validité du MOO

  • Si le modèle est incorrect ou si une erreur est détectée, la génération est interrompue.


Param trage de la v rification

Paramétrage de la vérification

  • Les erreurs et avertissements sont affichés dans la fenêtre Paramètres de vérification du modèle.

  • Vous pouvez définir le degré de sévérité pour les problèmes que la vérification détecte

    • et faire en sorte que certains problèmes soient corrigés automatiquement


Degr de s v rit de la v rification

En cliquant sur les icônes, on ajuste la sévérité à la règle

Degré de sévérité de la vérification

erreur

avertissement

correction automatique par l’AGL


R gles de v rification de poweramc

Règles de vérification de PowerAMC

Par exemple:

  • Les noms et les codes de classe doivent être uniques dans le modèle ou le package (dans le même espace de nom)

    • Correction auto: modifie le nom ou le code de classe en y ajoutant un numéro

  • Lorsqu'il existe une réalisation entre une classe et une interface, vous devez mettre en oeuvre les opérations de l'interface au sein de la classe

  • Les fichiers externes incorporés dans les classes doivent avoir un chemin d'accès valide

  • Etc.


R gles de v rification de poweramc1

Règles de vérification de PowerAMC

  • Pour voir toutes les règles de vérification du modèle MOO :

    • Regarder « Guide de l’utilisateur »

    • Chapitre 14 – Gestion des MOO

    • Page « Objets contrôlés lors de la vérification de modèle »


Tape 3 du processus g n ration de code vers un sgbd

Étape 3 du Processus :génération de code vers un SGBD

Une fois le MOO complété et vérifié… deux alternatives :

Si on désire utiliser un SGBD et JDBC:

  • Depuis le MOO de conception, générer d’abord un Modèle Physique de Données (MPD)

  • Générer ensuite les tables de la Base de Données avec le SGBD souhaité

  • Rq: on peut choisir le SGBD lors de la génération du MPD


G n ration de code java

Étape 3 avec des fichiers

Si on souhaite fonctionner avec des fichiers (sérialiser les objets créés lors de l’application Java) :

  • Générer directement les classes Java depuis le MOO Conception


Correspondance objet relationnel

Correspondance objet-relationnel

  • La correspondance O/R permet de gérer la persistance des objets dans une base de données relationnelle.

  • Ainsi dans un MOO, vous pouvez lier des classes à des tables

    • en générant dans PowerAMC un modèle physique de données, à partir du modèle orienté objet

    • cette opération est appelée « correspondance objet-relationnel »


Correspondance objet relationnel1

Correspondance Objet/Relationnel

MPD

Classe Table

AttributColonne

OpérationRequêtes SELECT ou UPDATE

associées à une table

Association Référence, référence de vue,

table ou vue

  • La correspondance O/R permet notamment :

    • de définir les requêtes SQL pour les opérations des classes concernées

  • Deux types de correspondances :

    • Automatiques

    • Définies par l’utilisateur

Cf Guide Utilisateur, Chapitre 14 - MOO, « Mise en correspondance d'objets dans un MOO »


Attention

Attention !

  • Création des noms de tables avec guillemets !

    • (fonction de la version du SGBD mentionnée ??)

       utiliser les guillemets aussi dans les ordres SQL

    • select * from "Article"


Remarque

Remarque

  • Si on veut implémenter le modèle d’analyse avec différents langages (.NET, XML, JAVA) :

    • mieux vaut générer un MOO d’abord par type d’implémentation

    • avant de transformer le MOO d’analyse en MOO de conception

  • Puis faire la génération de code depuis chaque MOO obtenu


G n rer plusieurs moo

MOO

analyse

génération de modèles

MOO

Conception

(Java)

MOO

Conception

(VB.NET)

MOO

Conception

(XML)

génération de codes

Classes

Java

code

VB.NET

Fichiers

XML

Générer plusieurs MOO

Phase d’analyse

Phase de conception

Phase de mise en œuvre


Sur la g n ration de mod les partir du moo

Sur la génération de modèles à partir du MOO…

  • On peut donc générer à partir d’un MOO :

    • des MPD, d’autres MOO, mais aussi des MCD !

      Deux possibilités depuis le MOO :

  • Créer un nouveaumodèle (option par défaut) contenant les objets convertis

  • MàJ un modèle existant, issu d’une ancienne génération


M j un mod le g n r pr c demment

MàJ un modèle généré précédemment

  • En fait l’AGL va créer un modèle par défaut contenant les objets convertis depuis le MOO puis les fusionner ensuite dans un modèle existant.

  • Des options sont disponibles pour la fusion :

    • vous pouvez choisir de mettre à jour, supprimer ou ajouter des objets dans le modèle existant (modèle à fusionner, dans le volet droit) en fonction des modifications apportées dans le modèle par défaut (dans le volet gauche)


Mod le de conception

Modèle de conception

  • Définir les identifiants

    • Identifiant de MOO = clef primaire de MPD

    • Fenêtre Propriété de l’attribut

    • Case à cocher dans l’onglet Détail : « identifiant primaire »

    • On obtient la fenêtre Propriété en cliquant sur l’attribut de la classe dans le navigateur d’objet

      • (ou Double clic sur la ligne de l’attribut depuis la fenêtre Propriété de la Classe)


Cr er un identifiant

Créer un identifiant

double-clic


Mod le de conception1

Modèle de conception

  • Identifiants combinés

    (clef relative)

    • Lorsqu’un identifiant est défini à partir d’une combinaison d'attributs de classe

    • Créer un nouvel identifiant pour la classe (onglet Identifiant), puis cliquer sur l'outil Afficher les propriétés.

    • Cliquer sur l'onglet Attributs

    • Cliquer sur l'outil Ajouter des attributs et sélectionner les attributs qui composent l’identifiant.


Cr ation d une clef relative

Création d’une clef relative

Fenêtre de la Classe


G n ration de code java1

Génération de code JAVA

  • Vous pouvez générer des fichiers source Java à partir des classes et interfaces d'un modèle

    • Classes que vous aurez sélectionnées

  • Un fichier séparé, doté du suffixe .java, est généré pour chaque classe ou interface choisie

  • Un fichier de génération est également créé. Vous ne pouvez générer du code qu'à partir d'un seul modèle à la fois.

  • Rappel : une source Java peut contenir plusieurs classes, alors qu'un fichier Java .class ne peut contenir qu'une seule classe.


Pour g n rer le code java

Pour générer le code Java

  • Depuis le MOO conception :

  • Sélectionnez Langage-Générer du code Java pour afficher la boîte de dialogue de génération.

(Sélectionner les classes voulues en cas de génération restreinte)


S lection des t ches

Sélection des tâches

(tâches à exécuter lors de la génération)

On peut ne rien sélectionner ! Bien souvent le code java devra être complété


R sultats

Résultats


Pour l application da ou encore odbc

Sérialisation

+ on connaît déjà

+ c’est facile

+ pas besoin d’ORACLE pour faire tourner

- pas de SGBD (on doit gérer soi-même la cohérence des données)

- Moins bien noté dans l’évaluation

JDBC

+ on met en œuvre ce qu’on n’a qu’entrevu

+ avantages du SGBD (données cohérentes, clefs, jointures…)

+ MySQL server, OK chez soi

+ mieux noté dans l’évaluation

Plus complexe

Choix d’ORACLE : exécution solo à l’IUT

Pour l’application DA :… ou encore ODBC


Pour l application da s rialisation jdbc ou

ODBC

+ avantages du SGBD (données cohérentes, clefs, jointures…)

+ on utilise ACCESS, plus simple et OK chez soi

Procédure d’installation pas vue en cours ?

Pour l’application DA :sérialisation, JDBC ou ….


Configuration

Configuration

  • On a la possibilité de définir les exécutables Java qui seront utilisés dans le processus de génération de code

    • jar, java, javac, javadoc…


G n ration de code java

  • Configuration avec l’item Variables

  • boîte de dialogue Options générales (menu Outils)


Options de g n ration pour java

Options de génération pour Java

OptionsPourDescription

Critère principal de tri des membres de classeJavaTrie les attributs et opérations par type ou par visibilité

Génération des imports de packageJavaA utiliser pour déclarer l'importation de tout le package

Tri des membres de classe par typeJavaTrie les attributs et opérations par type d’abord

Tri des membres de classe par visibilitéJavaTrie les attributs et opérations par visibilité

Génération du fichier build.xml AntJavaGénère le fichier build.xml.

(Vous pouvez utiliser ce fichier si vous avez installé Ant)

Génération d'opérations Get et Set de champ

CMP dans les interfaces de composantEJBGénère des opérations Get et

Set de champ CMP dans les interfaces EJB

Génération d'opérations Get et Set de champ CMR

dans les interfaces de composant EJBGénère des opérations Get et

Set de champ CMR dans les interfaces EJB

Ajout du code source des classes Java dans le

fichier JAREJBInclut le code des classes Java dans le fichier JAR

Etc.


Reverse engineering

Reverse Engineering

  • Pour ceux qui auront fini

  • Une fois l’application réalisée en JAVA, reconstruire le modèle UML associé

    • par « Reverse Engineering » et comparer avec le modèle initial !


  • Login