MI3/GL Cours de Génie Logiciel Programmation Orientée Objet (Avancée)
|
|
- Jeanne Picard
- il y a 8 ans
- Total affichages :
Transcription
1 Aperçu du cours Avant propos Définitions MI3/GL Cours de Génie Logiciel Programmation Orientée Objet (Avancée) Daniel Le Berre CRIL-CNRS FRE 2499, Université d Artois, Lens, FRANCE {leberre}@cril.univ-artois.fr 1 er novembre 2004 MI3GL 2004/2005 1
2 Aperçu du cours Avant propos Définitions Avant propos Définitions MI3GL 2004/2005 2
3 Aperçu du cours Avant propos Définitions Au début... Le génie logiciel (software engineering) est un terme qui est apparu lors d une conférence de l OTAN, du 7 au 11 octobre 1968 à Garmisch-Partenkirchen (Allemagne). Il a été défini par un groupe de scientifiques dans le but de résoudre deux problèmes liés à l augmentation en puissance des ordinateurs 1. les logiciels ne sont pas stables 2. il est très difficile de réaliser dans les délais prévus un logiciel satisfaisant son cahier des charges. MI3GL 2004/2005 3
4 Aperçu du cours Avant propos Définitions Aujourd hui 40 ans après, les mêmes problèmes sont observés. La POO améliore le développement des applications depuis 20 ans. Pas de méthode universelle pour garantir le succès d un projet informatique. On connait quelques pièges à éviter. Erreurs suivantes trouvées dans [2], proviennent de [12]. MI3GL 2004/2005 4
5 Aperçu du cours Avant propos Définitions Bug de l an 2000, de l année bisextile Un supermarché a reçu une amende de 1000 US$ pour avoir vendu de la viande ayant dépassé sa date limite de consommation d un jour, un 29 Février Le logiciel imprimant les dates limite de consommation ne prennait pas en compte les années bisextiles. MI3GL 2004/2005 5
6 Aperçu du cours Avant propos Définitions Mauvaise utilisation d interface Le 10 avril 1990 ; à Londre, un métro est parti de sa station sans son conducteur. Le conducteur avait appuyé sur le bouton qui démarrait le train, en laissant le soin au système de sécurité des portes des wagons qui empêche le métro de démarrer portes ouvertes de faire véritablement démarrer le métro. Ce jour là, le conducteur était sortit du train pour fermer une porte restée coincée... MI3GL 2004/2005 6
7 Aperçu du cours Avant propos Définitions Securité Le 2 novembre 1988, un ver apparu sur Internet. Le programme explaitait des vulnérabilités de services réseaux, comme par exemple le programme sendmail, pour se propager d un ordinateur à un autre. Malheureusement, une fois sur la machine, le ver consommait toutes ses ressources de calcul et la plantait. On estime que 10% des machines qui étaient reliées à Internet furent touchées. L éradication du ver pris plusieurs jours. MI3GL 2004/2005 7
8 Aperçu du cours Avant propos Définitions Retard et dépassement de budget En 1995, des problèmes dans un système automatique de prise en charge des bagages à l aéroport International de Denver entrainait la détérioration des bagages. L aéroport a ouvert avec 16 mois de retard, un dépassement de budget de 3.2 milliards de $, avec un système de gestion de bagage presque manuel. MI3GL 2004/2005 8
9 Aperçu du cours Avant propos Définitions Pourquoi faire simple... L avion cargo C-17 de McDonnell Douglas dépassa son budget de 500 millions de $ à cause de ses logiciels embarqués. Le C-17 était composé de 19 ordinateurs de bord, de 80 microprocesseurs et de 6 langages de programmation différents. MI3GL 2004/2005 9
10 Aperçu du cours Avant propos Définitions Pourtant... Nos systèmes d exploitations sont de plus en plus complexes et fonctionnent! Nos applications aussi : suites office, jeux, environnements de développement, etc. Les avions de ligne (et maintenant les voitures) sont gérés par des logiciels et il y a peu de problèmes. Qu est ce qui fait que certains projets aboutissent et d autres pas? L équipe de développement! MI3GL 2004/
11 Aperçu du cours Avant propos Définitions Mes Mentors Bertrand Meyer[11] Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides[6] Martin Fowler[3, 4, 5] Kent Beck[1] Robert C. Martin[9, 10] Ward Cunningham Grady Booch, Jim Rumbaugh et Ivar Jacobson MI3GL 2004/
12 Aperçu du cours Avant propos Définitions Logiciel/Software Ce n est pas seulement un programme pour ordinateur. Il s agit aussi de toutes les données qui lui sont associées : documentation, fichiers de configuration etc. Par exemple, un logiciel est souvent constitué de un ou plusieurs programmes, des fichiers de configuration, de la documentation du système qui indique la structure du système et la documentation utilisateur qui indique comment utiliser le système, avec éventuellement un site web qui permet aux utilisateurs d accéder à des informations récentes sur le produit. On distingue généralement deux types de logiciels : les logiciels génériques et les logiciels à façon (progiciels). MI3GL 2004/
13 Aperçu du cours Avant propos Définitions Processus de développement de logiciel/software process Il s agit des activités et des résultats associés qui conduisent à la création d un logiciel. Il y a quatre activités principales : Spécification, Développement, Validation et Evolution. MI3GL 2004/
14 Aperçu du cours Avant propos Définitions Génie Logiciel le génie logiciel est donc l art de spécifier, de concevoir de réaliser, et de faire évoluer, avec des moyens et dans des délais raisonnables, des programmes, des documentations et des procédures de qualité en vue d utiliser un ordinateur pour résoudre certains problèmes. [7] MI3GL 2004/
15 Aperçu du cours Avant propos Définitions Vers un bon logiciel Qu est ce qui fait un bon logiciel? Evolutivité Fiabilité (sécurité, robustesse, sûreté) Efficacité (CPU, mémoire, etc) Ergonomie MI3GL 2004/
16 De l utilité des tests Vérifier/Garantir le comportement du programme Aider du développement du programme Donner confiance au programmeur MI3GL 2004/
17 Les tests du programmeur Programmer Testing des tests écrits par les programmeurs plus général que unit testing dédiés au test des objets suivent le modèle : créer un objet invoquer une méthode vérifier le résultat conditions nécessaires : être automatisés être explicites faciles à exécuter MI3GL 2004/
18 Mais aussi... Les tests se font aussi dans le code les assertions permettent de vérifier que ce qui ne devrait pas arriver n arrive effectivement pas les exceptions permettent de se prémunir d une mauvaise utilisation du code. MI3GL 2004/
19 Assertion: syntaxe Pour vérifier le comportement du code que l on écrit. Aussi appelé white box testing. assert x>0; assert x>0 : x negatif ou nul ; Les assertions peuvent être activées au désactivées à l exécution du programme : java -ea MonProg # assertions activees java MonProg # assertions desactivees Laisser les assertions activées pendant le développement voire en production MI3GL 2004/
20 Implantation des assertions en Java assert x>0 : texte est traduit par : if (ASSERTION_ENABLED&&!(x>0)) { throw new AssertionError(texte); } Problèmes potentiels : affecte les performances du programme? OUI [13] affecte la taille des programmes? OUI MI3GL 2004/
21 Programmation assertive (assertive programming) Si cela ne peut pas arriver, utiliser une assertion pour vérifier que cela n arrivera pas [8] attention aux effets de bord : ne jamais exécuter une méthode qui doit être appelée dans un assert. MI3GL 2004/
22 Exercice : Une pile MI3GL 2004/
23 a should be strictly positive */ public int faitle(int a) throws Exception { if (a<=0) { throw new Exception( a should be positive ); }... } try { int i = faitle(v); // tout va bien } catch (MyException e) { // exception lancee, il faut la gerer } finally { // Dans tous les cas... (optionnel) } MI3GL 2004/ Exceptions: syntaxe
24 Quand utiliser des exceptions? Pour gérer des cas exceptionnels Pour s assurer que les méthodes publiques sont appelées convenablement. Pour indiquer un état inattendu de l objet Il y a trois types d exceptions (Throwable) en Java : Exceptions d exécution runtime exception : ce sont les seules exceptions qui peuvent être lancées sans être déclarées. Erreurs Error : problèmes graves (AssertionError, OutOfMemoryError,. Les autres : Il faut absolument les déclarer pour les utiliser, sinon, on obtient une erreur à la compilation. MI3GL 2004/
25 Quelques exceptions utiles en Java NullPointerException InvalidArgumentException : quand l un des arguments de la méthode ne respecte pas les préconditions. UnsupportedOperationException : quand le corps d une méthode n a pas encore été implanté ou quand une opération optionnelle n est pas disponible. NoSuchElementException IndexOutOfBoundException MI3GL 2004/
26 public TimeoutException() { super(); } public TimeoutException(String message) { super(message); } super(message, cause); } public TimeoutException(Throwable cause) { super(cause); } MI3GL 2004/ Créer ses propres exceptions Il suffit de créer une sous classe de java.lang.exception public class TimeoutException extends Exception {
27 Conception par contrat Design by Contract proposé par Bertand Meyer[11] Utilisé dans le langage Eiffel. précondition ce qui doit être vrai à l appel de la routine postcondition ce que la routine garantie ; l éat du monde après l appel à la routine. invariant de classe une condition qui est toujours vérifiée du point de vue de l appelant. si toutes les préconditions des routines sont vérifiées, alors les routines doivent garantir que les postconditions et les invariants de classe seront vérifiés après exécution. MI3GL 2004/
28 Exemple /** * Liste ordonnée forall Node n in elements() * n.prev()!=null * implies n.value().compareto(n.prev.value()) > 0 */ public class DBCList { /** contains(anode) == false contains(anode) == true */ public void insertnode(final Node anode) { //... MI3GL 2004/
29 Conception par contrat en Java icontract n est plus disponible. Il n y a plus de bonne solution. utiliser des assertions ou des exceptions pour vérifier les préconditions utiliser des assertions pour vérifier les postconditions pas de mécanisme pour les invariants de classe: il faut les ajouter à la main dans le code à l aide d assertions par exemple. Utiliser la programmation par aspect MI3GL 2004/
30 Kent Beck. extreme Programming explained, Embrace Change. Addison Wesley, Bernd Bruegge and Allen H. Dutoit. Object Oriented Software Engineering: Conquering Complex and Changing Systems. Prentice Hall, ISBN: Martin Fowler. Refactoring: Improving the Design of Existing Code. Object Technology Series. Addison Wesley, Indispensable! Martin Fowler. Patterns of Enterprise Application Architecture. The Addison-Wesley Signature Series. Addison Wesley, MI3GL 2004/
31 Martin Fowler. 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, A posséder absolument! Marie-Claude Gaudel, Bruno Marre, Françoise Schienger, and Gilles Bernot. Précis de Génie Logiciel. Enseignement de l Informatique. Masson, ISBN : MI3GL 2004/
32 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, Bertrand Meyer. Conception et programmation orientées objet. MI3GL 2004/
33 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, 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é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é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é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é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é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é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é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étailExpression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e
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
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailCorrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
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é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étailOCL - 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é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é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é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é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é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é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étailIFT2255 : 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é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é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étailPlan. 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é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étailExclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011
Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique
Plus en détailPrésentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...
Au programme Conception Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille 1 Présentation L UE COO est le prolongement immédiat de l UE POO du S4 informatique. cf. http://portail.fil.univ-lille1.fr/portail/ls4/poo
Plus en détailLes méthodes itératives. Hugues MEUNIER
Les méthodes itératives Hugues MEUNIER INTRODUCTION. Toute les méthodes ont le même but : la maîtrise du budget, du planning et de la qualité des projets de développement informatique Plusieurs approches
Plus en détailLOG4430 : Architecture logicielle et conception avancée
LOG4430 : Architecture logicielle et conception avancée Yann-Gaël Guéhéneuc Cours récurrent Informaticien(ne)s célèbres Département de génie informatique et de génie logiciel École Polytechnique de Montréal
Plus en détailSHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
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 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é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é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é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étailDéveloppement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com
Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend
Plus en détailModélisation de Lignes de Produits en UML *
Modélisation de Lignes de Produits en UML * Tewfik ZIADI, Loïc HELOUET, Jean-Marc JEZEQUEL 2 IRISA, Campus de Beaulieu 35042 RennesCedex, France Tewfik.Ziadi@irisa.fr Loic.Helouet@irisa.fr, Jezequel@irisa.fr
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étailJava c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java
1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit
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é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étailIngé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é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étailChapitre I : le langage UML et le processus unifié
I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et
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étailLes Bonnes PRATIQUES DU TEST LOGICIEL
Les Bonnes PRATIQUES DU TEST LOGICIEL SOMMAIRE Qu est-ce que le test logiciel? Pourquoi le test est-il un maillon crucial de l ingénierie logicielle? Quels sont les différents types de tests? Qu est-ce
Plus en détailCours 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étailDaylight. Démarche ergonomique et RUP. Daylight 2001 Démarche ergonomique et RUP 1/1 07/03/02 CSI_RUPERGO02
Daylight Démarche ergonomique et RUP Daylight 2001 Démarche ergonomique et RUP 1/1 Synthèse Ce document est une synthèse des travaux effectués par Daylight, sur la prise en compte des problématiques ergonomiques
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étailAnnexe : La Programmation Informatique
GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de
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étailTolérance aux Fautes des Grappes d Applications J2EE. Applications Internet dynamiques
Application statique Tolérance aux Fautes des Grappes d Applications J2EE Sara Bouchenak Sacha Krakowiak, Noël de Palma, Stéphane Fontaine Projet SARDES INRIA IMAG CFSE'4, 6-8 avril 2005 Tolérance aux
Plus en détailExceptions. 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étailManagement des processus opérationnels
Ecole Nationale Supérieure de Management Master Management des organisations Management des processus opérationnels Dr TOUMI Djamila Cours n 2: la modélisation des processus opérationnels INTRODUCTION
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étailRemote Method Invocation Les classes implémentant Serializable
Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement
Plus en détailProgrammation Orientée Objet application au langage Java Version Novembre 2007
Programmation Orientée Objet application au langage Java Version Novembre 2007 Mickaël BARON - 2007 mailto:baron.mickael@gmail.com ou mailto:mickael.baron@serli.com SERLI informatique SERLI : www.serli.com
Plus en détailLMI 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é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étailMéthodes agiles. www.businessinteractif.com CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.
Méthodes agiles www.businessinteractif.com Jean-Louis Bénard jlb@businessinteractif.fr CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS 0 20 mai 2002 Sommaire Méthodes agiles : une réponse à un malaise?
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étailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailCOMPARAISONDESLANGAGESC, C++, JAVA ET
REPUBLIQUE DU BENIN *******@******* MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE(MESRS) *******@******* UNIVERSITE D ABOMEY CALAVI(UAC) *******@******* ECOLE POLYTECHNIQUE D ABPOMEY
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailPresses des MINES - TRANSVALOR, 60, boulevard Saint-Michel - 75272 Paris Cedex 06 - France
Valérie Fernandez, Thomas Houy, Carine Khalil, Les méthodes agiles en développement informatique, Paris : Presses des Mines, collection Vademecum, 2013. Presses des MINES - TRANSVALOR, 60, boulevard Saint-Michel
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étailProgrammation Par Objets
Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets
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é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étailSIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault
SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications
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étailContexte et motivations Les techniques envisagées Evolution des processus Conclusion
Vérification de logiciels par analyse statique Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Contexte et motivations Specification Design architecture Revues and
Plus en détailLe Guide Pratique des Processus Métiers
Guides Pratiques Objecteering Le Guide Pratique des Processus Métiers Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam 21 avenue Victor Hugo 75016
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étailApproche méthodologique pour la modélisation des processus de l entreprise
Approche méthodologique pour la modélisation des processus 1 Approche méthodologique pour la modélisation des processus de l entreprise Abdennebi TALBI Professeur à l Ecole Supérieure de Technologie, Route
Plus en détailTP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château
Rappel TP3 Intégration de pratiques agiles En direct-live du château 40 41 Scénario d intégration agile 1. User Stories (1) 1. Rédiger les User Stories (exigences) 2. Planifier les Itérations (quoi / quand)
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
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é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é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é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é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étailCC30 Certificat de compétence Conception, développement et animation de sites Web
CC30 Certificat de compétence Conception, développement et animation de sites Web UE RSX050 Bases de l informatique Séance 2 UERSX050 Bases de l informatique séance 2-30/10/2009 1 Table des matières Séance
Plus en détailGénéralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code
Généralités javadoc Université de Nice - Sophia Antipolis Richard Grin Version 1.4.1 8/2/11 javadoc produit de la documentation en partant de commentaires particuliers insérés dans le code source des classes
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é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étailBibliographie commentée
Bibliographie commentée par Bernard PICHON DARC, UMR 8629 du CNRS Observatoire de Paris-Meudon 92195 Meudon Cedex Courriel : Bernard.Pichon@obspm.fr En plusieurs parties (en séparant les ouvrages en français
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étailGPC Computer Science
CYCLE ISMIN P2015 GPC Computer Science P LALEVÉE lalevee@emse.fr @p_lalevee A3.01 0442616715 C YUGMA yugma@emse.fr A3.01 0442616715 01/09/2014 Présentation GPC CS - Ph. Lalevée - C Yugma 1 Scolarité Site
Plus en détailErgonomie des Interfaces Homme-Machine
Master SIAD 2 année Ergonomie des Interfaces Homme-Machine Jean-Yves Antoine http://www.sir.blois.univ-tours.fr/~antoine/ Master Informatique Ergonomie des Interfaces Homme-Machine Chapitre 1 Introduction
Plus en détailLe Rational Unified Process
Le Rational Unified Process Philippe Kruchten, Rational Software Canada Janvier 1999 Note : Ce texte est extrait d u livre Philippe Kruchten, Introduction au Rational Unified Process, Editions Eyrolles,
Plus en détail3. 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étailANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE
Université de Fribourg, Suisse Département d'informatique Bachelor en informatique de gestion ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE CELUI-CI PAR DE NOUVELLES FONCTIONNALITES Travail de séminaire
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é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étailFusion : l interopérabilité chez Oracle
Standardisation et interopérabilité Fusion : l interopérabilité chez Oracle Lionel Dubreuil,, Applications Technology Product Manager, Oracle France, lionel.dubreuil@oracle.com 29/03/2006 Page : 1 Oracle
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étail