Génération de code JAVA

Slides:



Advertisements
Présentations similaires
Portail Sdin Méthodes pour la contribution du portail SDIN Mars 2013.
Advertisements

Module 5 : Implémentation de l'impression
Access Frédéric Gava (MCF)
Abes agence bibliographique de l’enseignement supérieur Les scripts.
J'ADE 2005 J’aide Au Développement des Evaluations Animateurs TICE
Courbes de fonctions avec Excel
Courbes de fonctions avec Excel
D/ Partage et permission NTFS
Support.ebsco.com Liste de résultats EBSCOhost Didacticiel.
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Vocabulaire pour la passage du modèle conceptuel des données au modèle relationnel des données. MCDMRD EntitéTable PropriétésChamps, attribut IdentifiantClé
Le publipostage La fonction de fusion permet de créer des documents identiques dans les grandes lignes que l’on personnalise automatiquement à chaque destinataires.
! ! ! PROCEDURE TYPE POUR ORGANISER L ’ANONYMAT
! 1 CREATION D'UNE MAQUETTE EXPORT / IMPORT
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
La fonction Style Permet de créer des types de texte, par exemple
Principe de défilement du document dans un traitement de texte
Les TABLEAUX Retour au menu principal.
La pharmacovigilance. Cette fenêtre permet de modifier le fichier qui contient l'essentiel des pathologies et médicaments afin de piloter lensemble.
Présentation des tables des matières j puis appuyez sur F5 ou cliquez sur Diaporama > Du début. Pour commencer le cours, dans la barre des messages, cliquez.
12 novembre 2012 Grégory Petit
Logiciel de création de brochures, de prospectus, de revues, etc.
Prise en main rapide... Ou comment commencer avec RevisAudit ?
Formation Microsoft® Office Access 2007
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Plusieurs possibilités
Mars 2013 Grégory Petit
Créer une animation simple Gif avec ImageReady.
Autodesk® Revit® Building 9
Tableau croisé dynamique sous Excel (TCD).
Traitement de textes WinWord 3 e année Sciences économiques, de gestion et commerciales Présenté par NEHAR Attia.
Algorithmique et Programmation
Chap 4 Les bases de données et le modèle relationnel
Les instructions PHP pour l'accès à une base de données MySql
Projet JAVA EE Approfondi
Auto Exterior Scoop SQP PROCESSUS 24 juillet 2006 Version validée V01.
Création d'un diaporama Création d'un diaporama
28 novembre 2012 Grégory Petit
Publispostage Menu Outils / Lettres et publipostage
TD Table traçante - Porte stylo Simulation d’injection plastique pour valider la conception MoldFlow Plastics Advisers version 8.0.
Cours de Base de Données & Langage SQL
Le mini agenda.
‘‘Open Data base Connectivity‘‘
Exporter – Graver - Présenter  C'est grâce aux collections que "Exporter graver présenter" prend tout son sens  On peut y exporter un ensemble d'images,
Création et présentation d’un tableau avec Word 2007
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Initiation aux bases de données
Logiciel de création de livrets scolaires
La liste des tâches  Un moyen commode pour accéder directement et facilement aux tâches programmées pour l’utilisateur et le praticien en cours d’utilisation.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
Création d’un domaine Il faut :
Gestion des correspondants
En route vers le déploiement . . .
1 Complément JAVA 1 - Eclipse. 2 Plan Notion d'environnement de développement Interface d'Eclipse Utiliser Eclipse Éditeur de code Fonctionnalité supplémentaire.
Création JJ Pellé octobre 2014 Il suffit de faire un clic gauche sur l’onglet « Nouveau dossier » Et le nouveau dossier est créé ! Il ne reste plus.
Comprendre le SGBDR Microsoft Access – partie 2
Search IM Nouvelle Interface adCenter Avril 2007.
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
Diffusion Nationale TOULOUSE -Mai 2006 STSWEB Rattacher Services et ARE Gestion individuelle des services et ARE.
Formation Didapages Gilles BADUFLE À partir d’un PPT modifié du C.A.H.M.
Introduction Module 1.
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
Dreamweaver le retour Avec Les Formulaires Les Calques
FACTORY systemes Module 2 Section 1 Page 2-3 Installation d’Industrial SQL FORMATION InSQL 7.0.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Formation SGA Module Saisie des Demandes d’achat Durée : 0,5 jour.
Transcription de la présentation:

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 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 module UML/JAVA

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. module UML/JAVA

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… module UML/JAVA

Étape 2: Vérification du modèle Dans un AGL, la 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. module UML/JAVA

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 automati-quement module UML/JAVA

Degré de sévérité de la vérification En cliquant sur les icônes, on ajuste la sévérité à la règle erreur avertissement correction automatique par l’AGL module UML/JAVA

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 (au sens java), vous devez mettre en œuvre 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. module UML/JAVA

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 » module UML/JAVA

É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) qui réalise la correspondance ‘objet  relationnel’ 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 (Cette opération est détaillée ci-après) module UML/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 module UML/JAVA

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 » module UML/JAVA

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 » module UML/JAVA

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" module UML/JAVA

Remarque : d’un MOO à un autre 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 module UML/JAVA

Générer plusieurs MOO Phase d’analyse Phase de conception (VB.NET) (XML) (Java) génération de modèles génération de codes code VB.NET Fichiers XML Classes Java Phase d’analyse Phase de conception Phase de mise en œuvre module UML/JAVA

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 nouveau modèle (option par défaut) contenant les objets convertis MàJ un modèle existant, issu d’une ancienne génération module UML/JAVA

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) module UML/JAVA

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) module UML/JAVA

Créer un identifiant double-clic module UML/JAVA

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 module UML/JAVA

Création d’une clef relative Fenêtre de la Classe Ceci est un exemple… On peut aussi préférer créer un identifiant de DA propre module UML/JAVA

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. module UML/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) module UML/JAVA

Sélection des tâches (tâches à exécuter lors de la génération) On peut ne rien sélectionner d’autre ! Bien souvent le code java devra être complété module UML/JAVA

Résultats module UML/JAVA

Pour l’application DA : sérialisation, JDBC ou …. + 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 module UML/JAVA

Pour l’application DA : … ou encore ODBC + avantages du SGBD (données cohérentes, clefs, jointures…) + on utilise ACCESS, plus simple et OK chez soi ACCESS : pas top (Solution de facilité) Procédure d’installation : pas possible sur tous les postes (droits d’ajouts pilote ODBC) Ça reste assez simple tout de même !! module UML/JAVA

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… module UML/JAVA

Configuration avec l’item Variables boîte de dialogue Options générales (menu Outils) module UML/JAVA

Options de génération pour Java Options Pour Description Génération des imports de package Java A utiliser pour déclarer l'importation de tout le package Tri des membres de classe par type Java Trie les attributs et opérations par type d’abord Tri des membres de classe par visibilité Java Trie les attributs et opérations par visibilité Génération du fichier build.xml Ant Java Gé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 EJB Génère des opérations Get et CMP dans les interfaces de composant 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 EJB Gé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 JAR EJB Inclut le code des classes Java dans le fichier JAR Etc. Ant est un outil de compilation (comme Make) qui utilise un script nommé 'build.xml‘ On peut télécharger le package Ant à partir du site Web d'Apache (www.apache.org). module UML/JAVA

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 votre modèle initial ! module UML/JAVA