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

Conception par contrats avec UML

Conception par contrats avec UML Conception par contrats avec UML OCL Object Constraint Language Gerson Sunyé gerson.sunye@univ-nantes.fr LINA Introduction à OCL p.1 Plan Introduction Invariants, pré et post-conditions Spécification de

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

Conception par contrats avec UML

Conception par contrats avec UML OCL Object Constraint Language Gerson Sunyé gerson.sunye@univ-nantes.fr Master Alma Université de Nantes 6 avril 2009 G. Sunyé Master Alma U. Nantes 1/ 88 G. Sunyé Master Alma U. Nantes 2/ 88 Conception

Plus en détail

Cedric Dumoulin. Compilation de présentations de : Jean Bezivin Jeannine Leguy Laurent Henocque Mireille Blay-Fornarino Jean-Marc Jézéquel

Cedric Dumoulin. Compilation de présentations de : Jean Bezivin Jeannine Leguy Laurent Henocque Mireille Blay-Fornarino Jean-Marc Jézéquel Cedric Dumoulin Compilation de présentations de : Jean Bezivin Jeannine Leguy Laurent Henocque Mireille Blay-Fornarino Jean-Marc Jézéquel Plan Pourquoi OCL Base d OCL Collections Exemples Pourquoi OCL

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

II.3. Diagrammes de classes

II.3. Diagrammes de classes II.3. s de classes II.3. s de classes 1. Introduction Introduction Les diagrammes d'uml de structure comportemental de classes de package d objets d activités de cas d utilisation de composant de déploiement

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

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

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

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

Eléments de cours de BD du CNAM (2005/2006)

Eléments de cours de BD du CNAM (2005/2006) 1 Eléments de cours de BD du CNAM (2005/2006) 1 Diagramme de classes / diagramme d objets (UML) 4 1.1 Premier niveau de modélisation des données d une application 4 1.2 Les éléments de modélisation 4 1.2.1

Plus en détail

Java. Java Modeling Language (JML) Qu est-ce que JML? Java (suite) Conception par Contrat. Invariants, Pré-/Postconditions

Java. Java Modeling Language (JML) Qu est-ce que JML? Java (suite) Conception par Contrat. Invariants, Pré-/Postconditions Java Java Modeling Language (JML) Arnaud LANOIX Université Nancy 2 Master1 GL Langage de Programmation Orientée Objet développé par Sun Projet OAK (1991), Java (1995),...Java 1.5 (2004) http://java.sun.com/

Plus en détail

1. Objectifs de la Modélisation. Dériver le schéma de la BD. Élaborer un modèle conceptuel. Modélisation E/R des Données

1. Objectifs de la Modélisation. Dériver le schéma de la BD. Élaborer un modèle conceptuel. Modélisation E/R des Données . Objectifs et principes Modélisation E/R des Données 2. Le modèle Entité-Association (E/R) 3. Passage au relationnel 4. Conclusion. Objectifs de la Modélisation Permettre une meilleure compréhension Le

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

Diagrammes de classe UML

Diagrammes de classe UML labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de classe UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Introduction aux diagrammes de classe Description

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

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

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

Langage Élémentaire Algorithmique Spécifications du langage

Langage Élémentaire Algorithmique Spécifications du langage Langage Élémentaire Algorithmique Spécifications du langage Lionel Clément Version provisoire Novembre 2012 Le but de ce projet est de livrer un compilateur pour un langage élémentaire algorithmique (Léa).

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

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 1: Identificateurs, types de base et fonctions Année 2013-2014 Identificateurs La notion d identificateur Un concept fondamental dans les langages

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

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

Concepts des langages de. Introduction à Clojure

Concepts des langages de. Introduction à Clojure Concepts des langages de programmation Introduction à Clojure Plan C'est quoi clojure? Types et structures de données Fonctions et expressions dans Clojure Commentaires en Clojure Définition de variables

Plus en détail

Programmation objet en Java.

Programmation objet en Java. Programmation objet en Java. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/7/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/7/ Cours Exercices Slide 1 1. Classes,

Plus en détail

Java Modeling Language

Java Modeling Language Java Modeling Language Benoit Darties ESIREM ITR4 benoit.darties@u bourgogne.fr Bibliographie Documents références sur JML : http://www.eecs.ucf.edu/~leavens/jml/ http://kalysto.org/~nono/teaching/jml/

Plus en détail

Norme de documentation des programmes

Norme de documentation des programmes 1. Introduction Norme de documentation des programmes Auteur : Marc Frappier Collaborateurs Benoit Fraikin Gabriel Girard Jean Goulet Gérard Houdeville Luc Lavoie Version : 1.02 30 août 2004 Département

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

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

Une introduction aux méthodes formelles

Une introduction aux méthodes formelles Une introduction aux méthodes formelles Slide 1 Guy Tremblay Dépt. d informatique, UQAM Montréal, Qué. MGL7260 Exigences et spécifications de systèmes logiciels UQAM 20 mars 2002 Plan de la présentation

Plus en détail

Bases de données et sites WEB Cours 2 : SQL3 Modèle

Bases de données et sites WEB Cours 2 : SQL3 Modèle Bases de données et sites WEB Cours 2 : SQL3 Modèle 1 Plan Insuffisances du modèle relationnel Concepts objet Modèle Objet-relationnel et SQL3 2 Insuffisances du modèle relationnel Opérations séparées

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

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

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

CONCEPTION des SYSTÈMES d INFORMATION UML

CONCEPTION des SYSTÈMES d INFORMATION UML CONCEPTION des SYSTÈMES d INFORMATION UML 4 : Analyse organique Epitech 3 Automne 2007 Bertrand LIAUDET SOMMAIRE ANALYSE ORGANIQUE 2 Diagrammes de séquence 3 Exemple de diagramme de séquence 8 Diagramme

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

Compilation. Vb. Analyse sémantique statique Analyse de nom et analyse de type

Compilation. Vb. Analyse sémantique statique Analyse de nom et analyse de type Université de Nice - Sophia Antipolis Licence 3 Informatique 2012-2013 1/32 Compilation Vb. Analyse sémantique statique Analyse de nom et analyse de type Jacques Farré Jacques.Farre@unice.fr Université

Plus en détail

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION EILCO ING 1 - POO Java Contrôle 2014/2015 Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION Dans ces exercices, nous allons définir une classe Personne qui permettra de gérer

Plus en détail

TP Compilation Analyse lexicale

TP Compilation Analyse lexicale TP Compilation Analyse lexicale Eric Ramat ramat@lisic.univ-littoral.fr 9 mai 2014 Durée : 6 heures 1 Introduction Le but de cet TP est de vous donner les bases nécessaires afin de pouvoir écrire votre

Plus en détail

Conception de Logiciel

Conception de Logiciel Conception de Logiciel avec les Design Patterns et UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I Campus de Beaulieu F-35042 Rennes Cedex Tel : +33 299 847 192 Fax : +33

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

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

Mise à niveau en Java

Mise à niveau en Java Mise à niveau en Java Cours 1 Stéphane Airiau Université Paris-Dauphine Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 1 Aujourd hui Eléments de base Variables, opérateurs, type d une expression

Plus en détail

5SINF200 : Développement de programmes (A. Slissenko) Examen

5SINF200 : Développement de programmes (A. Slissenko) Examen Licence Info Corrigé 5SINF200 : Développement de programmes (A. Slissenko) Examen Le 21 décembre 2006, 13h30 15h30 Utilisation des notes, des livres, des docs, etc. autorisée. Ce corrigé contient des réponses

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

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html. R.R. Université Lyon 2

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html. R.R. Université Lyon 2 Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html 1 AVERTISSEMENT Python intègre des particularités pour ne pas dire bizarreries que l on ne retrouve pas dans les

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

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

INFO-F-302 Informatique Fondamentale Projet : Logique du Premier Ordre et Utilisation de l Outil Z3

INFO-F-302 Informatique Fondamentale Projet : Logique du Premier Ordre et Utilisation de l Outil Z3 UNIVERSITÉ LIBRE DE BRUXELLES (corrected version 20120416) INFO-F-302 Informatique Fondamentale Projet : Logique du Premier Ordre et Utilisation de l Outil Z3 L objectif de ce projet est de modéliser des

Plus en détail

B. Defude - INT Evry - 2003 1

B. Defude - INT Evry - 2003 1 Modèle simple, puissant avec des fondements théoriques bien connus Modèle figé Importance du schéma de BD Utilisé pour le stockage efficace, la définition et l optimisation de langage de requêtes, la cohérence,

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

Stéphane GOBRON HES SO HE Arc ISIC

Stéphane GOBRON HES SO HE Arc ISIC Stéphane GOBRON HES SO HE Arc ISIC 2015 Où en sommes nous? Plan de cours Ch.1 : OO Rappels Ch.2 : Etude de cas => le bridge DP Ch.3 : Conceptualisation, Singleton et Composite DPs Ch.4 : Decorator, State,

Plus en détail

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2 Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html 1 Mode de fonctionnement sous R TRAVAILLER SOUS R 2 R est un interpréteur, il permet de programmer avec le langage S

Plus en détail

L outil Cup. Licence info et GMI documentation COMPIL 2007-2008. Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl.

L outil Cup. Licence info et GMI documentation COMPIL 2007-2008. Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl. UFR IEEA Licence info et GMI documentation COMPIL 2007-2008 FIL Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl.fr 1 raccourci pour Java-Based Constructor of Useful Parsers est un

Plus en détail

Notion de portée locale (1)

Notion de portée locale (1) Notion de portée locale (1) Les notions de portée locale v.s. globale définies pour les blocs sont également valides dans le cadre des fonctions 1. Comme dans le cas des blocs, la portée permet de résoudre

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

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

λ-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

PL/SQL. Pourquoi PL/SQL? Introduction. Principales caractéristiques de PL/SQL. Utilisation de PL/SQL

PL/SQL. Pourquoi PL/SQL? Introduction. Principales caractéristiques de PL/SQL. Utilisation de PL/SQL PL/SQL Avertissement : cette partie du cours n est qu un survol du langage PL/SQL, utile pour écrire des procédures stockées simples Elle laisse de côté de nombreuses fonctionnalités du langage Université

Plus en détail

Génie logiciel avancé

Génie logiciel avancé Université Paris-Sud L3 MIAGE apprentissage Année 2014-2015 Génie logiciel avancé Conception Delphine Longuet delphine.longuet@lri.fr Documentation du processus de GL Cahier des charges Analyse des besoins

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

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

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

Éléments d UML pour le projet (Unified Modeling Language)

Éléments d UML pour le projet (Unified Modeling Language) Éléments d UML pour le projet (Unified Modeling Language) C Crochepeyre UML 1 PLAN 1. Introduction 2. Préliminaires 3. Les règles UML 4. Les diagrammes UML 5. Outils de modélisation UML 6. L étude préalable

Plus en détail

xkcd Le langage Python La GUI tkinter Christian Nguyen Département d informatique Université de Toulon et du Var 2012-2013

xkcd Le langage Python La GUI tkinter Christian Nguyen Département d informatique Université de Toulon et du Var 2012-2013 La GUI tkinter Département d informatique Université de Toulon et du Var 2012-2013 Présentation Python est né en 1990, son concepteur est De Guido Van Rossum(Pays Bas). Il présente les caractéristiques

Plus en détail

Chap. 2: Architecture de logiciel

Chap. 2: Architecture de logiciel Chap. 2: Architecture de logiciel Architecture de logiciel: Décomposition d un système logiciel en plusieurs modules qui sont simples vus de l extérieur et qui cachent la complexité à l intérieur. Le découpage

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

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

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

Cours VHDL - IV. L3-S6 - Université de Cergy-Pontoise. Laurent Rodriguez Benoît Miramond

Cours VHDL - IV. L3-S6 - Université de Cergy-Pontoise. Laurent Rodriguez Benoît Miramond Cours VHDL - IV L3-S6 - Université de Cergy-Pontoise Laurent Rodriguez Benoît Miramond Plan du cours I Historique de conception des circuits intégrés - HDL - Modèles de conceptions - VHDL - Les modèles

Plus en détail

Programmation Orientée Objet. Ecrire beaucoup de lignes de code, même très propres, ne suffit pas

Programmation Orientée Objet. Ecrire beaucoup de lignes de code, même très propres, ne suffit pas 2 Modélisation Construire un bon logiciel : Répondre aux objectifs fixés (satisfaire le client) Avoir une base architecturale solide qui permette l évolution Mettre en place un processus de développement

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

Conception et Programmation par Objets GLIN404. Langages et paradigmes de programmation

Conception et Programmation par Objets GLIN404. Langages et paradigmes de programmation Conception et Programmation par Objets GLIN404 Marianne Huchard, Clémentine Nebut LIRMM / Université de Montpellier 2 2013 Langages et paradigmes de programmation Le raisonnement classicatoire paradigme

Plus en détail

Les bases du langage Python

Les bases du langage Python Décembre 2006 Plan Les bases de Python 1 Les bases de Python Introduction La syntaxe de Python Les types de Python 2 Les fonctions Les classes Les exceptions 3 4 5 Pilot Systems Les bases de Python Introduction

Plus en détail

Correction de programmes : Logique de Hoare

Correction de programmes : Logique de Hoare 16 juillet 2009 Logique et informatique Vis-à-vis de l informatique la logique a au moins 2 rôles : 1 Externe et théorique (fondements de l informatique - Électif en S4) : Logique comme méta-informatique

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

AUTOMATISER SES TÂCHES AVEC LES MACROS

AUTOMATISER SES TÂCHES AVEC LES MACROS AUTOMATISER SES TÂCHES AVEC LES MACROS U ne macro est un ensemble de commandes qui s exécute autant de fois que nécessaire simplement en les appelant par son nom. Les macros permettent d automatiser les

Plus en détail

GPA 789 : Analyse et Conception Orientées Objet. ETS Mickaël Gardoni Bureau A 3588 tel 84 11. Mise en Œuvre UML version du 24 avril 2009

GPA 789 : Analyse et Conception Orientées Objet. ETS Mickaël Gardoni Bureau A 3588 tel 84 11. Mise en Œuvre UML version du 24 avril 2009 GPA 789 : Analyse et Conception Orientées Objet ETS Mickaël Gardoni Bureau A 3588 tel 84 11 Mise en œuvre UML 1/ 25 Introduction Mise en œuvre d UML UML n est pas une méthode 2/ 25 1 UML n est qu un langage

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

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

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

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

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

B) Outils d'analyse et composants du langage. deux points de vues complémentaires : outils d'analyse ; composants du langage

B) Outils d'analyse et composants du langage. deux points de vues complémentaires : outils d'analyse ; composants du langage 1 deux points de vues complémentaires : outils d'analyse ; composants du langage B.I) Briques de base ; les expressions bien typées B.II) Simplification de l'analyse ; nommer une expression B.III) Analyse

Plus en détail

BE noté 2006 2007. Chantal Taconet et Christian Bac IO21

BE noté 2006 2007. Chantal Taconet et Christian Bac IO21 Chantal Taconet et Christian Bac IO2 Télécom INT 20 Novembre 2006 Corrigé Barème Groupe des Écoles des Télécommunications Télécom INT École d ingénieurs 2 ème année Contrôle de connaissances : Bureau d

Plus en détail

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML PHP virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/ BUR Internet et HTML PHP, qu'est-ce que c'est? Un langage pour la programmation du serveur Permet d'inclure des parties programmées

Plus en détail

Programmation fonctionnelle

Programmation fonctionnelle Programmation fonctionnelle Cours + exos corrigés Éric Violard Maître de conférences HDR à l université de Strasbourg Au terme de ce projet, je souhaite dédier ce livre à ma fille Julie et à son bonheur

Plus en détail

Les principes de l Algorithmique et Programmation

Les principes de l Algorithmique et Programmation Les principes de l Algorithmique et Programmation 1 Introduction Informatique : traitement automatisé de l information. Algorithme : ensemble de règles opératoires dont l application permet de résoudre

Plus en détail

Cours 1 : Introduction Générale + Objet I

Cours 1 : Introduction Générale + Objet I Organisation du cours Équipe pédagogique DUT Informatique S3 - Programmation Java Jean-Claude MARTIN MARTIN@LIMSI.FR Cours 1 : Introduction Générale + Objet I Jean-Claude MARTIN (Responsable, Cours, TD

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

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

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

Programmation Object & Genie Logiciel

Programmation Object & Genie Logiciel Licence Mention Informatique L2/S4 2011 Programmation Object & Genie Logiciel Frederic Voisin - Burkhart Wolff Département Informatique Mise en œuvre associée C1-28.1, 11:15-13:00, [336-109]: Compléments

Plus en détail

PG208, Projet n 1 : Gestion d une bibliothèque

PG208, Projet n 1 : Gestion d une bibliothèque PG208, Projet n 1 : Gestion d une bibliothèque Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L

Plus en détail

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année UFR Sciences et Techniques Licence S&T 1ère année Informatique UE 102 Architecture des ordinateurs et Algorithmique de base Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ UFR Sciences et Techniques

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

2 ème PARTIE : LE LANGAGE SQL

2 ème PARTIE : LE LANGAGE SQL 2 ème PARTIE : LE LANGAGE SQL PLAN : I. Le langage de manipulation des données II. Le langage de définition des données III. Administration de la base de données IV. Divers (HORS PROGRAMME) Introduction:

Plus en détail