MI3/GL Cours de Génie Logiciel Programmation Orientée Objet (Avancée)
|
|
- Liliane Brousseau
- il y a 8 ans
- Total affichages :
Transcription
1 MI3/GL Cours de Génie Logiciel Programmation Orientée Objet (Avancée) Daniel Le Berre dans une classe CRIL-CNRS FRE 2499, Université d Artois, Lens, FRANCE {leberre@cril.univ-artois.fr 2 décembre 2004 MI3GL 2004/ MI3GL 2004/ : définition dans une classe 1 DOD = Department of Defense cathedrale-bazar_monoblock.html magic-cauldron-fr_monoblock.html MI3GL 2004/ Changer la structure du code sans changer son comportement Utilisation de tests unitaires pour le vérifier Utilisation de mauvaises odeurs dans le code pour détecter les parties à changer Popularisé par Martin Fowler [4] Beaucoup d outils de développement (dont Eclipse) facilitent le refactoring. Plus d infos sur MI3GL 2004/ Extract Method 1/2 Extract Method 2/2 Un ensemble d instructions peuvent être groupées. Remplacer ces instructions par une méthode dont le nom explique son rôle. void printowing () { printbanner (); //print details System. out. println ( name: + name ); System. out. println ( amount + getoutstanding ()); void printowing () { printbanner (); printdetails (getoutstanding ()); void printdetails (double outstanding ) { System. out. println ( name: + name ); System. out. println ( amount + outstanding ); MI3GL 2004/ MI3GL 2004/ Rename Method Rename Method Le nom d une méthode ne révèle pas son rôle. Le nom d une méthode ne révèle pas son rôle. Changer le nom de la méthode. Changer le nom de la méthode. MI3GL 2004/ MI3GL 2004/2005 8
2 Introduce Assertion 1/2 Introduce Assertion 2/2 Unepartieducodefaitdessuppositionsàproposdel état du programme. Rendre ces suppositions explicites en utilisant une assertion. double getexpenselimit () { // should have either expense limit or // a primary project return ( expenselimit!= NULL EXPENSE )? expenselimit : primaryproject. getmemberexpenselimit (); double getexpenselimit () { assert ( expenselimit!= NULL EXPENSE primaryproject!= null ); return ( expenselimit!= NULL EXPENSE )? expenselimit : primaryproject. getmemberexpenselimit (); MI3GL 2004/ MI3GL 2004/ Replace Temp with query 1/2 Replace Temp with query 2/2 Le code utilise une variable temporaire pour connaître le résultat d une expression. Remplacer l expression par une méthode. Remplacer toutes les références à la variable temporaire par la méthode. La nouvelle méthode peut être utilisée dans d autres méthodes. double baseprice = quantity itemprice ; if ( baseprice > 1000) return baseprice 0.95; else return baseprice 0.98; if ( baseprice() > 1000) return baseprice () 0.95; else return baseprice () 0.98;... double baseprice () { return quantity itemprice ; MI3GL 2004/ MI3GL 2004/ Introduce Parameter Object Introduce Parameter Object Un groupe de paramètres vont naturellement ensemble. Un groupe de paramètres vont naturellement ensemble. Les remplacer par un objet. Les remplacer par un objet. MI3GL 2004/ MI3GL 2004/ Preserve whole Object Plusieurs valeurs sont demandées àunobjetetpassées comme paramètres d une méthode. Passer directement l objet en paramètre. int low = daystemprange().getlow(); int high = daystemprange().gethigh(); withinplan = plan. withinrange(low, high ); withinplan = plan.withinrange(daystemprange()); Replace Method with Method Object 1/2 Il existe une longue méthode qui utilise des variables locales telles que l utilisation de Extract Method est impossible. Déplacer la méthode dans son propre objet de telle sorte que les variables locales deviennent ses attributs. Il est alors possible de décomposer la méthode en plusieurs méthodes sur le même objet. class Order... double price () { double primarybaseprice ; double secondarybaseprice ; double tertiarybaseprice ; // long computation ;... MI3GL 2004/ MI3GL 2004/
3 Replace Method with Method Object 2/2 Replace Parameter with Method Un objet appelle une méthode, et passe le résultat en paramètre d une autre méthode. L autre méthode peut aussi appeler cette méthode. Enlever le paramètre et laisser le seconde méthode appeler la première. int baseprice = quantity itemprice ; discountlevel = getdiscountlevel (); double finalprice = discountedprice ( baseprice, discountlevel ); int baseprice = quantity itemprice ; double finalprice = discountedprice ( baseprice ); MI3GL 2004/ MI3GL 2004/ Pull Up Field Pull Up Field Deux sous classes ont le même attribut. Deux sous classes ont le même attribut. Déplacer l attribut dans la superclasse. Déplacer l attribut dans la superclasse. MI3GL 2004/ MI3GL 2004/ Form template method 1/3 Form template method 2/3 Il existe deux méthodes dans des sous classes qui effectuent des tâches similaires dans le même ordre, mais ces tâches sont différentes. Remplacer ces tâches par des méthodes ayant la même signature, telles que les méthodes originales deviennent identiques. Ensuite, vous pouvez les faire remonter. MI3GL 2004/ MI3GL 2004/ Form template method 3/3 MI3GL 2004/ Substitute Algorithm 1/2 Vous voulez remplacer un algorithme par un autre. Remplacez le corps de la méthode par le nouvel algorithme. String foundperson( String [] people){ for ( int i = 0; i < people. length ; i++) { if ( people [ i ]. equals ( Don )){ return Don ; if ( people [ i ]. equals ( John )){ return John ; if ( people [ i ]. equals ( Kent )){ return Kent ; return ; MI3GL 2004/
4 Substitute Algorithm 2/2 Extract class String foundperson( String [] people){ List candidates = Arrays. aslist ( new String [] { Don, John, Kent ); for ( int i=0; i<people. length ; i++) if ( candidates. contains(people [ i ])) return people [ i ]; return ; Uneclassefaitletravailquidevraitêtre fait par deux. Declarer une nouvelle classe et déplacer les membres appropriés vers la nouvelle classe. MI3GL 2004/ MI3GL 2004/ Extract class Extract subclass Uneclassefaitletravailquidevraitêtre fait par deux. Declarer une nouvelle classe et déplacer les membres appropriés vers la nouvelle classe. Une classe a des services utilisés uniquement par certaines instances. Créer une sous classe pour ces services. MI3GL 2004/ MI3GL 2004/ Extract subclass Une classe a des services utilisés uniquement par certaines instances. Créer une sous classe pour ces services. Collapse Hierarchy Une classe et une sous classe ne sont pas très différentes. Les fusionner MI3GL 2004/ MI3GL 2004/ Collapse Hierarchy Une classe et une sous classe ne sont pas très différentes. Inline class Les fusionner Uneclassenefaitpasgrandchose. Déplacer toutes ses responsabilités dans une autre classe et l enlever. MI3GL 2004/ MI3GL 2004/
5 Inline class Remove parameter Uneclassenefaitpasgrandchose. Déplacer toutes ses responsabilités dans une autre classe et l enlever. Un paramètre n est plus utilisé dans une méthode. Enlever ce paramètre. MI3GL 2004/ MI3GL 2004/ Remove parameter Un paramètre n est plus utilisé dans une méthode. Enlever ce paramètre. MI3GL 2004/ Kent Beck. extreme Programming explained, Embrace Change. Addison Wesley, B. Boehm. Software Engineering Project Management, chapter A spiral model of software development and enhancement Bernd Bruegge and Allen H. Dutoit. Object Oriented Software Engineering: Conquering Complex and Changing Systems. Prentice Hall, ISBN: : Improving the Design of Existing Code. Object Technology Series. Addison Wesley, Indispensable! MI3GL 2004/ Patterns of Enterprise Application Architecture. The Addison-Wesley Signature Series. Addison Wesley, UML distilled: A brief Guide to the Standard Object Modelling Language. Object Technology series. Addison Wesley, 3rd edition, Indispensable! Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns, Elements of Reusable Object-Oriented Software. Addison Wesley, Aposséder absolument! Marie-Claude Gaudel, Bruno Marre, Françoise Schienger, and Gilles Bernot. MI3GL 2004/ Précis de Génie Logiciel. Enseignement de l Informatique. Masson, ISBN : Andrew Hunt and David Thomas. The Pragmatic Programmer. Addison Wesley, Un livre interessant (mais en anglais) pour tous les programmeurs. Robert C. Martin. Agile Software Development: Principles, Patterns and Practices. Prentice Hall, Utile. Robert C. Martin. UML for Java Programmers. Prentice Hall, MI3GL 2004/ Bertrand Meyer. Conception et programmation orientées objet. Eyrolles, Indispensable pour tout programmeur dans un langage objet, même si les exemples donnés sont plutôt en Eiffel. P. G. Neumann. Computer-Related Risks. Reading. Addison-Wesley, MA, W. W. Royse. Managing the development of large software systems. In IEEE Computer Society, editor, Tutorial: Software Engineering Project Management, pages , Washington, DC, Jack Shirazi. Java Performance Tuning, 2nd edition. O Reilly, MI3GL 2004/
Langage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailPatrons de Conception (Design Patterns)
Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques
Plus en détailACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Plus en détailMise en oeuvre de tests unitaires dans un contexte de programmation extrème répartie
Mise en oeuvre de tests unitaires dans un contexte de programmation extrème répartie Ibrahim Lokpo* - Michel Babri* - Gérard Padiou** * Institut National Polytechnique Félix Houphouet-Boigny Département
Plus en détailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailLe développement d'applications informatiques
Le développement d'applications informatiques Des bibliothèques de fonctions aux "design patterns" Copyright 2011-2015 Yves Marcoux 1 Sources bibliographiques Ramon, Jorge. "Preface". Ext JS 3.0 Cookbook:
Plus en détailAnalyse,, Conception Objet
Analyse,, Conception Objet Design Patterns Introduction Sommaire Conception Réutilisabilité Bibliothèque de classe vs. Framework Design Pattern Historique Catégories de Patterns Bibliographie O. Boissier,
Plus en détailGestion de projet Agile. STS IRIS Module 4.2 - «Gérer et organiser un projet informatique»
Gestion de projet Agile Module 4.2 - «Gérer et organiser un projet informatique» Sommaire Introduction Principes et méthodes Agiles Scrum 2 Introduction Gestion de projet : démarche structurante assurant
Plus en détailGénie logiciel (Un aperçu)
(Un aperçu) (sommerville 2010) Laurent Pérochon INRA URH 63122 St Genès Champanelle Laurent.perochon@clermont.inra.fr Ensemble d activités conduisant à la production d un logiciel Sur un échantillon de
Plus en détailNe renvoyez pas vos architectes! Utilisez-les avec agilité
Ne renvoyez pas vos architectes! Utilisez-les avec agilité Intégration du travail architectural dans un cycle de développement Agile Jean-Louis Maréchaux jl.marechaux@ca.ibm.com Qui suis-je? Jean-Louis
Plus en détailEfficient Object Versioning for Object- Oriented Languages From Model to Language Integration
Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration Pluquet Frédéric July, 3rd 2012 Etude de techniques efficaces de versionnement d objets pour les langages orientés
Plus en détailBibliographie sommaire pour le programme de B. Sc. (informatique de gestion), concentration en génie logiciel
Bibliographie Bibliographie sommaire pour le programme de B. Sc. (informatique de gestion), concentration en génie logiciel Émetteur Dates Luc Lavoie dernière modification : 2008-04-10 dernière impression
Plus en détailAGILE Historique et évolution
AGILE Historique et évolution Itératif Incrémental Adaptatif 2 Méthode Agile Historique et évolution AGILE Historique et évolution Itératif et incrémental Les notions sous-jacentes aux principes incrémental
Plus en détailTP1 : 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étailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailBases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement
Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement distribué Éric Leclercq Département IEM / Laboratoire LE2i Septembre 2014
Plus en détailDesign patterns. Design patterns - définition. Design patterns - avantages
Design patterns Conception UML Implantation Java Anne Lapujade 1 Design patterns - définition 2 v Objectif : proposer des solutions standardisées à des problèmes de conception classiques v Design pattern
Plus en détailIntroduction au génie logiciel
Introduction au génie logiciel Guillaume Laurent ENSMM 2007 G. Laurent (ENSMM) Introduction au génie logiciel 2007 1 / 36 Plan du cours 1 Problématique du génie logiciel 2 Méthodes de développement logiciel
Plus en détailIntroduction à l extreme Programming et au développement agile
Introduction à l extreme Programming et au développement agile Gauthier Picard SMA/G2I/ENS Mines Saint-Etienne gauthierpicard@emsefr Octobre 2009 Adapté de XP ou les bienfaits d un développement «agile»
Plus en détailLes méthodes Agile. Implication du client Développement itératif et incrémental
Les méthodes Agile Simon ALEXANDRE - CETIC Plan Overview Agile ne signifie pas Agile signifie Objectifs poursuivis Pourquoi les méthodes Agile apparaissent-elles? Principales causes des échecs de projets
Plus en détailComposants génériques de calcul scientifique
Composants génériques de calcul scientifique T. Géraud et A. Duret-Lutz RAPPORT TECHNIQUE 9901 MARS 1999 Laboratoire de Recherche et Développement d EPITA 14-16, rue Voltaire 94276 Le Kremlin-Bicêtre cedex
Plus en détailLes méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com http://www.agilegardener.com/ 04/09/2008
Les méthodes Agiles Introduction Intervenant : Tremeur Balbous tremeur@agilegardener.com http://www.agilegardener.com/ 04/09/2008 Les méthodes Agiles Le contexte Le Manifeste Agile Une tentative de définition
Plus en détailCREATION WEB DYNAMIQUE
CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de
Plus en détailAgile Maroc 24 Novembre 2010. Méthodes agiles. Thierry Cros. http://etre-agile.com. Agile Maroc 24 novembre 2010
Agile Maroc 24 Novembre 2010 Méthodes agiles Thierry Cros 1 Thierry Cros 10 ans déjà... 2010 Création Extreme Programming France 2009 SigmaT Les Agilistes Toulousains 2010 Membre de «Fédération Agile»
Plus en détailPlan. Patrons de conception. Motivations. Design Pattern : principe. Philippe Collet
Plan Patrons de conception Philippe Collet Master 1 Informatique 2005-2006 http://deptinfo.unice.fr/twiki/bin/view/minfo/gloo Introduction Premier exemple Principes et classification Présentation des patrons
Plus en détailLe cadre des Web Services Partie 1 : Introduction
Sécurité en ingénierie du Logiciel Le cadre des Web Services Partie 1 : Introduction Alexandre Dulaunoy adulau@foo.be Sécurité en ingénierie du Logiciel p.1/21 Agenda (partie 1) 1/2 Introduction Services
Plus en détailAlignement avec les métiers par le test fonctionnel et d acceptation en projets agiles
Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles Laurent PY CEO, Smartesting Laurent.py@smartesting.com @py_laurent www.smartesting.com Guillaume Coquelle Testeur,
Plus en détailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailhttp://www-adele.imag.fr/users/didier.donsez/cours Didier Donsez
http://www-adele.imag.fr/users/didier.donsez/cours Annuaires (Directory) Didier Donsez Université Joseph Fourier - Grenoble 1 PolyTech Grenoble - LIG/ADELE Didier.Donsez@imag.fr Didier.Donsez@ieee.fr Sommaire
Plus en détailLes BRMS Business Rules Management System. Groupe GENITECH
Les BRMS Business Rules Management System 1 Présentations Emmanuel Bonnet ebonnet (at) genigraph.fr Responsable Dpt Conseil Consultant, Expert BRMS Formateur IBM/Ilog JRules / JBoss Rules Génigraph SSII
Plus en détailBases de données relationnelles : Introduction
Bases de données relationnelles : Introduction historique et principes V. Benzaken Département d informatique LRI UMR 8623 CNRS Université Paris Sud veronique.benzaken@u-psud.fr https://www.lri.fr/ benzaken/
Plus en détailArchitectures Ouvertes pour l Adaptation des Logiciels
Architectures Ouvertes pour l Adaptation des Logiciels Frédéric Duclos 1, Jacky Estublier 2, Rémy Sanlaville 1 Published in review Génie Logiciel And proceedings ICSSEA, Paris 2001 1 Dassault Systèmes
Plus en détailGénie Logiciel Avancé Cours 1 Introduction
Génie Logiciel Avancé Cours 1 Introduction Stefano Zacchiroli zack@pps.jussieu.fr Laboratoire PPS, Université Paris Diderot - Paris 7 3 Février 2011 URL http://upsilon.cc/zack/teaching/1011/gla/ Copyright
Plus en détail1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7
Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application
Plus en détailMaster MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier
Master MIDO 2ème année Spécification et Conception en UML Maude Manouvrier Spécifications initiales Analyse Conception du système Conception des classes Bibliographie Modélisation et conception orientées
Plus en détailCours Base de données relationnelles. M. Boughanem, IUP STRI
Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),
Plus en détailAnalyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.
Analyse et conception objet du logiciel : Méthode de conception objet et notation UML Rémy Courdier Email : Remy.Courdier@univ-reunion.fr Rémy Courdier V2.1 1 Plan du cours Introduction au Génie Logiciel
Plus en détailAlgorithmes : conception et réalisation MQT 63834
Algorithmes : conception et réalisation MQT 63834 Professeur Antoine Gautier, Ph. D. Département Opérations et systèmes de décision Faculté des sciences de l administration, Université Laval Session d
Plus en détailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailIT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr
IT203 : Systèmes de gestion de bases de données A. Zemmari zemmari@labri.fr 1 Informations pratiques Intervenants : Cours : (A. Zemmari zemmari@labri.fr) TDs, TPs : S. Lombardy et A. Zemmari Organisation
Plus en détailCorrigés des premiers exercices sur les classes
Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.
Plus en détailLOG4430 : Architecture logicielle et conception avancée
LOG4430 : Architecture logicielle et conception avancée Yann-Gaël Guéhéneuc Cours 3 Bibliothèques et chargement Dynamique de composants Département de génie informatique et de génie logiciel École Polytechnique
Plus en détailCours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr
Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine
Plus en détailUML : Unified Modeling Language
UML : Unified Modeling Language Recommended: UML distilled A brief guide to the standard Object Modeling Language Addison Wesley based on Frank Maurer lecture, Univ. of Calgary in french : uml.free.fr/index.html
Plus en détailJADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.
: Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailUtilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008
Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailTD3: 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étailDéveloppement ebusiness
Développement ebusiness Cédric Pulrulczyk ( cedric.pulrulczyk@alcatel.fr ) Alcatel Université Lille I March 2005 Plan Analyse des besoins Méthodologie XP Modélisation UML Outil de développement Tests et
Plus en détailÉtude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java
Université Catholique de Louvain Faculté des Sciences Appliquées Département d Ingénierie Informatique Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java
Plus en détail2. Comprendre les définitions de classes
Conception objet en Java avec BlueJ une approche interactive 2. Comprendre les définitions de classes Analyser le contenu des classes David J. Barnes, Michael Kölling version française: Patrice Moreaux
Plus en détailAgile et CMMi. L agilité et la norme. Jean-Pierre Vickoff
Agile et CMMi L agilité et la norme 2 Méthode Agile CMMI Le courant de pensée CMM Il n est pas dans mon intention de détailler ici la «galaxie» CMMi (Figure 1) d autant qu il suffit de chercher sur le
Plus en détailChapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détailSéance 1 Méthodologies du génie logiciel
Séance 1 Méthodologies du génie logiciel Objectifs : Histoire du développement du logiciel. La crise du logiciel. Explorer les différentes méthodologies de développement. Comprendre l importance d adopter
Plus en détailChapitre 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étailUtilisation 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étailPar Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003.
JAVA et Design Pattern Page 1/26 JAVA et Design Pattern Etude des Pattern Design Modélisation UML, Etude et critique des implémentations Java Par Laurent DESECHALLIERS Mastère Spécialisé en Management
Plus en détailénie avec Scrum, Lean, extreme Programming
énie ogiciel Véronique Messager Préface de Jean Tabaka Gestion de projet agile avec Scrum, Lean, extreme Programming Groupe Eyrolles, 2007, 2009, 2010, ISBN : 978-2-212-12750-8 Groupe Eyrolles, 2013, pour
Plus en détailINF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30
Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité
Plus en détailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détailIntroduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Plus en détailPlan. Tests. 1. Introduction. 1. Introduction
Plan Tests Lionel Seinturier Université des Sciences et Technologies de Lille Lionel.Seinturier@lifl.fr 28/11/06 Tests 1 Lionel Seinturier Tests 2 Lionel Seinturier Objectifs du test de programmes Détecter
Plus en détailGénie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique
Génie logiciel avec UML Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique Claude Boutet Session hiver 2008 Modélisation de systèmes Table des matières TABLE DES
Plus en détailBesoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.
chapitre1 Besoins utilisateurs Quelle démarche pour passer des besoins au code?? UNIFIED MODELING LANGUAGE package LogiqueMetier.Gestion; import LogiqueMetier.Catalogue.Livre; import java.util.*;public
Plus en détailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détailVérifier la qualité de vos applications logicielle de manière continue
IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions
Plus en détailLangage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Plus en détailIntroduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.
vers plus d agilité F. Miller francois.miller@inpg.fr FC INPG Octobre 2008 - version 1.0 Introduction Contexte Le monde bouge économie des moyens (humains, financier,...) ; recherche de plus d efficacité
Plus en détailLes Bases de Données et l Objet Introduction
Les Bases de Données et l Objet Introduction Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr Plan Définitions d un Objet Propriétés
Plus en détailRAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)
CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes
Plus en détailIngénierie et gestion des connaissances
Master Web Intelligence ICM Option Informatique Ingénierie et gestion des connaissances Philippe BEAUNE Philippe.Beaune@emse.fr 18 novembre 2008 Passer en revue quelques idées fondatrices de l ingénierie
Plus en détailGénérer du code à partir d une description de haut niveau
Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,
Plus en détailDES SYSTÈMES D INFORMATION
URBANISATION & CONCEPTION DES SYSTÈMES D INFORMATION Le concept d urbanisation repose sur une analogie connue entre le Système d Information (SI) et la ville, dans lesquels interviennent tour à tour urbanistes
Plus en détailProgrammation Objet Java Correction
INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le
Plus en détailPrésentation des experts
A Présentation des experts Christophe Addinquy Impliqué depuis 15 ans dans le développement orienté objet, Christophe Addinquy a notamment participé à l émergence d UML au sein de la société Softeam. Consultant
Plus en détailVérifica(on et Valida(on de Business Process. Ang Chen et Levi Lúcio
Vérifica(on et Valida(on de Business Process Ang Chen et Levi Lúcio Résumé Méthodologie de développement Architecture & environnement pour le développement des processus mé(er Modèle opéra(onnel Vérifica(on
Plus en détailRègles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche
Règles d engagement Présentation Diapositives Bibliographie Questions Les vertus de la marche Plan Rappels sur l agilité Scrum : une implantation de l agilité Scrum ou XP? Conclusion Historique sélectif
Plus en détailUE C avancé cours 1: introduction et révisions
Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple
Plus en détailCours 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étailTP 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étailStage Ingénieur en développement logiciel/modélisation 3D
Ingénieur en développement logiciel/modélisation 3D Schlumberger recrute un(e) stagiaire ingénieur en modélisation 3D pour la plate-forme Petrel. Vous serez intégré(e) au sein d une équipe innovante, Petrel
Plus en détailFlux de données Lecture/Ecriture Fichiers
Flux de données Lecture/Ecriture Fichiers 1 Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d
Plus en détailDéveloppement Logiciel
Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles
Plus en détailIntroduction à la modélisation
Formation INRA-ACTA-ICTA Introduction à la modélisation Les modèles mathématiques pour l agronomie et l élevage 2 nde session, du 28 novembre au 1 er décembre 2005 - Informatique et modèles - Nathalie
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailProgrammation MacOSX / ios
Programmation MacOSX / ios Master Ingénierie Informatique 2011-2012 Jean-Baptiste.Yunès@liafa.jussieu.fr deux extensions objets de C : C++ (Stroustrup) Objective-C (Cox & Love) ajout de constructions à
Plus en détailIntroduction au Génie Logiciel
Introduction au Génie Logiciel Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda Qu est-ce que le logiciel? programme, ensemble d instructions Caractéristiques
Plus en détailDafoe Présentation de la plate-forme UIMA
Laboratoire d Informatique de l université Paris-Nord (UMR CNRS 7030) Institut Galilée - Université Paris-Nord 99, avenue Jean-Baptiste Clément 93430 Villetaneuse, France 11 juillet 2007 Plates-formes
Plus en détailEclipse Process Framework et Telelogic Harmony/ITSW
Eclipse Process Framework et Telelogic Harmony/ITSW Boris Baldassari 1 Résumé Une introduction à Eclipse Process Framework (EPF) et au processus OpenUP, et comment tirer profit de ces initiatives dans
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailMéthodologies Orientées-Objet!
MAI NFE103 Année 2013-2014 Méthodologies Orientées-Objet! F.-Y. Villemin (f-yv@cnam.fr) Plan!!Les différentes méthodologies! Démarche! Cycle de vie!!rational Unified Process (RUP)!!La méthode Layman!!Notre
Plus en détailProgrammation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Plus en détailModélisation Conceptuelle et Ingénierie des Systèmes d Information
Modélisation Conceptuelle et Ingénierie des Systèmes d Information Manuel KOLP Alain PIROTTE Université catholique de Louvain, IAG-QANT 1 Place des Doyens, 1348 Louvain-la-Neuve, Belgique, e-mail: kolp@qant.ucl.ac.be,
Plus en détailAnalyse,, Conception des Systèmes Informatiques
Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance
Plus en détailConventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Plus en détail