Générer du code à partir d une description de haut niveau

Dimension: px
Commencer à balayer dès la page:

Download "Générer du code à partir d une description de haut niveau"

Transcription

1 Cedric Dumoulin

2 Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction, puis, en cliquant sur un bouton, de générer le code de bas niveau correspondant. Un utilisateur de l environnement pourra modéliser des UI Android dans un éditeur de modèle de UI, et générer le code correspondant à la UI.

3 Que veut dire modéliser à un haut niveau d abstraction? Modéliser à un haut niveau d abstraction signifie que l on veut concevoir la UI en manipulant des concepts métier propre à la UI comme Button, Text, Checkbox, etc. Dans cette modélisation, on ne se soucie pas de la plomberie propre à l implémentation de la UI, comme par exemple de devoir déclarer les chaines de caractères.

4 Comment représenter un modèle? Un modèle peut être représenté de plusieurs façons. Il y a trois grande catégories: les représentations graphique sous forme de graphe, les représentations arborescentes, et les représentations textuelles. La représentation d un modèle s appelle sa syntaxe concrète.

5 Les principales catégories de syntaxes concrètes La représentions graphique présente le modèle sous la forme d un graphe. Les nœuds sont généralement les concepts manipulés, et les liens sont les relations entre ces concepts. Les nœuds peuvent prendre différentes formes : rectangle, icones, Par exemple, le diagramme de classes UML permet de représenter un modèle UML sous une forme graphique. La représentation arborescente permet de représenté un modèle sous la forme d un arbre. Les nœuds de l arbre sont généralement les concepts du modèles. Par exemple, l explorateur de modèle de Papyrus représente un modèle UML sous la forme d un arbre. Autre exemple : Dans Eclipse, dans l explorateur de package, vous pouvez cliquer sur une classe Java. Vous avez alors une représentation arborescente de cette classe. Une représentation textuelle permet de décrire un modèle sous la forme d un texte. Par exemple, un fichier de code Java est une représentation textuelle d une classe Java.

6 Comment se présente l éditeur de modèle? L editeur de modèle proposé par l environement peut être graphique, arborescent ou textuel Un éditeur graphique permet principalement de manipuler les concepts sous forme de rectangles (ou d icones), et de relier les concepts entre eux à l aide de liens. Par exemple, le diagramme de classe de UML est un editeur graphique pour UML. Un editeur arborescent permet d editer un modele dans un arbre dont les nœuds representent les concepts. Par exemple, l explorateur de modèle de Papyrus est un editeur arborecent pour UML. Un éditeur textuel permet de décrire un modèle sous la forme d un texte.

7 Que fournit l environnement de génération de code? Notre environnement doit permettre de modéliser les UI, et de générer le code correspondant. Il doit donc fournir deux composants principaux: Un éditeur de modèle Un générateur de code

8 L éditeur de modèle L éditeur de modèle doit permettre à l utilisateur final de modéliser sa UI en respectant un langage de modélisation bien défini. L éditeur doit produire un modèle.

9 Le générateur de code Le générateur de code doit permettre de générer le code Android à partir du modèle produit par l éditeur. Le code produit doit être immédiatement compilable par l environement Android. L utilisateur ne doit pas avoir besoin de modifier manuellement le code produit.

10 L ingénierie Dirigée par les modèles (IDM) L IDM met le modèle au cœur de la conception d applications L IDM permet de manipuler des modèles (les concevoir, les éditer), de transformer des modèles en d autres modèles (transformation de modèles), de vérifier des modèles, et de générer du texte à partir de modèles.

11 Métamodèle, syntaxe abstraite Dans l IDM, un modèle doit être écrit en respectant une syntaxe précise (un langage). Ce langage est décrit dans un métamodèle. Le métamodèles définit les concepts utilisables dans le modèle. C est ce qu on appel la syntaxe abstraite d un modèle. Plusieurs frameworks mettent en œuvre l IDM, comme par exemple EMF.

12 EMF EMF est un framework pour la manipulation de modèles. EMF permet de spécifier des métamodèles (MM), puis, à partir de ces MM de générer des classes Java support du MM. Les classes support du MM fournissent: Un éditeur arborescent. Permettant de faire des modèles conformes au MM. Les modèles peuvent être sauvegardé en XML. Une classe Java pour chaque concept du MM. Cela permet de manipuler un modèle dans un programme Java Des méthodes d import/export du modèle en XML. Cela permet de manipuler un modèle dans un programme en Java, puis de sauvegarder ce modèle dans un fichier XML. Cela permet aussi d importer un fichier XML d un modèle afin de le manipuler dans un programme Java.

13 MTL / Acceleo MTL est le standard OMG pour générer du texte à partir d un modèle. Acceleo est une implementation de ce standard. La génération de texte se fait à l aide de templates. Un template est un texte avec des points d insertions. Un point d insertion indique un endroit ou le texte doit être généré à partir de valeurs trouvé dans le modèle. Un point d insertion est exprimé à l aide des concepts du métamodèle. Par exemple, un point d insertion va dire qu il faut prendre la valeur de l attribut name du concept de type A. Les point d insertion sont remplacés par les valeurs du modèle par le moteur de génération. Le resultat est un texte conforme au template.

14 Comment réaliser le projet? Pour réaliser le projet, il faut fournir un environnement avec : Un éditeur de modèle pour construire des UI Android Un générateur de code générant le code à partir des modèles construit avec l éditeur. Les modèles doivent suivre une syntaxe précise. L éditeur doit faciliter l utilisation de cette syntaxe

15 Réalisation de l éditeur de modèles EMF permet réaliser simplement des éditeurs de modèles arborescent. GMF, et d autres frameworks (XPray, Graphiti,...) permettent de réaliser des éditeurs de modèles graphiques. L apprentissage de ces framework à un cout (en temps) Xtext permet de réaliser des éditeurs de modèles textuels. L apprentissage de ce framework à un cout. Pour notre projet, nous utiliserons EMF.

16 Réalisation de l éditeur de modèles avec EMF EMF génère automatiquement un éditeur arborescent à partir d un métamodèle (MM). Il faut donc définir le MM, et demander à EMF la génération des classes support.

17 Projets généré par EMF EMF génére 4 projets à partir d un métamodèle Monprojet Contient les classes support pour le modèle Ce projet peut être le projet de départ de votre conception. Monprojet.edit Contient des classes support pour l édition du modèle Monprojet.editor Contient l éditeur arborescent. Monprojet.tests Contient des classes Java/Junit pour le test unitaire du modèle

18 L éditeur de modèle concrètement Vous devez concevoir le MM correspondant à votre langage permettant de décrire une UI Android Vous générez les classes Java support du MM. EMF génére l éditeur arborescent. L éditeur de modèle a besoin des jar des projets pour fonctionner Il faut donc lancer un «Eclipse de test» pour tester l editeur, et faire des modèles de UI Android. Revoir votre tutorial EMF Vous pouvez maintenant écrire des modèles décrivant une UI Android.

19 Réalisation du générateur de code Le générateur de code se fait avec MTL/Acceleo Le générateur consiste à écrire des templates permettant de générer le code UI Android à partir de modèles décrivant cette UI. Un template génère du code à partir d un modèle Ce modèle doit être conforme à un MM Le template s écrit à l aide des concepts du MM! pour générer du code UI Android, votre template doit déclarer qu il utilise le MM UIAndroid

20 Le générateur de code concretement Il est développé dans son propre projet. Ce projet a besoin des jar des projets du MM pour fonctionner. Il ne peut donc fonctionner que dans «l eclipse de test». Le générateur de code peut être testé dans le même eclipse que son projet. pas besoin d ouvrir un 3eme Eclipse

21

22 Le problème Votre métamodèle de UI Android est développé dans votre Eclipse de travail. Mais, il ne peut pas être utilisé dans l Eclipse de travail On ne peut l utiliser que dans l Eclipse de tests La génération de code nécessite de pouvoir utiliser votre MM La génération de code doit être développé dans l Eclipse de tests.

23 Organiser l environnement Les projets du MM sont dans l éclipse de travail Le projet de génération de code doit être dans l Eclipse de tests Tous les projets doivent être reunis dans un seul espace de travail Facilite la gestion de version (SVN, GIT) Comment faire???

24 Organiser l environnement Créer tout les projet dans l Eclipse de travail Le projet du metamodeles Et les projets l accompagnant (.edit,.editor) Le projet de generation de code Ne pas générer le templte tous de suite Lancer l Eclipse de tests Importer le projet de génération de code Import SANS copie Vous pouvez maintenant créer un template. le projet est accessible dans les deux Eclipse le projet est physiquement dans l Eclipse de travail

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

Génération de code Java à partir d'un diagramme de classes UML 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; Modéliser les classes dans des

Plus en détail

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de itemis France 2009 All rights reserved 1 Itemis en quelques mots Spécialisé dans l

Plus en détail

Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005

Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005 Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005 Rappel : Tout méta-modèle ou profil doit être commenté! 1 Question de compréhension du cours barème indicatif : 5 points Q : Lorsque l on

Plus en détail

Architects Community. Augmenter la productivité de vos développements JEE grâce à l approche orientée modèles DSM. Bertrand Florat Architecte JEE

Architects Community. Augmenter la productivité de vos développements JEE grâce à l approche orientée modèles DSM. Bertrand Florat Architecte JEE Architects Community Augmenter la productivité de vos développements JEE grâce à l approche orientée modèles DSM Bertrand Florat Architecte JEE 29 janvier 2008 Déroulement de la discussion L inertie du

Plus en détail

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC

Plus en détail

Définition de syntaxes concrètes graphiques

Définition de syntaxes concrètes graphiques UTM M2 ICE INGÉNIERIE DIRIGÉE PAR LES MODÈLES BE 4 mai 2012 À l instar d une syntaxe concrète textuelle, une syntaxe concrète graphique fournit un moyen de pouvoir visualiser et/ou éditer plus agréablement

Plus en détail

Ingénierie des modèles

Ingénierie des modèles 14 Janvier 2008 Ecole Centrale Plan Mise en bouche... Un modèle? 1 Mise en bouche... Un modèle? 2 MDA? 3 UML Eclipse 4 Plan Mise en bouche... Un modèle? 1 Mise en bouche... Un modèle? 2 MDA? 3 UML Eclipse

Plus en détail

Modélisation sous Eclipse

Modélisation sous Eclipse Modélisation sous Eclipse Programmation / Edition textuelle / Edition graphique/ Modèle Lecture Modèle Traitement Présentation des résultats Solutions apportées par Eclipse? http://www.eclipse.org/ Introduction

Plus en détail

Conventions communes aux profils UML

Conventions communes aux profils UML Conventions communes aux profils UML Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 2.1 Date : Juin 2002 * : Les partenaires du

Plus en détail

Spring IDE. Mise en œuvre. Eclipse

Spring IDE. Mise en œuvre. Eclipse A Spring IDE Bien que Spring mette à disposition d intéressants mécanismes afin d améliorer l architecture des applications Java EE en se fondant sur l injection de dépendances et la programmation orientée

Plus en détail

Industrialisation des développements Spring dans Eclipse

Industrialisation des développements Spring dans Eclipse C Industrialisation des développements Spring dans Eclipse L objectif de cette annexe est de décrire comment mettre en œuvre une approche dirigée par les modèles afin d industrialiser les développements

Plus en détail

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric

Plus en détail

Les nouveautés TOPCASED dans Indigo et MDT Papyrus. Tristan FAURE, Pierre Gaufillet

Les nouveautés TOPCASED dans Indigo et MDT Papyrus. Tristan FAURE, Pierre Gaufillet Les nouveautés TOPCASED dans Indigo et MDT Papyrus Tristan FAURE, Pierre Gaufillet Agenda Contexte TOPCASED 5.0 Changements techniques Nouveautés TOPCASED Indigo Conclusion 2 / 34 Agenda Contexte TOPCASED

Plus en détail

Anne Tasso. Le livre de. Java. premier langage. édition. Groupe Eyrolles, 2000-2012, ISBN : 978-2-212-13538-1

Anne Tasso. Le livre de. Java. premier langage. édition. Groupe Eyrolles, 2000-2012, ISBN : 978-2-212-13538-1 8 Anne Tasso Java Le livre de premier langage e édition Groupe Eyrolles, 2000-2012, ISBN : 978-2-212-13538-1 partie n 3 Outils et techniques orientés objet Dans ce chapitre, les termes «applications mobiles»

Plus en détail

Votre première application Android - Introduction aux Interfac. utilisateur

Votre première application Android - Introduction aux Interfac. utilisateur Votre première application Android - Introduction aux Interfaces graphiques utilisateur frederic.guinand@univ-lehavre.fr 2014-2015 Plan Analyse d une app Android : visite guidée Introduction aux interfaces

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

Plus en détail

Projet de développement. Introduction à Eclipse. Philippe Collet. Licence 3 MIAGE S6 2013-2014

Projet de développement. Introduction à Eclipse. Philippe Collet. Licence 3 MIAGE S6 2013-2014 Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2013-2014 http://miageprojet2.unice.fr/user:philippecollet/projet_de_d%c3%a9veloppement_2013-2014 Plan r Eclipse : Introduction

Plus en détail

lab-sticc.univ-brest.fr/~babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau

lab-sticc.univ-brest.fr/~babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau lab-sticc.univ-brest.fr/~babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Modèles

Plus en détail

Analyse du fonctionnement d'une application finalisée disponible sur l'androïd Market

Analyse du fonctionnement d'une application finalisée disponible sur l'androïd Market Analyse du fonctionnement d'une application finalisée disponible sur l'androïd Market Manidren Christophe 1/7 Contrôle de document Historique des versions Date de début: 07 décembre 2010 Date Version Auteur(s)

Plus en détail

Projet informatique UML-Cpp avec QT4

Projet informatique UML-Cpp avec QT4 Haute école spécialisée bernoise Haute école technique et informatique, HTI Section Electricité et système de communication Laboratoire de l informatique technique Projet informatique UML-Cpp avec QT4

Plus en détail

SDL: 20 ans de programmation basée modèle

SDL: 20 ans de programmation basée modèle SDL: 20 ans de programmation basée modèle Emmanuel Gaudin emmanuel.gaudin @ pragmadev.com Principes MDE, MDA et MDD: Approche orienté modèle PIM: Platform Independant Model PDM: Platform Definition Model

Plus en détail

Méthodologie de Développement Objet

Méthodologie de Développement Objet 1/47 Méthodologie de Développement Objet Troisième partie : Ingénierie des Modèles Christine Solnon INSA de Lyon - 4IF 2014-2015 2/47 Introduction Automatiser la production de logiciels? Saint Graal du

Plus en détail

IHM : Manageur de tâches

IHM : Manageur de tâches Université de Strasbourg UFR Maths-Informatique Licence 3 - Semestre 6 IHM : Manageur de tâches Jonathan HAEHNEL Strasbourg, le 4 mai 2012 Table des matières 1 Analyse 3 1.1 Structure de données...........................

Plus en détail

2- Téléchargement et installation version actuelle 6.1

2- Téléchargement et installation version actuelle 6.1 1- EDI NetBeans (Environnement : Microsoft Windows Linux Ubuntu) EDI, Environnement de Développement Intégré Anglais : IDE, Integrated Development Environment Programme regroupant : Un éditeur de texte

Plus en détail

[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY. Validation du document Nom Date Visa

[Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY. Validation du document Nom Date Visa [Projet S9] Rédacteurs & Contributeurs Entité Rédacteurs Contributeurs Imededdine HOSNI Olivier MARTY Organisme ou entreprise Validation du document Nom Date Visa Amel LIMAM Organisme ou entreprise Approbation

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

Ingénierie des Modèles. Méta-modélisation

Ingénierie des Modèles. Méta-modélisation Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon MDE Model Driven Engineering http://www.rzo.free.fr Pierre PARREND 1 Mai 2005 Sommaire MDE : principe MDE et le génie logiciel MDE et UML MDE et les Design Patterns

Plus en détail

Projet de développement. Introduction à Eclipse. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Projet de développement. Introduction à Eclipse. Philippe Collet. Organisation. Cours 1 : principes généraux - svn 1 Organisation Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique Cours 1 : principes généraux - svn Cours 2 : Redmine et gestion de projet Cours 3 : Introduction à Eclipse

Plus en détail

TP2 : Initiation à la Programmation avec Android

TP2 : Initiation à la Programmation avec Android TP2 : Initiation à la Programmation avec Android 1 TP2 : Initiation à la Programmation avec Android Programmation Mobile Objectifs du TP Ce TP est une initiation à Android. Nous allons réaliser les premiers

Plus en détail

Ingénierie Dirigée par les Modèles : modélisation EMF. (Eclipse Modeling Tools)

Ingénierie Dirigée par les Modèles : modélisation EMF. (Eclipse Modeling Tools) lab-sticc.univ-brest.fr/~babau/ Ingénierie Dirigée par les Modèles : modélisation EMF (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Modèles

Plus en détail

MEGA Administration-Supervisor. Guide de l administrateur

MEGA Administration-Supervisor. Guide de l administrateur MEGA Administration-Supervisor Guide de l administrateur MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient

Plus en détail

Historique. Eclipse et ses concurrents. Logiciels libres : Préhistoire : 1980 : environnement graphique et premiers EDI (1981 Turbo Pascal)

Historique. Eclipse et ses concurrents. Logiciels libres : Préhistoire : 1980 : environnement graphique et premiers EDI (1981 Turbo Pascal) 1 Organisation Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique Cours 1 : principes généraux - svn Cours 2 : TRAC et gestion de projet Cours 3 : Introduction à Eclipse

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

Projet : Plan Assurance Qualité

Projet : Plan Assurance Qualité Projet : Document : Plan Assurance Qualité 2UP_SPEC_DEV1 VERSION 1.00 Objet Ce document a pour objectif de définir la démarche d analyse et de conception objet ainsi les activités liées. Auteur Eric PAPET

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

Projet MVC-CD Analyse des outils JavaFX

Projet MVC-CD Analyse des outils JavaFX Projet MVC-CD Analyse des outils JavaFX Créé par M. Jaouadi, le 23 mars 205 Modifié par M. Jaouadi, le 3 mars 205 Page sur 2 Table des matières Préambule... 3 2 Les outils associés à JavaFX... 3 3 Les

Plus en détail

Les Lignes de Produits Logiciels (Software Product Lines) Tewfik Ziadi UPMC/LIP6 tewfik.ziadi@lip6.fr

Les Lignes de Produits Logiciels (Software Product Lines) Tewfik Ziadi UPMC/LIP6 tewfik.ziadi@lip6.fr Les Lignes de Produits Logiciels (Software Product Lines) Tewfik Ziadi UPMC/LIP6 tewfik.ziadi@lip6.fr 1. Plusieurs modèles de téléphones. 2. Des utilisateurs à travers le monde Plusieurs versions de la

Plus en détail

Création de boutons pour DvdStyler 1.5b5

Création de boutons pour DvdStyler 1.5b5 Création de boutons pour DvdStyler 1.5b5 TABLE DES MATIERES 1Présentation... 1 2Ajout d un bouton de navigation...1 2.1Création du bouton... 1 2.2Intégration à DvdStyler... 4 3 Quelques erreurs possibles...

Plus en détail

Ingénierie des Modèles. Transformations de Modèles

Ingénierie des Modèles. Transformations de Modèles Ingénierie des Modèles Transformations de Modèles Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Types de transformation Raffinement Projection

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

Générateur de code - EUGene

Générateur de code - EUGene Générateur de code - EUGene Florian Desbois Code Lutin www.codelutin.com 1 Plan 1.Présentation de Code Lutin 2.Différentes techniques de génération 3.Génération avec EUGene 4.Exemple de genération en Java

Plus en détail

CAHIER DES CHARGES Editeur XML Responsable de projet : Michel Meynard

CAHIER DES CHARGES Editeur XML Responsable de projet : Michel Meynard CAHIER DES CHARGES Editeur XML Responsable de projet : Michel Meynard Université Montpellier 2 - M1 Informatique S2 CHANTEMESSE Florian NOYARET Pierre REY Cyrille VINYES François 4 février 2008 Table des

Plus en détail

Introduction à Eclipse

Introduction à Eclipse Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant

Plus en détail

IDM - Graphical Modeling Framework

IDM - Graphical Modeling Framework IDM - Graphical Modeling Framework Youssef RIDENE Objectif du TD Serveur.ecore). Définir un éditeur graphique (DSM : Domain Specific Modeler) pour le méta-modèle vu en TD (ClientProxy- Utiliser la version

Plus en détail

Eclipse Modeling Tools

Eclipse Modeling Tools Laboratoire d'analyse et d'architecture des Systèmes Eclipse Modeling Tools Génération d'un éditeur graphique Résumé: Un éditeur graphique est généré à partir d'un méta modèle «Ecore». La représentation

Plus en détail

Examen. Département de génie électrique et de génie informatique Faculté des sciences et de génie. Génie logiciel orienté objet IFT-20829

Examen. Département de génie électrique et de génie informatique Faculté des sciences et de génie. Génie logiciel orienté objet IFT-20829 Examen 40% note du trimestre Documentation permise QUESTION 1 (100 points) Dans cet examen, nous allons explorer l utilisation de la notation UML et des design patterns dans le contexte de la modélisation

Plus en détail

Documentation technique. [EIP] TransLSF. Henri HARDILLIER - Thomas MOREL - Florian JOUSSEAU Alexis MONNIER - Keo KHEMARA - Leo MARTIN Stéphane RICARDO

Documentation technique. [EIP] TransLSF. Henri HARDILLIER - Thomas MOREL - Florian JOUSSEAU Alexis MONNIER - Keo KHEMARA - Leo MARTIN Stéphane RICARDO Documentation technique [EIP] TransLSF Henri HARDILLIER - Thomas MOREL - Florian JOUSSEAU Alexis MONNIER - Keo KHEMARA - Leo MARTIN Stéphane RICARDO Résumé Ce document présente la partie technique de TransLSF.

Plus en détail

CONCEPTION des SYSTÈMES d INFORMATION UML

CONCEPTION des SYSTÈMES d INFORMATION UML CONCEPTION des SYSTÈMES d INFORMATION UML 2 : Analyse Fonctionnelle Epitech 3 Automne 2007 Bertrand LIAUDET SOMMAIRE LES CAS D UTILISATION 2 1. Présentation intuitive de la notion de cas d utilisation

Plus en détail

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

Plus en détail

JAXB pour le XML-Binding

JAXB pour le XML-Binding JAXB pour le XML-Binding Eric BELLARD JAXB pour le XML-Binding... 1 Introduction...1 But du document...1 Lexique... 1 Articles liés... 2 JAXB (Java Architecture for XML Binding)...2 Utilisation de JAXB...3

Plus en détail

Étude de cas. UML n est pas une méthode

Étude de cas. UML n est pas une méthode Étude de cas UML n est pas une méthode UML n est pas une méthode, mais un simple langage ; l OMG ne préconise pas de processus ; il n existe pas une démarche unique qui fixe l ordre dans lequel les modèles

Plus en détail

CAHIER DES SPECIFICATIONS FONCTIONNELLES

CAHIER DES SPECIFICATIONS FONCTIONNELLES 2010/2011 INSTITUT SUP GALILEE CAHIER DES SPECIFICATIONS FONCTIONNELLES IHM XML O.N.E.R.A. Institut Sup Galilée O.N.E.R.A. Page 2 Sommaire I. Description du sujet... 4 II. Outils utilisés... 4 III. Description

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée Master 1 T.P. 1 Bases Java - Eclipse / Netbeans PDJ Environnements Java Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement d exécution

Plus en détail

L approche Bases de données

L approche Bases de données L approche Bases de données Cours: BD. Avancées Année: 2005/2006 Par: Dr B. Belattar (Univ. Batna Algérie) I- : Mise à niveau 1 Cours: BDD. Année: 2013/2014 Ens. S. MEDILEH (Univ. El-Oued) L approche Base

Plus en détail

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

Plus en détail

PASCAL ROQUES. UML par. la pratique. Groupe Eyrolles, 2001, 2002, 2004, 2005, 2006, 2009. ISBN : 978-2-212-12508-5

PASCAL ROQUES. UML par. la pratique. Groupe Eyrolles, 2001, 2002, 2004, 2005, 2006, 2009. ISBN : 978-2-212-12508-5 est f o E Y R O L L E S PASCAL ROQUES UML par la pratique Groupe Eyrolles, 2001, 2002, 2004, 2005, 2006, 2009. ISBN : 978-2-212-12508-5 Sommaire Introduction 9 Objectifs du livre... 9 Structure de l ouvrage...

Plus en détail

Survivre ave Eclipse. 1 Comment créer un projet : Un projet est un répertoire qui contient tous les sous répertoires et fichiers utiles.

Survivre ave Eclipse. 1 Comment créer un projet : Un projet est un répertoire qui contient tous les sous répertoires et fichiers utiles. Survivre ave Eclipse 1 Comment créer un projet : Un projet est un répertoire qui contient tous les sous répertoires et fichiers utiles. Dans le Menu > File > New > Project Sélectionner > Java Project >

Plus en détail

Configuration Interface for MEssage ROuting

Configuration Interface for MEssage ROuting ConfigurationInterfaceforMEssageROuting Date:21/05/07 Version:0.3 Statut:diffusable Auteurs: 1/22 BAGNARDNatacha FOROTJulien Tabledesrévisions Version Date Modifications 0.1 02/04/07 Créationdudocument

Plus en détail

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform IBM Software Group Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform Thierry Bourrier, Techical Consultant thierry.bourrier@fr.ibm.com L Architecture

Plus en détail

Modélisation objet Le langage UML

Modélisation objet Le langage UML Modélisation objet Le langage UML Brahim HAMID La base de contrôle Robot Zone à explorer brahim.hamid@irit.fr brahim.hamid@univ-tlse2.fr http://mass-cara.univ-tlse2.fr/~brahimou/ens/uml 1 Les méthodes

Plus en détail

Analyse d'un réseau social

Analyse d'un réseau social Licence 2, Semestre 3 2012 Projet Programmation Orientée Objet BRIDOUX Florian KEITH Bruno DUPRE-PAWLAK Sandra 1 Sommaire I) Présentation du Projet. 1. Projet demandé 2. Projet réalisé II) Diagrammes de

Plus en détail

Projet de développement. Introduction à Eclipse. Philippe Collet. Licence 3 Informatique 2012-2013

Projet de développement. Introduction à Eclipse. Philippe Collet. Licence 3 Informatique 2012-2013 Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique 2012-2013 Plan r Application de redmine à votre projet r Eclipse : Introduction et historique r Architecture d Eclipse

Plus en détail

Le modèle de données

Le modèle de données Le modèle de données Introduction : Une fois que l étude des besoins est complétée, deux points importants sont à retenir : Les données du système étudié Les traitements effectués par le système documentaire.

Plus en détail

LOG4500 Travail Pratique 1 Tests unitaires

LOG4500 Travail Pratique 1 Tests unitaires LOG4500 Travail Pratique 1 Tests unitaires John Mullins Pascal Bachand 20 septembre 2006 1 Introduction 1.1 Mise en situation Vous personnifiez deux jeunes brillant(e)s entrepreneur(e)s ayant fondé une

Plus en détail

ENSI. Visual C++ Initiation

ENSI. Visual C++ Initiation ENSI Visual C++ Initiation Tables des matières 1. LES MFC (MICROSOFT FOUNDATION CLASSES)...3 1.1 DÉFINITION... 3 1.2 L ESPACE DE TRAVAIL... 3 2. CRÉER UN NOUVEAU PROJET...5 2.1 ETAPE 1 : CHOISIR LE TYPE

Plus en détail

Langage de commandes Ant. Langage de commandes Ant

Langage de commandes Ant. Langage de commandes Ant Langage de commandes Ant Langage de commandes Ant Cedric Dumoulin cedric.dumoulin@lifl.fr Cedric Dumoulin ((C)Gautier Koscielny, Jérôme Moroy) ((C)Gautier Koscielny, Jérôme Moroy) Introduction L outil

Plus en détail

A N A L Y S E, C O N C E P T I O N, E T P R O G R A MMATION O R I E N T E E O B J E T

A N A L Y S E, C O N C E P T I O N, E T P R O G R A MMATION O R I E N T E E O B J E T A N A L Y S E, C O N C E P T I O N, E T P R O G R A MMATION O R I E N T E E O B J E T RAPPORT DE PROJET LOGICIEL DE GESTION DE COMPAGNIE DE TRANSPORT MARITIME CE LI NE HE NRY CO MB ES P IERRE LUCE L3 IN

Plus en détail

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012 DSL Domain Specific Language À l'aide des technologies Eclipse Modeling Le 23 novembre 2012 Goulwen Le Fur goulwen.lefur@obeo.fr Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter

Plus en détail

Introduction à la construction d un DSL sous Eclipse

Introduction à la construction d un DSL sous Eclipse Introduction à la construction d un DSL sous Eclipse Didier Vojtisek To cite this version: Didier Vojtisek. Introduction à la construction d un DSL sous Eclipse. Programmez!, Magazine Programmez, 2009,

Plus en détail

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn 1 Organisation Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique Cours 1 : principes généraux - svn Cours 2 : Redmine et gestion de projet Cours 3 : Introduction à Eclipse

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Chapitre 13 Développer une application Android La création d applications

Plus en détail

Generation du code UI Android. Partie 2

Generation du code UI Android. Partie 2 Objectifs Generation du code UI Android Partie 2 Author : Cedric Dumoulin Date : 22 nov. 2012 Rev : 7 Nov. 2013 Nous voulons générer le code de la UI Android. Dans ce TP nous allons améliorer le métamodèle

Plus en détail

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation Clues from other disciplines (from E. Gamma) Patrons de conception («Design Patterns») ESIR2, GL (LSI) Benoit Combemale Université de Rennes 1, ESIR & IRISA (Triskell team) Benoit.Combemale@irisa.fr Inspiré

Plus en détail

MOHEISSEN Fabien - STROBANT Adrien - CHANTÔME Adrien

MOHEISSEN Fabien - STROBANT Adrien - CHANTÔME Adrien Stripes Framework MVC Utilisation des ActionBean Gestion avancée des erreurs (conversion, validation) JAXB Framework Persistance en XML Round-tripping des données(java XML) Utilisation intégrée à Eclipse

Plus en détail

EISTI. Oracle Toplink. Manuel d installation et d utilisation

EISTI. Oracle Toplink. Manuel d installation et d utilisation EISTI Oracle Toplink Manuel d installation et d utilisation VILLETTE Charles, BEQUET Pierre, DE SAINT MARTIN Cédric, CALAY-ROCHE Vincent, NAUTRE Francois 20/05/2010 Ce manuel d installation et d utilisation

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Développement de greffons Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure Centre d enseignement

Plus en détail

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools. 1- RAD Quelle sont les avantages que apporte la méthode RAD à l entreprise? Une méthode RAD devrait, d après son auteur, apporter trois avantages compétitifs à l entreprise : Une rapidité de développement

Plus en détail

Projet de Génie Logiciel et Système : Un modèle de scénarios

Projet de Génie Logiciel et Système : Un modèle de scénarios Projet de Génie Logiciel et Système : Un modèle de scénarios Mathieu MONTIN 2015-2016 Résumé Ce document décrit le travail demandé aux étudiants du département IMA de l ENSEEIHT inscrits pour la session

Plus en détail

Programmation orientée domaine pour les services télécoms: Concepts, DSL et outillage

Programmation orientée domaine pour les services télécoms: Concepts, DSL et outillage Programmation orientée domaine pour les services télécoms: Concepts, DSL et outillage Areski Flissi Gilles Vanwormhoudt LIFL/CNRS (UMR 8022) Institut TELECOM 59655 Villeneuve d Ascq 59655 Villeneuve d

Plus en détail

Cours de base d Ingéniérie des applications objet. Introduction

Cours de base d Ingéniérie des applications objet. Introduction 1 IMPORTANCE DES OBJETS DANS L INFORMATIQUE LOGICIELLE1 Cours de base d Ingéniérie des applications objet. Introduction Support de Cours Christophe Dony Université Montpellier-II Contenu du cours - concepts

Plus en détail

EC726 Programmation avancée TP 1 Introduction aux outils de programmation Java

EC726 Programmation avancée TP 1 Introduction aux outils de programmation Java EC726 Programmation avancée TP 1 Introduction aux outils de programmation Java Jean-Yves Didier Objectifs : Prendre en main les outils pour programmer en Java : Être capable de compiler et d exécuter des

Plus en détail

Spécifications et développement des VIDL de bas niveau D5-1

Spécifications et développement des VIDL de bas niveau D5-1 Rédacteurs Aymen Abedmouleh Pierre Laforcade Relecteurs Esteban Loiseau Date 30/08/14 Référence GRAPHIT-D5.1 Version 0.2 Spécifications et développement des VIDL de bas niveau D5-1 1/23 Historique du document

Plus en détail

Introduction à la conception d'une base de données Walter RUDAMETKIN

Introduction à la conception d'une base de données Walter RUDAMETKIN Introduction à la conception d'une base de données Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Étapes de la conception d'une base de données Analyse de la situation existante et des

Plus en détail

Concepteur Développeur Informatique Option Nomade

Concepteur Développeur Informatique Option Nomade Concepteur Développeur Informatique Option Nomade Module : Espace ouvert de formation (2 semaines) Ce module est composée de plusieurs parties : - le module développement durable (14 heures), qui traite

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Cahier des charges. MIF 16 Conduite de projet. Génération d'un éditeur de texte. Cédric Cazé. Bertrand Gros. Olivier Torillec.

Cahier des charges. MIF 16 Conduite de projet. Génération d'un éditeur de texte. Cédric Cazé. Bertrand Gros. Olivier Torillec. Cahier des charges MIF 16 Conduite de projet Génération d'un éditeur de texte Cédric Cazé Bertrand Gros Olivier Torillec Antoine Vaisset Arnaud Gremminger Présentation du projet L'éditeur de texte sera

Plus en détail

LI5a : Développement de programmes (A. Slissenko)

LI5a : Développement de programmes (A. Slissenko) 1 Licence 3 Info LI5a : Développement de programmes (A. Slissenko) Corrigé 1. (1a). Expliquez brièvement à quoi sert la spécification des requis, comment elle peut être décrite et comment elle peut être

Plus en détail

Diagramme de Classe UML et Base de Données Relationnelle-objet

Diagramme de Classe UML et Base de Données Relationnelle-objet Ecole des Hautes Etudes Commerciales HEC Alger Diagramme de Classe UML et Base de Données Relationnelle-objet par Amina GACEM Module Informatique 1ière Année Master Sciences Commerciales Plan Introduction

Plus en détail

Périmètre de la solution

Périmètre de la solution Périmètre de la solution Tests unitaires : Pouvoir créer rapidement un nouveau cas de test à la suite de l ajout ou de l évolution d une règle de gestion. Ne pas avoir à coder chaque nouveau cas de test.

Plus en détail

Brique B.D.L : Gestion de Projet Logiciel. Editeur graphique d aide à la description d une architecture logicielle. Revue de Planification

Brique B.D.L : Gestion de Projet Logiciel. Editeur graphique d aide à la description d une architecture logicielle. Revue de Planification Brique B.D.L : Gestion de Projet Logiciel Editeur graphique d aide à la description d une architecture logicielle Revue de Planification Yann Barthélémy Audran Le Baron Olivier Jennes Pierrick Lerey Alexandre

Plus en détail

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique Génie logiciel avec UML Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique Claude Boutet Session hiver 2008 Modélisation de systèmes Table des matières TABLE DES

Plus en détail

Approche Contract First

Approche Contract First Exemple HelpDesk Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation

Plus en détail

Morgan Beau Nicolas Courazier

Morgan Beau Nicolas Courazier EPSI - 2010 Rapport projet IA Conception et mise en œuvre d un générateur de systèmes experts Morgan Beau Sommaire Cahier des charges 3 Présentation générale 4 Analyse et modélisation 6 Le moteur d inférence

Plus en détail

UML 1ère partie. Référence: http://uml.developpez.com/lp/cours/uml_free_fr_cours.html UML

UML 1ère partie. Référence: http://uml.developpez.com/lp/cours/uml_free_fr_cours.html UML UML UML 1ère partie Référence: http://uml.developpez.com/lp/cours/uml_free_fr_cours.html LOG2000 Éléments du génie logiciel 2002 Bayomock André-Claude PLAN Définition et historique Vue générale A quoi

Plus en détail

INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens

INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens Année académique 2009 2010 1 Introduction Ce projet est le premier d une série de quatre projets qui ont

Plus en détail

TP1:Priseenmaind Eclipse,élémentsdebasede java

TP1:Priseenmaind Eclipse,élémentsdebasede java TP1:Priseenmaind Eclipse,élémentsdebasede java jean-baptiste.vioix@iut-dijon.u-bourgogne.fr R&T 2ème année Vousavezàvotredisposition(surlerépertoirecommun):lecours,lesTDs, et quelques documents provenant

Plus en détail

Android How To : Prise en Main

Android How To : Prise en Main Android How To : Prise en Main 1 Prise en main avec Eclipse... 2 1.1 Le projet... 2 1.2 Projet propriétés... 2 1.3 Le programme... 3 2 XML Base Layout... 4 2.1 Création du layout... 4 2.2 Lier le Layout

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail