Plan. Tests. 1. Introduction. 1. Introduction

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

Download "Plan. Tests. 1. Introduction. 1. Introduction"

Transcription

1 Plan Tests Lionel Seinturier Université des Sciences et Technologies de Lille 28/11/06 Tests 1 Lionel Seinturier Tests 2 Lionel Seinturier Objectifs du test de programmes Détecter des erreurs dans un programme "Testing is the process of executing a program with the intent of finding errors" [Myers: The Art of Software Testing. 1979] Autres techniques pour valider un programme preuve : modélisation formelle + établissement de théorèmes vérification : ex model-checking Tests : + facile à appréhender, + proche du code, - coûteux à mettre en oeuvre Mais ne garantît pas que le programme est exempt d'erreur on ne teste que ce à quoi on a pensé "Program testing can be used to show the presence of bugs, but never to show their absence!" [Edsger Dijkstra] Tests 3 Lionel Seinturier Objectifs du test de programmes Les tests sont importants ( monde d'accord) mais les tests tendent à être répoussés à la fin d'un projet plus une erreur est découverte tard, plus elle coûte cher L'écriture de test n'est une tâche dévolue ni aux utilisateurs, ni aux managers, ni aux chefs de projet c'est vraiment une activité de programmeur Tests 4 Lionel Seinturier

2 Différentes catégories de tests boîte blanche boîte noire Tests boîte blanche on a accès à la structure du code ex. : calcul de tous les chemins d'exécution possibles (branches, instructions, ) tests sur chacun de ces chemins Différentes catégories de tests boîte blanche boîte noire Tests boîte noire les + courants aucune connaissance des détails d'implémentation n'est nécessaire on s'en remet à la spécification on vérifie que l'implémentation fournit bien le résultat attendu par la spéc avantage : on peut détecter des situations extrèmes qui ne se manifestent que dans certaines branches inconvénients calcul des chemins souvent long il faut avoir accès au code source Tests 5 Lionel Seinturier Tests 6 Lionel Seinturier Différentes granularités de tests unitaire, intégration, système, recettes Tests unitaires test d'une "unité logicielle" procédural procédure OO méthode test indépendant des autres unités les + faciles à mettre en oeuvre les + fréquents nombreux frameworks disponibles Java : JUnit, Cactus, TestNG, JTiger, wikipedia : +90 frameworks!! dans 35 langages Différentes granularités de tests Tests d'intégration test du comportement d'un ensemble d'unités principales techniques : bouchon de tests, mock objects frameworks : Easy Mock, jmock, Mocquer s'utilisent en complément/avec les frameworks de tests unitaires Tests système tests de l'intégration d'une application complète avec son env. d'exécution (OS, VM, librairies, serveurs, ) Tests de recettes tests effectués en présence du client afin de valider l'application complète Tests 7 Lionel Seinturier Tests 8 Lionel Seinturier

3 Éventail de tests possibles Différentes techniques d'écriture de tests Écriture manuelle par le programmeur, ou celui qui connaît la spécification cas le plus fréquent Génération automatique "force brute" ex: JCrasher outil d'évaluation de la robustesse d'un prog. génère des séquences aléatoires d'appels de méthodes dans le but de détecter celles qui font planter le programme par mutation de tests existants on fait varier les paramètres des tests existants afin de détecter les conditions non couvertes par les tests à partir de spécifications formelles du programme Tests 9 Lionel Seinturier Tests 10 Lionel Seinturier Écriture de programmes testables Pour qu'un programme soit "facilement" testable il faut (souvent) prévoir l'accès à l'état ajout de setter/getter il faut éviter au maximum les effets de bord ex. : lecture au clavier, écriture à l'écran, dans un fichier séparer en 2 parties une méthode avec la fonctionnalité à tester une méthode avec les effets de bord qui appelle la précédente souvent refactorisation de l'application pour accéder éléments à tester mieux : penser à la testabilité en écrivant le programme Sélection du code à tester tester les conditions aux limites paramètre null, tableau vide, valeurs max, min, tester les "grandes catégories" (classes d'équivalence) de comportements dans tels cas, la méthode lève une exception dans tels cas, la méthode retourne null dans tels cas, la méthode retourne une valeur particulière tester les invariants du programme propriété à conserver après chaque opération de modification catégories structurels : ex. : index d'une liste [0..taille_liste] sémantiques : ex. : une liste (auto)-triée doit rester triée cohérence de données ex.: dépôts + retraits = solde ex. : prix TTC = prix HT * TVA Tests 11 Lionel Seinturier Tests 12 Lionel Seinturier

4 Sélection du code à tester tester les invariants du programme cohérence de données ex. : même donnée stockée à endroits du programme dans la même unité ou des unités (cm, inch) intégrité référentielle ex. : vérifier que la bidirectionalité dans une association est conservée tester que les préconditions des méthodes sont respectées tester que les postconditions des méthodes sont respectées Tests 13 Lionel Seinturier Sélection du code à tester lien avec la notion d'assertion / contrat notion introduite dans le langage Eiffel [Meyer 85] programming / design by contract mises en oeuvre en Java instruction assert (à partir JDK 1.4) frameworks Contract4J, Jass, jcontractor, JML, Contrats vs tests contrats intrusifs (certes débraillables) : vérifier sur une application qui s'exécute utiles si les conditions d'exécution sont difficilement reproductibles tests off-line ne modifient pas l'application prise en compte + facile de nombreux scenarii d'exécution Tests 14 Lionel Seinturier Sélection du code à tester on n'écrit pas forcément 1 test / méthode du programme pas de test pour setter/getter méthode de 2 lignes, ce que l'on cherche à tester les "services" rendus par une classe Mesure de la qualité des tests Notion de couverture de code (coverage) % de code couvert par des tests (unitaires, intégration, ) on cherche à vérifier que chaque ligne d'un programme est couvert par au moins un test ne garantît pas la correction indicateur sur le "sérieux" d'un ensemble de tests formes % de méthodes, branches, lignes, instructions outils Cobertura, EMMA, Patchwork, Quilt, Tests 15 Lionel Seinturier Tests 16 Lionel Seinturier

5 Test unitaire Test unitaire Code qui évalue le comportement d'une fonctionnalité la fonctionnalité testée est souvent de granularité fine accumulation de tests de "petites portions" d'un programme Exemples fonctionnalité : ajouter une valeur à une liste (auto)-triée test : vérifier qu'une "grande" valeur est bien placée à la fin fonctionnalité : supprimer un pattern dans une chaîne de caractères test : vérifier que le pattern n'y est plus comportement test : code : code Code du test plus petit que le code du comportement à tester ne contient pas de complexité algorithmique (source d'erreurs) souvent de la forme appel méthode + paramètres d'entrées vérification résultat attendu est bien le bon "prouve" que la fonctionnalité fait ce qu'elle est censée faire augmente la confiance dans la correction de la fonctionnalité on est plus enclin à la réutiliser facilite l'intégration Tests 17 Lionel Seinturier Tests 18 Lionel Seinturier Questions auxquelles permettent de répondre des tests unitaires est-ce que mon code fait ce que je veux qu'il fasse? est-ce qu'il le fait dans toutes les conditions? pas seulement dans le cas nominal standard mais aussi en présence d'exception, de buffer overflow, aux conditions limites (valeurs, charge, ) avantage collatéral des tests ils traduisent l'intention du programmeur spécification light Plan Tests 19 Lionel Seinturier Tests 20 Lionel Seinturier

6 Que tester? Right "tout ce qui est susceptible de provoquer un plantage" principe Right-BICEP Right : est-ce que les résultats sont corrects? B (Boundary) : est-ce que les conditions aux limites sont correctes? I (Inverse) : est-ce que l'on peut vérifier la relation inverse? C (Cross-check) : est-ce que l'on peut vérifier le résultat autrement? E (Error condition) : est-ce que l'on peut forcer l'occurrence d'erreurs? P (Performance) : est-ce que les performances sont prévisibles? validation des résultats en fonction de ce que définit la spécification on doit pouvoir répondre à la question comment sait-on que le programme s'est exécuté correctemment? si pas de réponse spécifications certainement vagues, incomplètes la notion de correction peut évoluer au cours du temps en fonction de l'évolution des besoins, des spécifications, tests = traduction des spécifications Tests 21 Lionel Seinturier Tests 22 Lionel Seinturier Boundary conditions identifier les conditions aux limites de la spécification que se passe-t-il lorsque les données sont anachroniques ex. non correctement formattées ex. : vides ou nulles ex. : 0, 0.0, "", null extraordinaires ex. : pour l'age d'une personne dupliquées ex. : doublon dans un Set non conformes ex. : listes ordonnées qui ne le sont pas désordonnées ex. : imprimer avant de se connecter principe "CORRECT" conformance, ordering, range, reference, existence, cardinality, time Tests 23 Lionel Seinturier Boundary conditions Conformance données doivent souvent respecter un format bien particulier format de fichier, (voir RFC 822), URL, tester les cas où les données ne respectent pas le format Ordering l'ordre des données dans une structure peut avoir de l'importance tester les cas où l'ordre n'est pas respecté Range situation où une donnée a moins de valeurs légales que son type ex. int angle invariants : le # de données dans un buffer fini tjrs à [0..max] tester les valeurs qui sont en dehors de l'intervalle Tests 24 Lionel Seinturier

7 Boundary conditions Reference les dépendances de la méthode à tester avec le reste de l'application pré et post-conditions ex. : ne pouvoir faire pop() sur une pile vide cf. les diagrammes états/transitions tester ce qui n'est pas dans le diagramme Boundary conditions Time les cas où l'ordre dans le temps à de l'importance ex. : pas de logout() avant login() Existence que se passe-t-il lorsque la valeur attendue n'existe pas? pas de Client associé à une Facture Cardinality que se passe-t-il avec les valeurs "remarquables"? 0, 1, -1, Integer.MAX_VALUE, Integer.MIN_VALUE, Tests 25 Lionel Seinturier Tests 26 Lionel Seinturier Inverse Cross-check Identifier les relations inverses les algorithmes équivalents (cross-check) qui permettent de vérifier le comportement public void testsquarerootusinginverse() { double x = mysquareroot(4.0); assertequals( 4.0, x*x, ); public void testsquarerootusingstd() { double x1 = mysquareroot(4.0); double x2 = Math.sqrt(4.0); assertequals( x2, x1, ); Error condition Performance Que se passe-t-il en cas de disque, mémoire, plein perte de connexion réseau Est-ce que le système réagit de façon non exponentielle à une montée en charge? ex. : vérifier qu'un élément n'est pas dans une liste vérifier que le temps est linéaire avec la taille de la liste application continue de répondre en présence d'une surcharge du système? quasiment un domaine à part entière nombreux frameworks d'injection de charge et d'identification des parties d'application coûteuses (Eclipse TPTP, ObjectWeb, CLIF, ) Tests 27 Lionel Seinturier Tests 28 Lionel Seinturier

8 Plan Anti-pattern le contraire d'un pattern les mauvaises pratiques à éviter assert manquant asserts multiples utilisation du mauvais assert test trop compliqué dépendances externes récupération d'exceptions non prévues Tests 29 Lionel Seinturier Tests 30 Lionel Seinturier Assert manquant un test qui ne teste rien inutile dans 99% des cas 1% : pas de résultat attendu, mais vérification qu'il n'y a pas d'exception utilité : non regression par rapport à un bug précédent Asserts multiples pas une bonne idée les tests doivent rester courts + facile à comprendre + facile d'identifier les causes des erreurs détectées par les tests - de risque d'erreur dans les tests si besoin de partage de code entre parties à tester setup Asserts multiples public void testsomething() { //... asserttrue(condition1); asserttrue(condition2); asserttrue(condition3); public void setup() { //... public void testsomething1() { asserttrue(condition1); public void testsomething2() { asserttrue(condition2); public void testsomething3() { asserttrue(condition3); Tests 31 Lionel Seinturier Tests 32 Lionel Seinturier

9 Utilisation du mauvais assert appel à asserttrue avec un true codé en dur : non asserttrue( "Object must be the same", expected == actual ); asserttrue( "Objects must be equals", expected.equals(actual) ); asserttrue( "Object must be null", actual == null ); asserttrue( "Object must be non null", actual!= null ); utiliser l'assert correspondant assertsame( "Object must be the same", expected, actual ); assertequals( "Objects must be equals", expected, actual ); assertnull( "Object must be null", actual ); assertnotnull( "Object must be non null", actual ); plus clair précise l'intention du testeur Test trop compliqué il ne faut pas avoir à tester le test pour se convaincre qu'il est bon Dépendances externes éviter les dépendances vers l'environnement SGBD, fichiers, librairies, socket, il ne faut qu'il y ait des éléments trop compliqués à mettre en place sinon les tests ne seront pas exécutés utiliser des mocks pour remplacer les librairies faire en sorte d'inclure toutes les données nécessaires avec les tests s'il faut vraiment un SGBD, envisager l'emploi de SGBD en mémoire (par ex. HSQLDB) Tests 33 Lionel Seinturier Tests 34 Lionel Seinturier Récupération d'exceptions code "normal" récupérer les exceptions tests non public void testcalculation() { try { deepthought.calculate(); assertequals("calculation wrong", 42, deepthought.getresult()); catch(calculationexception ex) { Log.error("Calculation caused exception", ex); raté! JUnit ne détectera pas que le test a échoué Récupération d'exceptions 2ème essai public void testcalculation() { try { deepthought.calculate(); assertequals("calculation wrong", 42, deepthought.getresult()); catch(calculationexception ex) { Log.error("Calculation caused exception", ex); fail("calculation caused exception"); encore raté! test échoue effectivement mais on perd la source de l'erreur (StackTrace) Tests 35 Lionel Seinturier Tests 36 Lionel Seinturier

10 Récupération d'exceptions la bonne solution public void testcalculation() throws CalculationException { deepthought.calculate(); assertequals("calculation wrong", 42, deepthought.getresult()); les exceptions sont ce qui est recherché par les tests Plan Tests 37 Lionel Seinturier Tests 38 Lionel Seinturier Concevoir/refactoriser en vue du test Séparer les préoccupations Concevoir/refactoriser en vue du test Séparer les préoccupations Une préoccupation un ensemble de fonctionnalités ayant un lien logique entre elles notion floue : plus un principe, une "idée" qu'une définition formelle variable : en fonction des développeurs, des besoins, de l'évolution Exemple application de gestion de clientèle ajouter/supprimer clients gérer données client affichage graphique GUI sauver/restaurer les données dans un fichier Tests 39 Lionel Seinturier Tests 40 Lionel Seinturier

11 Concevoir/refactoriser en vue du test Séparer les préoccupations pouvoir tester les différentes parties sans avoir à se préoccuper du reste plus le programme est modulaire plus il est facile à appréhender, concevoir, tester plus les erreurs sont facilement identifiables écriture des tests occasion de refactoriser bénéficie aussi en terme de conception S'organiser pour faciliter la testabilité 1 classe de test par classe à tester nom des classes de test le même que la classe à tester préfixé par Test les classes de test dans le même package mais dans des hiérarchies de répertoire // src/org/foo/maclasse.java test/org/foo/testmaclasse.java fréquence d'exécution des tests chaque fois qu'une nouvelle classe / méthode significative est ajoutée à chaque résolution de bug en cas de travail collabortif (CVS/SVN, ) à chaque récupération des mises à jour à partir du référentiel éventuellement périodiquement (gros projets) Tests 41 Lionel Seinturier Tests 42 Lionel Seinturier Tests dits de non régression chaque découverte de bug doit donner lieu à l'écriture d'un test caractérisant le bug objectif : faire en sorte que le bug ne réapparaisse pas ultérieurement (non régression) Tests et logiciels patrimoniaux (legacy) Bibliographie A. Hunt, D. Thomas. Pragmatic Unit Testing G. Myers, C. Sandler, T. Badgett, T. Thoma. The Art of Software Testing. 2nd Edition. a priori non conçus pour les tests écrire des tests pour les fonctionnalités critiques pour les fonctionnalités dont on sait qu'elles sont mal écrites (donc les + susceptibles de provoquer des erreurs) en fonction des bugs découverts (non regression) Tests 43 Lionel Seinturier Tests 44 Lionel Seinturier

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme?

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme? Validation par le test Objectifs du cours d'aujourd'hui Donner des réponses aux questions suivantes : Lydie du Bousquet 2 Qu est-ce que tester un programme? Exercice 1 : Inscrivez sur une feuille ce que

Plus en détail

Tests unitaires avec JUnit

Tests unitaires avec JUnit Tests unitaires avec JUnit Olivier Mangez Cross Systems o.mangez@cross-systems.com Les tests unitaires : menés par les développeurs au niveau de la classe, de la méthode ils répondent à la question : «est-ce

Plus en détail

Eléments pratiques de test des Hiérarchies et Frameworks

Eléments pratiques de test des Hiérarchies et Frameworks Eléments pratiques de test des Hiérarchies et Frameworks Notes de cours Christophe Dony Master Info Pro - Université Montpellier-II 1 Introduction 1.1 Définitions Génie Logiciel No 18, Mars 1990. EC2.

Plus en détail

Vérification et Validation

Vérification et Validation Vérification et Validation Génie Logiciel Master 1 II Mihaela Sighireanu Objectifs I. Introduire la vérification et la validation (V&V) du logiciel et comprendre leurs différences. II.Définir le plan de

Plus en détail

Automatisation en génie logiciel

Automatisation en génie logiciel Automatisation en génie logiciel Plan: Pourquoi et quoi automatiser? Gestion de configuration logicielle. Intégration continue. Traçabilité des changements. Tests unitaires automatisés. 1 Automatisation

Plus en détail

Test et cycle logiciel

Test et cycle logiciel Test et cycle logiciel Fabrice Bouquet JDEV 2013 5 septembre 2013 INRIA / CNRS Université de Franche-Comté Fabrice Bouquet Test 1 / 59 Plan 1 Test 2 Test Structurel 3 Test fonctionnel 4 Calcul de données

Plus en détail

Mise en œuvre des tests logiciels

Mise en œuvre des tests logiciels Mise en œuvre des tests logiciels support du cours de «Techniques de Développement» Sébastien Faucou Université de Nantes 2007-2008 Plan 1 Introduction 2 Concepts de base Les cibles Les objectifs Les techniques

Plus en détail

Processus d Informatisation

Processus d Informatisation Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

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

Environnements de développement (intégrés) Environnements de développement (intégrés) 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étail

Génie logiciel avancé

Génie logiciel avancé Université Paris-Sud L3 MIAGE apprentissage Année 2014-2015 Génie logiciel avancé Introduction Delphine Longuet delphine.longuet@lri.fr Logiciel : définitions Ensemble d'entités nécessaires au fonctionnement

Plus en détail

Principes de Paquetage. Packaging et Marketing

Principes de Paquetage. Packaging et Marketing Génie Logiciel Conception Principes de Paquetage Packaging et Marketing La conception Définition Générale : Activité créatrice qui consiste à élaborer un projet, ou une partie des éléments le constituant,

Plus en détail

Le génie logiciel. maintenance de logiciels.

Le génie logiciel. maintenance de logiciels. Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction

Plus en détail

Cours 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 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étail

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

Test et Validation du Logiciel

Test et Validation du Logiciel Test et Validation du Logiciel McInfo4_ASR Tests Janvier 2009 Patrick FELIX patrick.felix@labri.fr IUT Bordeaux 1 Plan Introduction : Pourquoi de la VVT? 1 Introduction au test de logiciels 2 Le test fonctionnel

Plus en détail

Tests unitaires avec Visual Studio

Tests unitaires avec Visual Studio Tests unitaires avec Visual Studio (source MSDN) Rappels (initiation aux tests unitaires SI6 Tp6) Les tests unitaires offrent aux développeurs une méthode rapide pour rechercher des erreurs de logique

Plus en détail

Périmètre de la solution

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

Plus en détail

Guichet automatique de banque

Guichet automatique de banque Guichet automatique de banque Mastère 2004 1 Guichet automatique de banque : GAB Objectif : Illustrer la vue fonctionnelle et particulièrement la définition des cas d utilisation. 1. Spécification du problème

Plus en détail

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

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

Plus en détail

Projet Informatique. Philippe Collet. Licence 3 Informatique S5 2014-2015. http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415

Projet Informatique. Philippe Collet. Licence 3 Informatique S5 2014-2015. http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415 Projet Informatique Philippe Collet Licence 3 Informatique S5 2014-2015 http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415 Réalisation d'un développement de taille conséquente? r Firefox? Ph.

Plus en détail

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Durée de l'épreuve : 2 heures TRÈS IMPORTANT : respectez l'ordre des questions. La lisibilité sera un critère important pour

Plus en détail

Direction Générale des Études Technologiques. Institut Supérieur des Etudes Technologiques de Djerba Département Technologies de l informatique

Direction Générale des Études Technologiques. Institut Supérieur des Etudes Technologiques de Djerba Département Technologies de l informatique Direction Générale des Études Technologiques Institut Supérieur des Etudes Technologiques de Djerba Département Technologies de l informatique Génie Logiciel Mejdi BLAGHGI m.blaghgi@gmail.com Chapitre

Plus en détail

Conduite de projets et architecture logicielle

Conduite de projets et architecture logicielle s et architecture logicielle ABCHIR Mohammed-Amine Université Paris 8 15 février 2011 1/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 1 /

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

SITE WEB E-COMMERCE ET VENTE A DISTANCE

SITE WEB E-COMMERCE ET VENTE A DISTANCE Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : aitnasser.btissam123@gmail.com GSM : Organisme

Plus en détail

Développement d'un projet informatique

Développement d'un projet informatique Développement d'un projet informatique par Emmanuel Delahaye (Espace personnel d'emmanuel Delahaye) Date de publication : 27 janvier 2008 Dernière mise à jour : 25 avril 2009 Cet article présente un certain

Plus en détail

Tutorat C/Unix : Un Rapido Client/Serveur

Tutorat C/Unix : Un Rapido Client/Serveur Tutorat C/Unix : Un Rapido Client/Serveur Nouredine Melab 1 Description générale du projet 1.1 Objectif L'objectif du projet est de concevoir et de réaliser un jeu de hasard dénommé Rapido. Un serveur

Plus en détail

Cours de Programmation Orientée Objet

Cours de Programmation Orientée Objet Contrat et application à la librairie standard JAVA mailto:marc.champesme@lipn.univ-paris13.fr 6 février 2011 1 Qu est ce qu une classe? Un exemple en JAVA Résumé Expression du contrat Par des commentaires

Plus en détail

M2 TIIR (2013-2014) Bilel Derbel

M2 TIIR (2013-2014) Bilel Derbel M2 TIIR (2013-2014) Bilel Derbel Notre but est de concevoir une application générique sur grid5000 qui permet de déployer des calculs parallèles de façon transparente Plus précisément, nous nous plaçons

Plus en détail

Annexe : La Programmation Informatique

Annexe : 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étail

Installation de IBM SPSS Modeler Server Adapter

Installation de IBM SPSS Modeler Server Adapter Installation de IBM SPSS Modeler Server Adapter Table des matières Avis aux lecteurs canadiens...... v IBM SPSS Modeler Server Installation de l'adaptateur............ 1 A propos de l'installation de

Plus en détail

Axel Menu. Publier facilement et rapidement des applications sous Windows TSE. Novembre 2008 - Réf. : axmenuf-11

Axel Menu. Publier facilement et rapidement des applications sous Windows TSE. Novembre 2008 - Réf. : axmenuf-11 Axel Menu Publier facilement et rapidement des applications sous Windows TSE Novembre 2008 - Réf. : axmenuf-11 La reproduction et la traduction de ce manuel, ou d'une partie de ce manuel, sont interdites.

Plus en détail

Qualité du logiciel: Méthodes de test

Qualité du logiciel: Méthodes de test Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution

Plus en détail

Génie logiciel. Concepts fondamentaux. Bruno MERMET, Université du Havre 1

Génie logiciel. Concepts fondamentaux. Bruno MERMET, Université du Havre 1 Génie logiciel Concepts fondamentaux Bruno MERMET, Université du Havre 1 Nécessité du Génie Logiciel Bruno MERMET, Université du Havre 2 Développement d un logiciel Caractéristiques souhaitées : Adéquation

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Vérifier la qualité de vos applications logicielle de manière continue

Vé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étail

Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau)

Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau) Année 2008-2009 Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau) Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Introduction

Plus en détail

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

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

Plus en détail

Élasticité des applications à base de services dans le Cloud

Élasticité des applications à base de services dans le Cloud 1/40 Élasticité des applications à base de services dans le Cloud Mourad Amziani 12 Tarek Melliti 1 Samir Tata 2 1 IBISC, EA4526, Université d'évry Val-d'Essonne, Évry, France 2 UMR CNRS Samovar, Institut

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET 1 Tianxiao LIU Licence Professionnelle Réseaux & Sécurité Université de Cergy-Pontoise http://depinfo.u-cergy.fr/~tliu/lpg.php PLAN Objectif et

Plus en détail

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition) Avant-propos 1. Objectifs du livre 13 2. Structure du livre 14 Un projet informatique 1. Les enjeux 17 1.1 Les buts d'un projet 17 1.2 Les protagonistes d'un projet 18 1.3 Exemples de projets 19 2. Les

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

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Techniques de Développement

Techniques de Développement Techniques de Développement Quelques définitions relatives au développement de logiciel Sébastien Faucou Université de Nantes (IUT de Nantes, département Informatique) Licence Professionnelle Systèmes

Plus en détail

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, 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étail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture 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étail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

COURS MGL 804 SUJET : ÉVALUATION DE LA MAINTENABILITÉ DES PRODUITS LOGICIELS DU CCI RAPPORT FINAL. Franklin Kamsong

COURS MGL 804 SUJET : ÉVALUATION DE LA MAINTENABILITÉ DES PRODUITS LOGICIELS DU CCI RAPPORT FINAL. Franklin Kamsong COURS MGL 804 SUJET : ÉVALUATION DE LA MAINTENABILITÉ DES PRODUITS LOGICIELS DU CCI RAPPORT FINAL Franklin Kamsong ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC MONTRÉAL HIVER 2012 TABLE DES MATIÈRES

Plus en détail

Quatrième partie IV. Test. Test 15 février 2008 1 / 71

Quatrième partie IV. Test. Test 15 février 2008 1 / 71 Quatrième partie IV Test Test 15 février 2008 1 / 71 Outline Introduction 1 Introduction 2 Analyse statique 3 Test dynamique Test fonctionnel et structurel Test structurel Test fonctionnel 4 Conclusion

Plus en détail

Bases 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 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étail

Gé nié Logiciél Livré Blanc

Gé nié Logiciél Livré Blanc Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc Xavier.Blanc@labri.fr Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer

Plus en détail

Formation Conception orientée objet

Formation Conception orientée objet Objectif La programmation orientée objet (POO) est un paradigme de programmation informatique qui consiste en la définition et l'interaction de briques logicielles appelées objets. Un objet représente

Plus en détail

Initiation au langage Python

Initiation au langage Python Chapitre 1 : Gérard Swinnen est professeur et conseiller pédagogique à l Institut St-Jean Berchmans à Ste-Marie (Liège). Ce cours d'initiation est essentiellement extrait de son ouvrage «Apprendre à programmer

Plus en détail

LO21 : QCalculator. Calculatrice en notation polonaise inversée. Johan Soulet & Jonathan Jehanne Université de Technologie de Compiègne

LO21 : QCalculator. Calculatrice en notation polonaise inversée. Johan Soulet & Jonathan Jehanne Université de Technologie de Compiègne LO21 : QCalculator Calculatrice en notation polonaise inversée Johan Soulet & Jonathan Jehanne Université de Technologie de Compiègne Printemps 2012 Introduction Ce document présente le résultat du projet

Plus en détail

Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe

Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe Documentation de l'application de gestion de courrier évolutive (G.E.D.) pour la Mairie de Voreppe Tony Galmiche le 28 février 2011 (modifiée alb) Sommaire 1 - Accès au portail de l'application GED...3

Plus en détail

Système Expert pour Smartphones

Système Expert pour Smartphones INSA Rennes Département INFORMATIQUE Système Expert pour Smartphones Rapport de bilan de Planification Olivier Corridor;Romain Boillon;Quentin Decré;Vincent Le Biannic;Germain Lemasson;Nicolas Renaud;Fanny

Plus en détail

Comptabilité - USR. Logiciel : Comptabilité USR - Version 2,16 Documentation réalisée par JJ Gorge Trésorier Tir à l'arc le 04/04/2010 1 / 15

Comptabilité - USR. Logiciel : Comptabilité USR - Version 2,16 Documentation réalisée par JJ Gorge Trésorier Tir à l'arc le 04/04/2010 1 / 15 Logiciel : Comptabilité USR - Version 2,16 Documentation réalisée par JJ Gorge Trésorier Tir à l'arc le 04/04/2010 1 / 15 Table des matières Ecran principal de saisie...3 Ajouter une nouvelle opération

Plus en détail

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Polymorphisme, la classe Object, les package et la visibilité en Java... 1 Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....

Plus en détail

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond

Plus en détail

SOMMAIRE. Travailler avec les requêtes... 3

SOMMAIRE. Travailler avec les requêtes... 3 Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de

Plus en détail

6. Des objets bien conçus

6. Des objets bien conçus Conception objet en Java avec BlueJ une approche interactive 6. Des objets bien conçus David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Conception objet en Java avec

Plus en détail

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint? Plan nitiation au Génie Logiciel Cours 5 ntroduction au π développement agile T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 1/ 28 T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 2/ 28 Bibliographie Plan L informatique

Plus en détail

Analyse de l introduction d anti-patrons de testabilité au cours de développement

Analyse de l introduction d anti-patrons de testabilité au cours de développement Analyse de l introduction d anti-patrons de testabilité au cours de développement Equipe VASCO MUHAMMAD RABEE SHAHEEN LYDIE DU BOUSQUET 22 Octobre 2009 Journée SEmba 1/ 26 Analyse de l introduction d anti-patrons

Plus en détail

FONCTIONNALITES EXTERNES A WEB ACAPPELLA

FONCTIONNALITES EXTERNES A WEB ACAPPELLA FONCTIONNALITES EXTERNES A WEB ACAPPELLA Web Acappella manque de fonctionnalités; pour en obtenir d'autres il faut aller les chercher ailleurs et mettre un peu les mains dans le cambouis. Voici des pistes

Plus en détail

Logiciel de Gestion de Version

Logiciel de Gestion de Version Logiciel de Gestion de Version Git Qu'est-ce qu'un Version Control System (VCS)? Appelé également Logiciel de Gestion de Révision (RCS), un VCS est un outil qui permet de : de suivre l évolution d un code

Plus en détail

CA Desktop Migration Manager

CA Desktop Migration Manager CA Desktop Migration Manager Manuel de configuration du déploiement DMM Service Pack 12.8.01 La présente Documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement (ci-après

Plus en détail

ORDINATEUR DOSSIERS FICHIERS

ORDINATEUR DOSSIERS FICHIERS SÉANCE INFORMATIQUE N 1 ORDINATEUR DOSSIERS FICHIERS Geo-phile : il y a un lien vers un site de définition des termes informatiques. 1/ ORDINATEUR - Disque dur : capacité exponentielle : actuellement plus

Plus en détail

Configuration et utilisation de l'analyseur de Journaux

Configuration et utilisation de l'analyseur de Journaux Le Serveur de communication IceWarp Configuration et utilisation de l'analyseur de Journaux Version 10.3 Juin 2011 Icewarp France / DARNIS Informatique i Sommaire Configuration et utilisation de l'analyseur

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

Méthodes agiles. www.businessinteractif.com CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

Mé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étail

LES TONTONS FLEXEURS

LES TONTONS FLEXEURS LES TONTONS FLEXEURS LES TONTONS FLEXEURS Engagez vous qu ils disaient http://groups.adobe.com/group/504 LES TONTONS FLEXEURS Et choisissez le menu de notre prochain rendez-vous - Workflow Designer Flash

Plus en détail

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION Sage CRM NOTICE The information contained in this document is believed to be accurate in all respects but

Plus en détail

TP 1 : prise en main de C#. Net sous Visual Studio 2010

TP 1 : prise en main de C#. Net sous Visual Studio 2010 Année universitaire : 2014-2015 Responsable : Sonia LAJMI Niveau Matière 2 ème année MPIM Management des Contenus Multimédia TP 1 : prise en main de C#. Net sous Visual Studio 2010 Dans ce tout premier

Plus en détail

Jeu de dames 3D en réseau. Bertolino Marina, Desmeurs David, Elbeze Léa, Jankee Christopher, Shum Cheuk-Fung

Jeu de dames 3D en réseau. Bertolino Marina, Desmeurs David, Elbeze Léa, Jankee Christopher, Shum Cheuk-Fung Jeu de dames 3D en réseau Bertolino Marina, Desmeurs David, Elbeze Léa, Jankee Christopher, Shum Cheuk-Fung Sommaire Introduction Fonctionnalités et règles du jeu de dames Organisation du projet Tickets

Plus en détail

Chapitre 3 Gestion des sauvegardes

Chapitre 3 Gestion des sauvegardes Chapitre 3 Gestion des sauvegardes 1. Notions préalables et terminologie Gestion des sauvegardes 1.1 Consistance, snapshots et VSS L'erreur la plus commune lorsque l'on parle de solutions de sauvegarde,

Plus en détail

Sécurité dans les développements

Sécurité dans les développements HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Sécurité dans les développements Paris, 11 mai 2007 Hervé Schauer

Plus en détail

Modélisation Principe Autre principe

Modélisation Principe Autre principe Modélisation Principe : un modèle est une abstraction permettant de mieux comprendre un objet complexe (bâtiment, économie, atmosphère, cellule, logiciel, ). Autre principe : un petit dessin vaut mieux

Plus en détail

Outils de test et d analyse logiciels pour la productivité et la qualité

Outils de test et d analyse logiciels pour la productivité et la qualité Principes, techniques et outils de test Outils de test et d analyse logiciels pour la productivité et la qualité Klaus Lambertz, Co-fondateur de Verifysoft Mulhouse, le 30 novembre 2009 Agenda Verifysoft

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence 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étail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

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

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

Plus en détail

UNE APPROCHE DES PGI AVEC TINYERP : LE CONTEXTE ZENTA

UNE APPROCHE DES PGI AVEC TINYERP : LE CONTEXTE ZENTA UNE APPROCHE DES PGI AVEC TINYERP : LE CONTEXTE ZENTA Marie-pascale Delamare réseau CERTA Octobre 2007 Plan de la présentation Présentation du contexte Zenta ; Démonstration du contexte Zenta dans Tiny

Plus en détail

GESTION DES BONS DE COMMANDE

GESTION DES BONS DE COMMANDE GESTION DES BONS DE COMMANDE P1 P2 Table des Matières LA GESTION DES BONS DE COMMANDE 4 PREMIERE EXECUTION DU LOGICIEL 5 DEFINITION DES PARAMETRES 8 Services 9 Comptes Utilisateurs 10 Adresse de livraison

Plus en détail

Test des applications Spring

Test des applications Spring 6 Test des applications Spring Les tests sont une des activités fondamentales du développement logiciel. Ce chapitre montre comment tester une application reposant sur Spring. Les types de tests abordés

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

dans laquelle des structures vont être créées pour une ou plusieurs applications.

dans laquelle des structures vont être créées pour une ou plusieurs applications. Création d'une nouvelle base de données A. Vue d'ensemble 1. Étapes de création d'une nouvelle base de données pour une application Le processus complet de création d'une nouvelle base de données pour

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

IFT2251 Introduction au génie logiciel Plan de cours. 2. Description du cours et objectifs généraux

IFT2251 Introduction au génie logiciel Plan de cours. 2. Description du cours et objectifs généraux IFT2251 Introduction au génie logiciel Plan de cours Été 2008 Yann-Gaël Guéhéneuc 1. Introduction Les exigences et les attentes à l égard de la qualité logicielle sont de plus en plus grandes. La taille

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail