Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

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

Download "Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e"

Transcription

1 P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement contraintes structurelles (e.g. un attribut dans une classe) contraintes de types (e.g. sous-typage) contraintes diverses (e.g. composition, cardinalité, etc.) via des propriétés prédéfinies sur des classes (e.g. {ordered}) sur des rôles (e.g. {ordered}) C est bien, mais c est loin d être suffisant... OCL 2 Expression des contraintes e n l a n g u e n a t u r e l l e Exprimer les contraintes en langue naturelle Simple à mettre en oeuvre utilisation des notes en UML + texte libre compréhensible par tous Indispensable documenter les contraintes est essentiel Problèmes ambigu, imprécis difficile d exprimer clairement des contraintes complexes OCL : Object C o n t r a i n t L a n g u a g e OCL = Object Constraint Language Un des langages d UML Défini (relativement) rigoureusement Syntaxe précise Syntaxe textuelle (sans symboles étranges) Simple à écrire et à comprendre Raisonnablement puissant Utilisé pour définir (partiellement) la sémantique d UML OCL 3 OCL 4 C a r a c t é r i s t i q u e s d OCL Initialement développé par IBM, méthode Syntropy OCL est un langage d expression basé sur le concept de valeur et d expression aucun effet de bord sous ensemble des langages fonctionnels OCL est un langage fortement typé OCL permet de spécifier, pas de programmer Parfaitement adapté à UML Langage extensible OCL 5 L a c u n e s Pas défini très proprement Pas vraiment lisible pour des contraintes complexes Pas aussi rigoureux qu un langage de spécification comme Z ou B => pas de preuves possibles Puissance d expression limitée Avantages principaux être parfaitement intégré à UML exister, être standardisé quelques bonnes idées OCL 6 1

2 Où utiliser OCL A s s o c i e r u n e c o n t r a i n t e à u n é l é m e n t d un modèle OCL peut être utilisé pour décrire des prédicats invariants de classes (inv) pré-conditions d opérations (pre) post-conditions d opérations (post) gardes OCL peut également être utilisé pour naviguer OCL 7 Une contrainte est toujours associé à un élément de modèle : le contexte de la contrainte Pour associer une contrainte à son contexte : utiliser une note UML et la relier par un trait pointillé permet de visualiser directement le contexte ne pas mettre trop de contraintes sur un même schéma! l associer par un autre moyen interactif avec un outil dépend de l outil utilisé décrire explicitement le contexte d utilisation sous forme de texte (context Personne inv : age>10) permet de regrouper l ensemble des contraintes dans un texte OCL 8 I n v a r i a n t s Prédicat associé à une classe, une association,... Doit être vérifié à tout instant Le contexte est défini par un objet cet objet peut être référencé par self l objet peut être nommé explicitement L invariant peut être nommé context Personne inv : age>0 and self.age<110 E x e m p l e s d i n v a r i a n t s context p : Personne inv mariagelégal : p.marié implies p.age > 16 inv enfantsok : p.enfants->size < 20 context p : Personne inv ageok : p.age < 110 OCL 9 OCL 10 Pré-c o n d i t i o n s e t p o s t -c o n d i t i o n s E x e m p l e s d e Pré-c o n d i t i o n s e t p o s t -c o n d i t i o n s Prédicats associés à une opération les pré-conditions doivent être vérifiées avant l exécution pour que l opération soit valide les post-conditions doivent être vraies après l exécution self désigne l objet sur lequel l opération à permet de faire référence à la valeur avant l opération context Type::opération( param1 : Type1, ) : Type pre nom1 : param1 < pre n o m 2 : post nom2 : result > OCL 11 context Personne::anniversaireArrive () post : age = + 1 context Personne::salaire() : integer post : return > 5000 context Compagnie:: embaucheemployé( p : Personne) pre pasprésent : not employés->includes(p) post embauché : employés->includes(p) OCL 12 2

3 T y p e s S y n t a x e d e s e x p r e s s i o n s Types de bases Integer Real Boolean String Types énumérés Types construits Set(T) Sequence(T) Bag(T) Collection(T) Types provenant d UML classes associations Méta-types OclType OclAny OclState OclExpression OCL 13 OCL est un langage simple d expressions constantes identificateur self expr op expr exprobjet. propobjet ( parametres ) exprcollection -> propcollection ( parametres ) package::package::element if cond then expr else expr endif let var : type in expr OCL 14 A r e t e n i r E x e m p l e s d e x p r e s s i o n s Toute expression à un type et une valeur Aucun effet de bord Une expression est relative à un élément (contexte). permet d accéder à une propriété d un objet -> permet d accéder à une propriété d une collection :: permet d accéder à un élément d un paquetage Des régles permettent de mixer collection et objets OCL self.nom self.impôts(1998) / self.enfants->size self.salaire() self.enfants->select( sexe = #masculin ) self.enfants->isempty self.enfants->forall(age>20) self.enfants->collect(salaire)->sum self.enfants->union(self.parents)->collect(age) OCL 16 I n t e g e r et Real Integer valeurs : 1, -5, 34, 24343,... opérations : +, -, *, d i v, mod, abs, max, min Real valeurs : 1.5, 1.34,... opérations : +, -, *, /, floor, round, max, min Le type Integer est «conforme» au type Real OCL 17 B o o l e a n Boolean valeur : true, false opérations : not, and, or, xor, implies, if-then-else-endif L évaluation des opérateurs or, and, if est partielle true or x est toujours vrai, même si x est indéfini false and x est toujours faux, même si x est indéfini (age<40 implies salaire>10000) and (age>=40 implies salaire>20000) if age<40 then salaire > else salaire > endif salaire > (if age<40 then else endif) OCL 18 3

4 String E n u m é r a t i o n String valeur :, une phrase opérations : = s.size(), s1.concat(s2), s1.substring(i1,i2) s1.toupper(), s1.tolower() Définition d un type énuméré enum { masculin, feminin } Utilisation d une valeur d un type énuméré #lundi Toutes les valeurs appartiennent à un seul type Opération =, <> OCL 19 OCL 20 C o l l e c t i o n s Utilisation des collections en UML OCL permet de gérer 3 types de collections ensembles : Set(T) pas de répétition, pas d ordre Set { 1, 5, 10, 3 } sacs : Bag(T) répétitions possibles, pas d ordre Bag { 1, 5, 5, 10, 3, 1 } listes : Sequence(T) répétitions possibles, les éléments sont ordonnés Les ensembles sont utilisés partout en UML extension d une classe, d une association,... extrémité d une association,... Les séquences peuvent être utilisée en UML le résultat d une association avec la contrainte {ordered } Les sacs sont le résultat de navigations en OCL le résultat de l opération collect est un sac utile pour des opérations comme sum employes->collect(salaire).sum Sequence { 1, 5, 5, 10, 3, 1 } OCL 22 OCL 21 R e m a r q u e s s u r l e s c o l l e c t i o n s O p é r a t i o n s s u r l e s c o l l e c t i o n s Collection(T) désigne n importe quelle collection Les types de collections ne sont pas compatibles utilisation de fonction de conversions s->asbag, s->assequence, b->asset, Opérations communes et opérations spécifiques Pas de collections de collections mise à plat automatique Set{ Set{1,2}, Set{3,1} } = Set{1,2,3} très limitatif (mais simple) OCL 23 Opérations traditionnelles : union, intersection,... Filtrage : sélection et élimination selon un prédicat select, filter Image d une fonction (d une expression) collect Quantificateurs forall, exists Iterateur général iterate OCL 24 4

5 Element v s. s i n g l e t o n Dans tout langage typé il faut distinguer un élément e du singleton contenant cet élément Set{e} Pour simplifier la navigation OCL une conversion implicite est faite lorsqu une opération sur une collection est appliquée à un élement isolé elem -> prop est équivalent à Set{elem }->prop self->size = 1 OCL 25 O p é r a t i o n s t r a d i t i o n n e l l e s s u r l e s c o l l e c t i o n s Cardinalité : coll -> size Nombre d occurrences : coll -> count(elem) Appartenance : coll -> includes( elem ) Non appartenance : coll -> excludes( elem ) Inclusion : coll -> includesall(coll) Vide : coll -> isempty Non vide : coll -> nonempty Somme des élements coll -> sum OCL 26 O p é r a t i o n s s u r l e s e n s e m b l e s Union ens -> union( ens ) Intersection ens -> intersection( ens ) Difference ens1 - ens2 Ajout d un élément ens -> including(elem) Suppression d un el. ens -> excluding(elem) Conversion vers liste ens -> assequence Conversion vers sac ens -> asbag F i l t r a g e : s e l e c t e t r e j e c t coll -> select( cond ) coll -> reject( cond ) select retient les éléments vérifiant la condition reject élimine ces élements (extension d un prédicat sur un ensemble) self.enfants ->select( age>10 and sexe = #masculin) self.enfants ->reject(enfants->isempty)->notempty OCL 27 OCL 28 Il est également possible de nommer la variable d expliciter son type F i l t r a g e : a u t r e s s y n t a x e s self.employé->select(age > 50) self.employé->select( p p.age>50 ) self.employé->select( p : Personne p.age>50) self.employé->reject( p : Personne p.age<=50) OCL 29 Image d une expression : c o l l e c t coll -> collect( expr ) Correspond à l image d une fonction (map, apply,...) L expression est évaluée pour chaque él ément Le résultat est le sac des résultats Le résultat est un SAC, pas un ensemble! self.enfants->collect(age) = Bag{10,5,10,7} self.employés->collect(salaire/10)->sum OCL 30 5

6 Image d une expression : a u t r e s y n t a x e Collect est une opération de navigation courante Pour simplifier on peut utiliser le raccourci suivant self.enfants->collect(age) <=> self.enfants.age Rappel : le résultat est un sac (Bag) si l on souhaite obtenir un ensemble : self.enfants.age ->asset Permet de naviguer self.enfants.enfants.voitures OCL 31 Q u a n t i f i c a t e u r s : f o r A l l et e x i s t s coll -> forall( cond ) coll -> exists( cond ) Quantificateur universel et existentiel self.enfants->forall(age<10) self.enfants->exists(sexe=#masculin) if self.enfants->forall(age<18) then 2000 else self.enfants->select(age>=18)->size*100 endif OCL 32 Q u a n t i f i c a t e u r s : a u t r e s s y n t a x e s Il est possible de nommer la variable d expliciter son type de parcourir plusieurs variables à la fois self.enfants->forall( e e.age < self.age - 14) self.enfants->forall( e : Personne e.age < self.age - 14) self.enfants->forall( e1,e2 : Personne e1 <> e2 implies e1.prénom <> e2.prénom) U n i c i t é coll -> isunique ( expr ) Retourne vrai si pour chaque valeur de la collection, l expression retourne une valeur différente self.enfants -> isunique ( prénom ) Pratique pour définir la notion de clé OCL 33 OCL 34 O p é r a t i o n s s p é c i f i q u e s a u m o d è l e o b j e t d UML accès à un attribut, à une opération navigation VIA une association VERS une association DEPUIS une association accès au type et super types accès au instances d une classe (extension) objet.attribut Accès à un attribut self. datedenaissance A c c è s à u n a t t r i b u t A c c è s à u n e m é t h o d e objet.méthode( expr1, expr2,... ) Accès à une méthode (sans effet de bord) self.impôt(1998) OCL 35 OCL 36 6

7 Navigation VIA une association Navigation VIA une association objet. nomderole A partir d un objet, accéder à l ensemble des objets qui lui sont associés via des liens. Cardinalité 1 ou => le résultat est un objet Sinon une séquence si le rôle est décoré par {ordered} Sinon un ensemble self.père est de type Personne self.voitures est de type Set(Voiture) self.enfants est de type Sequence (Personne) OCL 37 Rappel: un élement est convertit en singleton lorsqu une opération sur collection est appliquée self.père ->size = 1 Permet de tester si la valeur est définie (l ensemble vide représente la valeur indéfinie) self.père ->isempty self.épouse ->nonempty implies self.épouse.sexe = #féminin Si une association n a pas de nom de rôle, on peut utiliser le nom de la classe destination avec la première lettre en minuscule OCL 38 N a v i g a t i o n V E R S u n e a s s o c i a t i o n N a v i g a t i o n VERS une association réflexive objet. nomdassociation Permet d accéder à l ensemble des liens Le nom de l association (i.e. de la classe associative) est écrit, mais en commençant par une minuscules s.emploi p.emploi Personne employé * société 0..2 s.emploi->collect(salaire)->sum s.emploi.salaire. sum Emploi salaire augmenter() Société OCL 39 objet. nomdassociation[ nomderole] Si l association est réflexive il faut indiquer le sens de parcours de l association (pour éviter l ambiguité) Personne age employés * chefs p.evaluation[chefs] p.evaluation[employés] p.evaluation[chefs].note -> sum * Evaluation note OCL 40 N a v i g a t i o n D E P U I S u n e a s s o c i a t i o n O p é r a t i o n s c o n c e r n a n t l e s t y p e s lien.nomderole Accès aux objets intervenant dans un lien à partir de ce lien, en utilisant le nom de rôle Il y a toujours un et un seul objet correspondant Personne employé société * 0..2 e.personne Emploi salaire e.société s.emploi->select(salaire<5000).personne Société OCL 41 objet.oclistypeof(type) Indique si le type exact de l objet est type objet.ocliskindof(type) Indique si le type de l objet est type ou l un de ces sous-type. objet.oclastype (type) Conversion de type (casting) OCL 42 7

8 O p é r a t i o n s c o n c e r n a n t l e s t y p e s O p é r a t i o n s d é f i n i e s s u r l e s c l a s s e s Contraintes sur les types p.filles->forall (oclistypeof (Femme)) p.filles->forall (ocliskindof (Femme)) Accès aux propriétés surchargées e. oclastype(person).nom Typage dynamique p.enfants->select(ocliskindof (Employé)).asTypeOf (Employé).salaire ->sum Classe.propdeclasse Permet d accéder aux propriétés de classes Classe.allInstances Retourne l ensemble des instances de la classe c est à dire l extension de cette classe Personne.allInstances->size < 500 Personne.allInstances->forall (p1,p2 p1<>p2 implies p1. numsecu <> p2.numsecu ) Personne.allInstances->isUnique (numsecu ) OCL 43 OCL 44 8

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

Object Constraint Language (OCL)

Object Constraint Language (OCL) Object Constraint Language (OCL) Eric Cariou Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr 1 Plan 1. Pourquoi OCL? Introduction par l'exemple

Plus en détail

Object Constraint Language (OCL) Une introduction

Object Constraint Language (OCL) Une introduction Object Constraint Language (OCL) Une introduction Master 2 IFPRU - Module Ingénierie des modèles - FMIN310 Marianne Huchard 7 novembre 2008 1 Présentation générale OCL est un langage formel, basé sur la

Plus en détail

Développement de logiciel avec UML

Développement de logiciel avec UML Survol et exemples Pascal ANDRE Université de Nantes Master Miage M1 Introduction UML : un langage de spécification multi-formalisme UML : précision avec OCL UML : une méthode de développement UML : un

Plus en détail

UML et les Bases de Données

UML et les Bases de Données CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..

Plus en détail

Développement d un interpréteur OCL pour une machine virtuelle UML.

Développement d un interpréteur OCL pour une machine virtuelle UML. ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

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

Classes et Objets en Ocaml.

Classes et Objets en Ocaml. Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.

Plus en détail

Sixième partie VI. Diagramme de cas d utilisation. Cours de Génie Logiciel. David Janiszek. Introduction. Les éléments. Les relations.

Sixième partie VI. Diagramme de cas d utilisation. Cours de Génie Logiciel. David Janiszek. Introduction. Les éléments. Les relations. Sixième partie VI Diagramme de cas d utilisation Définition Le diagramme de cas d utilisation représente la structure des grandes fonctionnalités nécessaires aux utilisateurs du système Rôle du diagramme

Plus en détail

VIII. Interrogation de documents avec XQuery

VIII. Interrogation de documents avec XQuery VIII. Interrogation de documents avec XQuery 350 XQUERY? Est un langage d interrogation de données XML N est pas un dialecte XML Est un sur-ensemble de XPath 2.0 Utilise le même modèle de données (XDM)

Plus en détail

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2 Débuter avec EXPRESS Alain Plantec Table des matières 1 Schema 2 2 Entité 2 2.1 Attributs simples................................................ 2 2.2 Attributs collection...............................................

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Programmation en VBA

Programmation en VBA Programmation en VBA Présentation de Visual Basic Visual Basic : Basic : dérivé du langage Basic (Biginner s All purpose Symbolic Instruction Code) des années 60 Visual : dessin et aperçu de l interface

Plus en détail

Informatique / Programmation

Informatique / Programmation Informatique / Programmation Programmation orientée objet avec Java 02 : Expressions et opérateurs Jacques Bapst jacques.bapst@hefr.ch Expressions [1] Les expressions sont des entités composées de littéraux,

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

UML (Diagramme de classes) Unified Modeling Language

UML (Diagramme de classes) Unified Modeling Language UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

UML. Diagrammes de classes (suite) Delphine Longuet. delphine.longuet@lri.fr

UML. Diagrammes de classes (suite) Delphine Longuet. delphine.longuet@lri.fr Polytech Paris-Sud Formation initiale 3 e année Spécialité Informatique Année 2014-2015 UML Diagrammes de classes (suite) Delphine Longuet delphine.longuet@lri.fr Opérations Opérations Service qui peut

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

Modélisation et stockage des données géographiques. Christelle Pierkot

Modélisation et stockage des données géographiques. Christelle Pierkot Modélisation et stockage des données géographiques Christelle Pierkot Rappels : L information géographique Information relative àun objet ou àun phénomène du monde réel On ne peut appréhender totalement

Plus en détail

UML Diagramme de classes (class diagram) pour le recueil et l analyse des besoins. Emmanuel Pichon 2013 V1.1

UML Diagramme de classes (class diagram) pour le recueil et l analyse des besoins. Emmanuel Pichon 2013 V1.1 UML Diagramme de classes (class diagram) pour le recueil et l analyse des besoins 2013 V1.1 Objectif Diagramme de classes (class diagram) pour le recueil des besoins et l analyse Présenter un ensemble

Plus en détail

Python et la Programmation fonctionnelle. Programmation fonctionnelle 3. Programmation fonctionnelle pure 4. Matthieu Amiguet

Python et la Programmation fonctionnelle. Programmation fonctionnelle 3. Programmation fonctionnelle pure 4. Matthieu Amiguet Python et la Programmation fonctionnelle Matthieu Amiguet 2009 2010 1 Programmation fonctionnelle? 2 3 Lambda expressions 4 5 Programmation fonctionnelle? Programmation fonctionnelle 3 L expression programmation

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages AntLR - Générateur d analyseurs Claude Moulin Université de Technologie de Compiègne Printemps 2015 Sommaire 1 Introduction 2 AntLR ANTLR : ANother Tool for Language Recognition URL

Plus en détail

λ-calcul et typage Qu est-ce qu une fonction?

λ-calcul et typage Qu est-ce qu une fonction? λ-calcul et typage Nicolas Barnier, Pascal Brisset ENAC Avril 2009 Nicolas Barnier, Pascal Brisset (ENAC) λ-calcul et typage Avril 2009 1 / 1 Qu est-ce qu une fonction? Classiquement Pas de notation uniforme/standard

Plus en détail

Projet de Programmation Fonctionnelle

Projet de Programmation Fonctionnelle Projet de Programmation Fonctionnelle L objectif de ce projet est de concevoir, en Objective Caml, un évaluateur pour le langage mini-ml (un sous ensemble du langage Objective Caml). Votre programme devra

Plus en détail

3. UML - Unified Modeling Language Diagrammes statiques

3. UML - Unified Modeling Language Diagrammes statiques 3. UML - Unified Modeling Language Diagrammes statiques Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon

Plus en détail

Ch. 1 : Bases de programmation en Visual Basic

Ch. 1 : Bases de programmation en Visual Basic Ch. 1 : Bases de programmation en Visual Basic 1 1 Variables 1.1 Définition Les variables permettent de stocker en mémoire des données. Elles sont représentées par des lettres ou des groupements de lettres

Plus en détail

Programmation en VBA

Programmation en VBA Programmation en VBA Présentation de Visual Basic Visual Basic : Basic : dérivé du langage Basic (Biginner s All purpose Symbolic Instruction Code) des années 60 Visual : dessin et aperçu de l interface

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en détail

F. Barthélemy. 17 mai 2005

F. Barthélemy. 17 mai 2005 Typage de la généricité en Java F. Barthélemy 17 mai 2005 1 Le shéma général La g én éricit é en Java est un ajout r éalis é sur un langage existant depuis d éjà une dizaine d ann ées, avec des contraintes

Plus en détail

Fichiers. Introduction Fichier texte. Fichier structuré. Présentation Le type TEXT Primitives de gestion Exemple

Fichiers. Introduction Fichier texte. Fichier structuré. Présentation Le type TEXT Primitives de gestion Exemple Fichiers Introduction Fichier texte Présentation Le type TEXT Primitives de gestion Exemple Fichier structuré Présentation Le type FILE OF Primitives de gestion Exemple Compléments d algorithmique 1 Introduction

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

6.1 Une classe simple pour représenter des comptes bancaires

6.1 Une classe simple pour représenter des comptes bancaires Chapitre 6 Héritage Ce chapitre du cours traite de concepts relatifs à la programmation objet (hiérarchie de classe, héritage, extension, masquage) et sera illustré par un exemple de représentation de

Plus en détail

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2 Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101 Danny Dubé Hiver 2014 Version : 11 avril Questions Travail pratique #2 Traduction orientée-syntaxe

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

Notation fonctionnelle : Union (R,S) ou OR (R, S) Chapitre 4 : Algèbre Relationnelle

Notation fonctionnelle : Union (R,S) ou OR (R, S) Chapitre 4 : Algèbre Relationnelle Chapitre 4 : IV. Qu est-ce que l algèbre relationnelle? Une collections d opérations, chacune agissant sur une ou deux relations et produisant une relation en résultat. Un langage pour combiner ces opérations.

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Conception des bases de données : Modèle Entité-Association

Conception des bases de données : Modèle Entité-Association Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Modèle Entité/Association

Modèle Entité/Association Base de données Modèle Entité/Association L3 Informatique Antoine Spicher antoine.spicher@u-pec.fr Contexte du cours Organisation du cours 1 ère partie (C. D.) Modèle et algèbre relationnel Langage SQL

Plus en détail

CSC4002 : Contrôle continu «Bureau d Étude noté» Date : lundi 3 décembre 2012 Durée : 2H. Coordonnateurs : Christian Bac et Denis Conan

CSC4002 : Contrôle continu «Bureau d Étude noté» Date : lundi 3 décembre 2012 Durée : 2H. Coordonnateurs : Christian Bac et Denis Conan Corrigé et Barème Contrôle de connaissances 2012/2013 des étudiants de 2 è année (EI2) CSC4002 : Contrôle continu «Bureau d Étude noté» Date : lundi 3 décembre 2012 Durée : 2H Coordonnateurs : Christian

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle. Université Montpellier-II UFR des Sciences - Département Informatique - Licence Informatique UE GLIN302 - Programmation Applicative et Récursive Cours No 3 : Identificateurs, Fonctions, Premières Structures

Plus en détail

1. Le modèle de Use Cases Exercice: Réservation de vacances en ligne

1. Le modèle de Use Cases Exercice: Réservation de vacances en ligne Cas d'utilisation . Le modèle de Use Cases Exercice: Réservation de vacances en ligne Bankcard (paiement par carte de débit) Exercice Réservation sport d hiver en ligne (Futur système) Banksys (paiement

Plus en détail

Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21

Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21 Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21 Anne Brygoo, Maryse Pelletier, Christian Queinnec, Michèle Soria Université Paris 6 Pierre et Marie Curie septembre 2005

Plus en détail

Introduction à OCAML

Introduction à OCAML Introduction à OCAML Plan L interpréteur intéractif Ocaml Les types de base, et leurs opérations : int, float, char, string, bool Les n-uplets Conditionnelles : if... then... else et match... with... Déclarations

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

Université de Sherbrooke, Département d informatique

Université de Sherbrooke, Département d informatique Université de Sherbrooke, Département d informatique IGL501 : Méthodes formelles en génie logiciel, Examen périodique Professeur : Marc Frappier, mardi 7 octobre 2013, 15h30 à 18h20, local D4-2022 Documentation

Plus en détail

Introduction à ADO.NET

Introduction à ADO.NET 1 Introduction à ADO.NET Introduction à ADO.NET Sommaire Introduction à ADO.NET... 1 1 Introduction... 2 1.1 Qu est ce que l ADO.NET?... 2 1.2 Les nouveautés d ADO.NET... 2 1.3 Les avantages d ADO.NET...

Plus en détail

UML : DIAGRAMME D ETATS-TRANSITIONS

UML : DIAGRAMME D ETATS-TRANSITIONS DEFINITION: Décrit le comportement des objets d une classe au moyen d un automate d états associés à la classe Le comportement est modélisé par un graphe : Nœuds = états possibles des objets Arcs = transitions

Plus en détail

Le langage PHP. Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/

Le langage PHP. Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ Le langage PHP Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ 1 / 38 Plan 1 Introduction au langage PHP 2 2 / 38 Qu est ce que PHP? langage interprété

Plus en détail

Introduction. Chapitre 1. 1.1 Introduction. 1.1.1 Bibliothèques. 1.1.2 Programmation de Haute Qualité

Introduction. Chapitre 1. 1.1 Introduction. 1.1.1 Bibliothèques. 1.1.2 Programmation de Haute Qualité Chapitre 1 Introduction Buts du chapitre : Motivation pour l étude des types abstraits de données ; Syntaxe de base pour l écriture de spécifications. 1.1 Introduction 1.1.1 Bibliothèques 1. L3, déjà une

Plus en détail

Cours 3. La conditionnelle: instructions si et selon Les boucles Comment raisonner sur les boucles: les invariants de boucle

Cours 3. La conditionnelle: instructions si et selon Les boucles Comment raisonner sur les boucles: les invariants de boucle Cours 3 : Instructions qui changent l ordre d exécution séquentiel 1 Cours 3 Instructions qui changent l ordre d exécution séquentiel La conditionnelle: instructions si et selon Les boucles Comment raisonner

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

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

en Visual Basic Premiers pas

en Visual Basic Premiers pas V0 (16-10-2009) Licence Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr Première année DEUST 2008-09 Ce cours est porte sur la programmation en s appuyant sur le langage

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Projet EvaluationsEleves/Professeurs

Projet EvaluationsEleves/Professeurs Projet EvaluationsEleves/Professeurs Ce projet Java comporte les objectifs suivants: 1) Diagramme de classes 2) Développer de l'application en mode console avec un jeu de tests fourni 3) Lecture des notes/eleves/professeurs

Plus en détail

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21 INSA - ASI TechnoWeb : Rappels UML 1/21 Technologie Web Conception de sites Web Alexandre Pauchet INSA Rouen - Département ASI BO.B.RC.18, pauchet@insa-rouen.fr INSA - ASI TechnoWeb : Rappels UML 2/21

Plus en détail

ACCESS 2013. Système de Gestion de Bases de Données Relationnelles

ACCESS 2013. Système de Gestion de Bases de Données Relationnelles Access est un logiciel permettant de gérer des données en masse : une liste de clients ou de fournisseurs, un stock de produits, des commandes, des salariés, un club de tennis, une cave à vin, une bibliothèque,

Plus en détail

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant

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

Théorie des langages. compilation. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 59

Théorie des langages. compilation. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 59 et compilation Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 59 et compilation et compilation Structure d un compilateur Analyse lexicale Analyse syntaxique Analyse

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Norme de programmation pour le cours et les travaux pratiques

Norme de programmation pour le cours et les travaux pratiques Université du Québec École de technologie supérieure Service des enseignements généraux www.seg.etsmtl.ca INF130 Ordinateurs et programmation Norme de programmation pour le cours et les travaux pratiques

Plus en détail

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet Programmation VBA Pierre BONNET 21 La programmation VBA Historiquement, la programmation sous Excel avait comme fonction d'automatiser une succession d'actions faites dans la feuille à l'aide de la souris.

Plus en détail

Modélisation des données

Modélisation des données Modélisation des données Le modèle Entité/Association Le MCD ou modèle Entité/Association est un modèle chargé de représenter sous forme graphique les informations manipulées par le système (l entreprise)

Plus en détail

Algorithmique. Évaluation d expressions. Luc Brun. luc.brun@greyc.ensicaen.fr. Évaluation d expressions p.1/38

Algorithmique. Évaluation d expressions. Luc Brun. luc.brun@greyc.ensicaen.fr. Évaluation d expressions p.1/38 Algorithmique Évaluation d expressions Luc Brun luc.brun@greyc.ensicaen.fr Évaluation d expressions p.1/38 Plan Les différents types d expressions Expression complètement parenthésée (ECP), Expression

Plus en détail

LES ALGORITHMES ARITHMETIQUES

LES ALGORITHMES ARITHMETIQUES LES ALGORITHMES ARITHMETIQUES I- Introduction Dans ce chapitre nous allons étudier quelques algorithmes relatifs à l arithmétique qui est une branche des mathématiques qui étudie les relations entre les

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Héritage en java : Calculatrice SDC

Héritage en java : Calculatrice SDC Programmation orientée objet L3 MIAGE Héritage en java : Calculatrice SDC Travail à rendre : le code complet du projet SDC sous forme d une archive tar.gz. L archive comportera trois répertoires : un répertoire

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Systèmes répartis : les Remote Procedure Calls p.1/25

Systèmes répartis : les Remote Procedure Calls p.1/25 Systèmes répartis : les Remote Procedure Calls Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis : les Remote Procedure Calls p.1/25 Les Remote Procedure Calls

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Table des matières Sources

Table des matières Sources Table des matières Modélisation objet avec UML... 2 Introduction... 2 Modèle de système informatique :... 2 Pourquoi UML pour la modélisation Objet?... 3 Représentation dynamique du système... 5 Le diagramme

Plus en détail

Cours Composant 2. Qualité logicielle et spécications algébriques

Cours Composant 2. Qualité logicielle et spécications algébriques UPMC Paris Universitas Master Informatique STL Cours Composant 2. Qualité logicielle et spécications algébriques c 2005-2008 Frédéric Peschanski UPMC Paris Universitas 24 février 2008 c 2005-2008 Frédéric

Plus en détail

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre

Plus en détail

Introduction à Visual Basic

Introduction à Visual Basic La fenêtre (form) principale: Zone de titre Points d attraction pour le dessin des contrôles Menu Système Fenêtre s affichant lors de l exécution du programme 15 Raccourci F4 Propriétés de la fenêtre principale

Plus en détail

Travail de Bachelor. MVC-CD Ingénierie inverse. Partie théorique

Travail de Bachelor. MVC-CD Ingénierie inverse. Partie théorique Travail de Bachelor MVC-CD Ingénierie inverse Partie théorique Travail de Bachelor d informaticien de gestion Classe 3IGPT Remise du document Juillet 2015 Table des matières 1 Transformation MLD/MPD MCD...

Plus en détail

Bases de Données Avancées

Bases de Données Avancées Bases de Données Avancées Enseignant / chargé de TD : Dario COLAZZO www.lri.fr/~colazzo Chargée de TP : Jesús CAMACHO-RODRIGUEZ www.lri.fr/~camacho Plan Tuning d index Concurrence Reprise sur panne Données

Plus en détail

Visual Basic pour Applications

Visual Basic pour Applications Visual Basic pour Applications Les concepts de base de la programmation, 2ème partie Romain Tavenard Kévin Huguenin Christophe Avenel Romain.Tavenard@irisa.fr Kevin.Huguenin@gmail.com Christophe.Avenel@irisa.fr

Plus en détail

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail